Round Robin Algoritam rasporeda s primjerom

โšก Pametni saลพetak

Kruลพno rasporeฤ‘ivanje (Round-Robin Scheduling) je najstariji i najjednostavniji preemptivni CPU algoritam, gdje se svaki spremni proces izvrลกava fiksni vremenski interval u cikliฤkom redu ฤekanja, osiguravajuฤ‡i pravedno izvrลกavanje viลกe zadataka bez gladovanja.

  • ๐Ÿ”„ Definicija: Svaki spremni zadatak izvrลกava se naizmjeniฤno tijekom fiksnog vremenskog intervala.
  • ๐Ÿ‡ง๐Ÿ‡ท Vremenski kvant: CPU prebacuje procese nakon fiksnog intervala, vremenskog kvanta.
  • โš–๏ธ Poลกtenje: Svaki proces dobiva jednako CPU vrijeme, ฤime se izbjegava gladovanje.
  • ๐Ÿงฎ Preventivno: Preempted proces se pomiฤe na kraj reda.
  • โœ… Prednosti: Pravedna raspodjela, bez uฤinka konvoja, predvidljivo vrijeme odziva.
  • โš ๏ธ Nedostaci: Performanse ovise o vremenskom kvantu i dodaju optereฤ‡enje prebacivanja konteksta.

Round Robin algoritam rasporeฤ‘ivanja

ล to je Round-Robin raspored?

Naziv ovog algoritma dolazi od kruลพnog principa, gdje svaka osoba dobiva jednaki udio neฤega naizmjeniฤno. To je najstariji, najjednostavniji algoritam za rasporeฤ‘ivanje, koji se uglavnom koristi za multitasking.

U kruลพnom rasporeฤ‘ivanju, svaki spreman zadatak izvrลกava se redom samo u cikliฤkom redu ฤekanja tijekom ograniฤenog vremenskog intervala. Ovaj algoritam takoฤ‘er nudi izvrลกavanje procesa bez gladovanja.

Karakteristike Round-Robin rasporeda

Evo vaลพnih karakteristika Round-Robin rasporeda:

  • Kruลพni rad je preemptivni algoritam.
  • CPU se prebacuje na sljedeฤ‡i proces nakon fiksnog vremenskog intervala, koji se naziva vremenski kvant/vremenski odsjeฤak.
  • Proces koji ima prednost dodaje se na kraj reda ฤekanja.
  • Kruลพni sistem je hibridni model koji se pokreฤ‡e satnim rasporedom.
  • Vremenski isjeฤak trebao bi biti minimalan, ลกto je dodijeljeno za odreฤ‘eni zadatak koji treba obraditi. Meฤ‘utim, moลพe se razlikovati od operativnog sustava do operativnog sustava.
  • To je algoritam u stvarnom vremenu koji reagira na dogaฤ‘aj unutar odreฤ‘enog vremenskog ograniฤenja.
  • Kruลพni rad je jedan od najstarijih, najpravednijih i najlakลกih algoritama.
  • To je ลกiroko koriลกtena metoda rasporeฤ‘ivanja u tradicionalnim OS-ima.

Primjer Round-robin rasporeda

Razmotrite sljedeฤ‡a tri procesa:

Proces ฤekanja Vrijeme praska
P1 4
P2 3
P3 5

Round-robin raspored

Korak 1) Izvrลกenje poฤinje s procesom P1, koji ima vrijeme praska 4. Ovdje se svaki proces izvrลกava 2 sekunde. P2 i P3 su joลก uvijek u redu ฤekanja.

Round-robin raspored

Korak 2) U trenutku = 2, P1 se dodaje na kraj reda ฤekanja i P2 poฤinje s izvrลกavanjem.

Round-robin raspored

Korak 3) U trenutku = 4, P2 se preemptira i dodaje na kraj reda. P3 poฤinje s izvrลกavanjem.

Round-robin raspored

Korak 4) U trenutku = 6, P3 se preemptira i dodaje na kraj reda. P1 poฤinje s izvrลกavanjem.

Round-robin raspored

Korak 5) U vremenu = 8, P1 ima vrijeme neprekidnog niza od 4. Izvrลกenje je zavrลกeno. P2 zapoฤinje izvrลกavanje.

Round-robin raspored

Korak 6) P2 ima vrijeme izvrลกavanja od 3. Veฤ‡ se izvrลกavao u 2 intervala. U vremenu = 9, P2 zavrลกava izvrลกavanje. Zatim, P3 zapoฤinje izvrลกavanje dok se ne zavrลกi.

Round-robin raspored

Korak 7) Izraฤunajmo prosjeฤno vrijeme ฤekanja za gornji primjer.

Wait time
P1 = 0 + 4 = 4
P2 = 2 + 4 = 6
P3 = 4 + 3 = 7

Prednosti kruลพnog rasporeฤ‘ivanja

Evo prednosti/koristi metode kruลพnog rasporeฤ‘ivanja:

  • Ne suoฤava se s problemima gladi ili efekta konvoja.
  • Svi poslovi dobivaju poลกtenu raspodjelu CPU-a.
  • Bavi se svim procesima bez ikakvog prioriteta.
  • Ako znate ukupan broj procesa u redu ฤekanja, tada takoฤ‘er moลพete pretpostaviti najgore moguฤ‡e vrijeme odgovora za isti proces.
  • Ova metoda rasporeฤ‘ivanja ne ovisi o vremenu rafala. Zato se lako implementira u sustav.
  • Nakon ลกto se proces izvrลกi za odreฤ‘eni skup razdoblja, proces se iskljuฤuje, a drugi se proces izvrลกava za to odreฤ‘eno vremensko razdoblje.
  • Omoguฤ‡uje OS-u koriลกtenje metode promjene konteksta za spremanje stanja preemptiranih procesa.
  • Daje najbolje performanse u smislu prosjeฤnog vremena odziva.

Nedostaci Round-robin rasporeda

Evo nedostataka/nedostataka koriลกtenja kruลพnog rasporeฤ‘ivanja:

  • Ako je vrijeme rezanja OS-a nisko, izlaz procesora ฤ‡e se smanjiti.
  • Ova metoda troลกi viลกe vremena na promjenu konteksta.
  • Njegova izvedba uvelike ovisi o kvantumu vremena.
  • Prioriteti se ne mogu postaviti za procese.
  • Kruลพno rasporeฤ‘ivanje ne daje poseban prioritet vaลพnijim zadacima.
  • Smanjuje razumijevanje.
  • Niลพi vremenski kvant rezultira veฤ‡im optereฤ‡enjem promjene konteksta u sustavu.
  • Pronalaลพenje ispravnog vremenskog kvanta priliฤno je teลพak zadatak u ovom sustavu.

Latencija u najgorem sluฤaju

Ovaj izraz se koristi za maksimalno vrijeme potrebno za izvrลกenje svih zadataka.

  • dt = Oznaฤava vrijeme detekcije kada je zadatak dodan na popis
  • st = Oznaฤava vrijeme prebacivanja s jednog zadatka na drugi
  • et = Oznaฤava vrijeme izvrลกavanja zadatka

formula:

Tworst = {(dti+ sti + eti ), + (dti+ sti + eti )2 +...+ (dti+ sti + eti )N., + (dti+ sti + eti  + eti) N} + tISR
tISR = sum of all execution times

Pitanja i odgovori

Vremenski kvantum, ili vremenski odsjeฤak, je fiksno vrijeme procesora koje svaki proces izvrลกava prije nego ลกto bude preuzet. Preveliki se ponaลกa kao FCFS; premali dodaje veliko optereฤ‡enje prebacivanjem konteksta.

FCFS pokreฤ‡e svaki proces do zavrลกetka redoslijedom dolaska i nije preemptivan. Round Robin je preemptivan: daje svakom procesu fiksni vremenski odsjeฤak i cikliฤki prolazi kroz red ฤekanja, poboljลกavajuฤ‡i vrijeme odziva i sprjeฤavajuฤ‡i duge zadatke da blokiraju druge.

Buduฤ‡i da se svaki proces smjeลกta u cikliฤki red ฤekanja i redom prima fiksni vremenski odsjeฤak, nijedan proces se ne preskaฤe niti odgaฤ‘a na neodreฤ‘eno vrijeme, pa svaki na kraju dobiva CPU vrijeme bez obzira na svoju duljinu ili redoslijed dolaska.

Umjetna inteligencija i strojno uฤenje mogu predvidjeti ponaลกanje procesa i obrasce optereฤ‡enja kako bi prilagodili odluke o rasporedu u stvarnom vremenu. Umjesto fiksne politike, sustav moลพe dinamiฤki prilagoฤ‘avati prioritete i vremenske odsjeฤke, poboljลกavajuฤ‡i iskoriลกtenost CPU-a, propusnost i vrijeme odziva.

Da. Modeli umjetne inteligencije mogu analizirati proลกla vremena naleta i optereฤ‡enje sustava kako bi predloลพili optimalni vremenski kvant i prilagodili ga promjeni uvjeta. To bolje uravnoteลพuje optereฤ‡enje prebacivanja konteksta s vremenom odziva nego jedna fiksna vrijednost.

Saลพmite ovu objavu uz: