Razvrščanje procesov

  

Sodobni operacijski procesi so tipično večprocesni oziroma celo večnitni.
Zato  mora posebni modul, ki mu pravimo  razvrščevalnik (scheduler) poskrbeti, da izmenično vsakemu od teh procesov dodeljuje krajšo časovno rezino. Tako imamo vtis, kot da vsi procesi potekajo sočasno.

Eden od algoritmov, ki ga uporabljajo razvrščevalniki, je takoimenovani Round-Robin, ki ga prikazuje spodnja slika.


 

Demonstracija1 Demonstracija2

Bolj kompleksni algoritmi razvrščanja skušajo zagotoviti ugodno prepustnost za procese, ki jim zadoąčajo kratke časovne rezine. V to skupino sodijo krajši programi in interaktivni programi, ki večinoma čakajo na konec neke vhodno-izhodne operacije.  Numerično intenzivnim procesom pa prepuščajo čas, ko računalnik ni zaposlen. Primer takega algoritma je večnivojski algoritem razvrščanja, ki ga prikazuje spodnja slika.
 

Pri tem algoritmu dodeli razvrščevalnik računalniški čas procesu, ki je prvi na čakalni listi na najvišjem nivoju. Če tak proces ne konča svoje naloge v času njegove časovne rezine, ga razvrščevalnik prestavi na rep čakalne vrste nižjega nivoja. Procesom, ki čakajo na čakalnih vrstah nižjih nivojev, razvrščevalnik dodeli časovno rezino le, če so čakalne vrste višjih nivojev prazne. Vrsta na najnižjem nivoju sama zase predstavlja spet klasični Round Robin algoritem, v njej pa končajo numerično intenzivni procesi.



Primer Razvrščanje procesov v porazdeljenem okolju