Što je kružni raspored?

Round-robin raspoređivanje je algoritam koji se koristi za pomoć u kreiranju rasporeda procesa ili poslova kako bi se osiguralo da svaki proces potreban za dovršetak posla dobije dovoljno vremena za izvođenje. CPU-i u računalima mogu koristiti vremensko rezanje kako bi osigurali zadanu količinu vremena za svaki proces za korištenje po ciklusu.

Korištenje kružnog rasporeda dodjeljuje dio vremena svakom procesu koji se izvodi. Na računalu, na primjer, korisnik pokreće tri aplikacije, e-poštu, web preglednik i program za obradu teksta. Te se aplikacije učitavaju u memoriju sustava kao procesi i svakoj je dopušteno pokretanje bez da korisnik uzme u obzir koje aplikacije rade u pozadini.

Round-robin raspoređivanje upravlja dijeljenjem resursa između tri procesa aplikacije (i bezbroj drugih koji rade u pozadini potpuno nevidljivi korisniku). Ovo zakazivanje dobro funkcionira jer svaka aplikacija dobiva određeno vrijeme po ciklusu procesora. Ciklus procesora je vrijeme potrebno CPU-u da upravlja svakim pokrenutim procesom, jednom.

Pokrenute aplikacije u prethodnom primjeru pružaju kratak ciklus za procesor i više vremena bi se dodijelilo svakom od ova tri procesa, zbog čega se krajnjem korisniku čini da rade bolje. Bez kružnog rasporeda, aplikacija koja se prva učita u memoriju vjerojatno bi monopolizirala procesor sve dok ne završi izvršavanje bilo kojeg od zadataka koji su joj dodijeljeni. Kada se ta aplikacija zatvori, sljedeća se aplikacija mogla pokrenuti i obraditi bez prekida. To bi stalo na put okruženjima s više prozora o kojima su korisnici računala počeli ovisiti. Korištenje kružnog rasporeda pomaže računalu da ide ukorak s krajnjim korisnikom i učinkovito upravlja sva tri aplikacijska procesa.

Round-robin raspoređivanje održava sve pokrenute poslove ili procese da napreduju po malo naprijed, tijekom svakog ciklusa procesora, kako bi im pomogli da rade zajedno i poboljšali iskustvo upotrebljivosti za osobu koja radi sa sustavom. CPU će zatim ispitati svaki zadatak koji se izvodi tijekom ciklusa kako bi utvrdio je li proces završio.

Pretpostavimo da korisnik odluči da je završio svoj posao u aplikaciji za obradu teksta i zatvori je. Tako ostaju pokrenute samo aplikacije e-pošte i web preglednika. CPU ne bi imao načina pratiti ovu činjenicu bez kružnog rasporeda za ispitivanje aplikacija i otkrivanje da se procesor teksta zatvorio i da mu više nije potrebno vrijeme procesora.