Sobes.tech
Junior — Middle

Ինչպե՞ս է օպերացիոն համակարգը բաժանում երկու գործընթացների կատարումը, որոնք սկսվել են նույն պրոցեսորային միջուկում։

sobes.tech AI

Պատասխան AI-ից

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

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

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

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