Junior — Middle
Ինչպե՞ս է օպերացիոն համակարգը բաժանում երկու գործընթացների կատարումը, որոնք սկսվել են նույն պրոցեսորային միջուկում։
sobes.tech AI
Պատասխան AI-ից
Աշխատանքային համակարգը օգտագործում է պլանավորիչ (scheduler)՝ CPU-ի ժամանակը բաժանելու համար մի քանի պրոցեսների միջև, նույնիսկ եթե այն ունի միայն մեկ միջուկ:
Հիմնական սկզբունքը՝ ժամանակի բաժանումով բազմակատարություն (time slicing): Պրոցեսները ստանում են ժամանակի քվանտ (time slice), որի ընթացքում նրանք կատարվում են: Քվանտի ավարտից հետո, պլանավորիչը դադարեցնում է ընթացիկ պրոցեսը և անցնում մյուսին:
Սա տեղի է ունենում շատ արագ (միլիսեկունդներ), ստեղծելով միամիտ իրականացման հույզ:
Go-ում, բացի օպերացիոն համակարգից, կա նաև սեփական goroutine պլանավորիչ, որը բաժանում է թեթև հոսքերի (goroutine-ների) կատարմանը մեկ կամ մի քանի համակարգային հոսքերի ներսում, բայց պրոցեսների մակարդակում դա արդեն օպերացիոն համակարգի խնդիրն է։