Junior — Middle
როგორ იყოფა ოპერაციული სისტემა ორ პროცესს, რომლებიც ერთ პროცესორულ ბირთვზე დაიწყო?
sobes.tech AI
პასუხი AI-სგან
Աշխատանքային համակարգը օգտագործում է պլանավորիչ (scheduler)՝ CPU-ի ժամանակը բաժանելու համար մի քանի պրոցեսների միջև, նույնիսկ եթե այն ունի միայն մեկ միջուկ:
Հիմնական սկզբունքը՝ ժամանակի բաժանումով բազմակատարություն (time slicing): Պրոցեսները ստանում են ժամանակի քվանտ (time slice), որի ընթացքում նրանք կատարվում են: Քվանտի ավարտից հետո, պլանավորիչը դադարեցնում է ընթացիկ պրոցեսը և անցնում մյուսին:
Սա տեղի է ունենում շատ արագ (միլիսեկունդներ), ստեղծելով միամիտ իրականացման հույզ:
Go-ում, բացի օպերացիոն համակարգից, կա նաև սեփական goroutine պլանավորիչ, որը բաժանում է թեթև հոսքերի (goroutine-ների) կատարմանը մեկ կամ մի քանի համակարգային հոսքերի ներսում, բայց պրոցեսների մակարդակում դա արդեն օպերացիոն համակարգի խնդիրն է։