Sobes.tech
Junior — Middle

როგორ იყოფა ოპერაციული სისტემა ორ პროცესს, რომლებიც ერთ პროცესორულ ბირთვზე დაიწყო?

sobes.tech AI

პასუხი AI-სგან

Աշխատանքային համակարգը օգտագործում է պլանավորիչ (scheduler)՝ CPU-ի ժամանակը բաժանելու համար մի քանի պրոցեսների միջև, նույնիսկ եթե այն ունի միայն մեկ միջուկ:

Հիմնական սկզբունքը՝ ժամանակի բաժանումով բազմակատարություն (time slicing): Պրոցեսները ստանում են ժամանակի քվանտ (time slice), որի ընթացքում նրանք կատարվում են: Քվանտի ավարտից հետո, պլանավորիչը դադարեցնում է ընթացիկ պրոցեսը և անցնում մյուսին:

Սա տեղի է ունենում շատ արագ (միլիսեկունդներ), ստեղծելով միամիտ իրականացման հույզ:

Go-ում, բացի օպերացիոն համակարգից, կա նաև սեփական goroutine պլանավորիչ, որը բաժանում է թեթև հոսքերի (goroutine-ների) կատարմանը մեկ կամ մի քանի համակարգային հոսքերի ներսում, բայց պրոցեսների մակարդակում դա արդեն օպերացիոն համակարգի խնդիրն է։