2.2.1 Samaaegsuse põhjused

iDevice ikoon 2.2.1 Samaaegsuse põhjused

Kaasaegsed OS'id peavad võimaldama mitmete kasutajarakenduste samaaegset töötamist ja selle saavutamiseks jagatakse protsessori aeg kvantumiteks, mida OS siis omakorda jagab erinevatele kasutajarakendustele. Kasutajarakendused omakorda on jagatud üheks või mitmeks protsessiks. Niimoodi protsesse järjest vahetades tekitatakse kasutajas illusioon, et mitu rakendust töötab samaaegselt.

Joonis 25. Protsessori tööaja jagamine protsessidele (P1 - protsess 1; P2 - protsess 2; P3 - protsess 3) (Allikas: Learning Materials for Information Technology Professionals (EUCIP-Mat))

Eri protsesside samaaegset teostamist haldab OS'i plaanur. Plaanur valib järgmise protsessi, mida protsessor hakkab täitma.OS laseb protsessoril täita iga protsessi mingi ajaperioodi jooksul ja seejärel võtab uuesti enda kätte kontrolli süsteemi üle, et valida järgmine täitmisele kuuluv protsess.Plaanimise reeglid sõltuvad OS'i liigist. Ringiratast (Round-robin) on plaanuri algoritm, mida kasutatakse interaktiivsetes süsteemides. See teostab protsesse tsükliliselt, määrates igale protsessile ajahulga ehk kvantumi.

Joonis 26. Ringiratast planeerimine (Allikas: Learning Materials for Information Technology Professionals (EUCIP-Mat))

Sel viisil saab mitu protsessi kasutada protsessorit samal ajal ja igaühele neist antakse samal tasemel teenust.
Pakktöötlusega süsteemides on enimkasutatavaks reegliks lühim töö enne (SJF-Shortest Job First), mis annab prioriteedi kõige lühematele tegevustele.