Sobes.tech
Junior — Middle

Kā operētājsistēma sadala divu procesu izpildi, kas uzsākti vienā procesora kodolā?

sobes.tech AI

Atbilde no AI

Operētājsistēma izmanto plānotāju (scheduler), lai sadalītu CPU laiku starp vairākām procesēm, pat ja tai ir tikai viena kodola.

Pamatprincips ir daudzuzdevumu ar laika sadalījumu (time slicing). Procesi saņem laika kvantu (time slice), kura laikā tie tiek izpildīti. Pēc kvanta beigām, plānotājs pārtrauc pašreizējo procesu un pārslēdzas uz citu.

Tas notiek ļoti ātri (milisekundes), radot ilūziju par vienlaicīgu izpildi.

Go valodā, papildus operētājsistēmai, ir arī savs goroutine plānotājs, kas sadala vieglo pavedienu (goroutine) izpildi vienā vai vairākos sistēmas pavedienos, bet līmenī procesu tas jau ir OS uzdevums.