Ključna razlika – Preemptivno naspram Nepreemptivno zakazivanje u OS-u
Proces je program u izvršavanju. Računalo bi trebalo obavljati više zadataka u isto vrijeme. Stoga bi CPU trebao dobiti procese i izvršiti ih. Ponekad je potrebno izvršiti neke procese nego druge procese. U tom trenutku, pokrenuti proces se prekida, a CPU se dodjeljuje novom procesu. Nakon što je zadatak dovršen, CPU se vraća prethodnom procesu. Raspored prema ovom mehanizmu poznat je kao preventivni raspored. Ako se proces koji je u tijeku ne može prekinuti i potrebno je izvršiti proces u tijeku, tada je to poznato kao raspoređivanje bez preempcije. U ovom se članku govori o razlici između preventivnog i nepreemptivnog raspoređivanja u operativnom sustavu. Preemptive scheduling je mehanizam za planiranje procesa putem kojeg se proces može prekinuti drugim procesom usred njegovog izvođenja. Nepreemptivno raspoređivanje je mehanizam raspoređivanja procesa putem kojeg jedan proces počinje s izvršenjem tek nakon završetka prethodnog procesa. To je ključna razlika između Preemptive i Nonpreemptive Scheduling u OS-u.
Što je preventivno planiranje u OS-u?
Round Robin Scheduling primjer je preventivnog rasporeda. Svaki proces dobiva malu količinu CPU vremena. Obično je to 10 do 100 milisekundi. Ova mala jedinica podataka također je poznata kao vremenski kvantum. Nakon što to vrijeme istekne, proces se isključuje i dodaje na kraj spremnog reda čekanja. Pretpostavimo da postoje 4 procesa kao P1, P2, P3 i P4. CPU burst vremena u milisekundama su sljedeća. Kvantum vremena je 20.
Slika 01: Primjer Round Robin rasporeda
Proces P1 izvršava se do 20. Ostalo je još 33 ms. Zatim se izvršava P2. Kako je vremenski kvantum 20, a potrebno vrijeme P2 17 ms, P2 će se izvršavati 17 ms. Dakle, proces P2 je završen. Zatim se daje prilika P3. Izvršit će se 20 ms. Ostatak je 48ms. Zatim će P4 izvršiti 20 ms. Ima 4ms za dovršetak cjelokupnog procesa. Opet, P1 će se izvršavati 20 ms. Ima još 13 ms do završetka procesa. Promjena se daje P3. Izvršit će se 20 ms, a ima još 28 ms da potpuno završi. P4 se izvršava. Ima samo 4ms. Stoga P4 dovršava izvršenje. P2 i P4 su već gotovi. Preostali procesi su P1 i P3. Prilika se daje P3. Imao je 13 ms za dovršetak, pa je dovršen. Sada je jedini preostali proces P3. Ima 28 ms za završetak. Dakle, P3 će raditi 20 ms. Ostatak je 8ms. Svi ostali procesi već su dovršeni. Stoga će se ponovno izvršiti ostatak od 8 ms P3. Isto tako, svaki proces dobiva priliku za izvršenje.
Što je Nepreemptivno zakazivanje u OS-u?
First Come First Served (FCFS) raspored može se uzeti kao primjer rasporeda bez prednosti. Proces koji prvi zatraži prvo se dodjeljuje CPU-u. Ovim raspoređivanjem lako se upravlja pomoću reda čekanja First In First Out (FIFO). Ako postoje procesi koji dolaze redom kao P1, P2 i P3, tada se šansa prvo daje P1. Nakon što se završi, P2 će se izvršiti. Kada P2 završi, P3 će se izvršiti. Pretpostavimo da postoje 3 procesa kao što su P1, P2 i P3 s CPU burst vremenima u milisekundama kako slijedi.
Slika 02: Primjer FCFS rasporeda
Prema gore navedenom, P1 će se izvršiti. Nakon što je završen, proces P2 se izvršava 3ms. Sada je preostali proces P3. Tada će se izvršiti. Vrijeme čekanja za P1 je nula. Proces P2 morao je čekati 24ms, a proces P3 27ms. Ako su procesi stigli u redoslijedu P2, P3 i P1 tada će P2 prvi završiti. Sljedeći P3 će biti dovršen, i konačno, P1 će biti dovršen.
Koja je sličnost između preventivnog i nepreemptivnog rasporeda u OS-u?
I Preemptive i Nonpreemptive Scheduling u OS-u su mehanizmi za planiranje procesa u računalu
Koja je razlika između preventivnog i nepreemptivnog rasporeda u OS-u?
Preemptivno nasuprot nepreemtivnom rasporedu u OS |
|
Preemptive scheduling je mehanizam zakazivanja procesa kroz koji proces može prekinuti drugi proces usred njegovog izvođenja. | Nepreemptivno raspoređivanje je mehanizam raspoređivanja procesa kroz koji jedan proces počinje s izvršenjem tek nakon završetka prethodnog procesa. |
Prekid procesa | |
U preventivnom rasporedu, procesi se mogu prekinuti. | U rasporedu bez prevencije, procesi se mogu prekinuti. |
Iskorištenje procesora | |
U preventivnom rasporedu, iskorištenost CPU-a je veća od nepreventivnog rasporeda. | U raspoređivanju bez prioriteta, iskorištenost CPU-a je minimalna u usporedbi s planiranjem s prioritetom. |
Fleksibilnost | |
Preventivno zakazivanje je fleksibilno. | Nepreemptivni raspored nije fleksibilan. |
Sažetak – Preemptivno naspram Nepreemptivno planiranje u OS
Na računalu se izvodi više procesa. Kada se svaki proces izvršava, CPU se dodjeljuje tom specifičnom procesu. Ponekad je potrebno zaustaviti izvođenje trenutnog procesa i dati prednost drugom procesu. Mehanizmi za raspoređivanje procesa mogu biti preventivni ili nepreemptivni. Preemptive scheduling je mehanizam za planiranje procesa putem kojeg proces može biti prekinut drugim procesom usred njegovog izvođenja. Nepreemptivno raspoređivanje je mehanizam za raspoređivanje procesa kroz koji jedan proces počinje s izvršenjem tek nakon završetka prethodnog procesa. Ovo je razlika između Preemptive i Nonpreemptive Scheduling u OS-u.
Preuzmite PDF Preemptive vs Non-preemptive Scheduling in OS
Možete preuzeti PDF verziju ovog članka i koristiti ga za izvanmrežne svrhe prema napomeni o citatu. Ovdje preuzmite PDF verziju: Razlika između preventivnog i nepreemptivnog rasporeda u OS