Proces je vykonávaný program. Počítač by mal vykonávať mnoho úloh súčasne. Preto by mal procesor získavať procesy a vykonávať ich. Niekedy je potrebné vykonať niektoré procesy ako iné. V tomto okamihu sa bežiaci proces preruší a nový proces sa pridelí CPU. Po dokončení úlohy sa CPU pridelí späť k predchádzajúcemu procesu. Plánovanie podľa tohto mechanizmu je známe ako preventívne plánovanie. Ak bežiaci proces nemôže byť prerušený a je potrebné ho spustiť, potom je známy ako nevylučujúce plánovanie. Tento článok sa zaoberá rozdielom medzi preventívnym a nevylučujúcim plánovaním v operačnom systéme. Preventívne plánovanie je mechanizmus plánovania procesu, prostredníctvom ktorého je možné proces, ktorý môže byť prerušený iným procesom uprostred jeho vykonávania. Nevylučujúce plánovanie je mechanizmus plánovania procesu, prostredníctvom ktorého jeden proces začína vykonávať až po ukončení predchádzajúceho procesu. To je kľúčový rozdiel medzi Preventívne a nevýhradné plánovanie v OS.
1. Prehľad a kľúčový rozdiel
2. Čo je preventívne plánovanie v OS
3. Čo je nevylučujúce plánovanie v OS
4. Podobnosti medzi preventívnym a nevýlučným plánovaním v OS
5. Porovnanie bok po boku - preventívne a nevýlučné plánovanie v OS v tabuľkovej forme
6. Zhrnutie
Round Robin Scheduling je príklad preventívneho plánovania. Každý proces dostane malé množstvo času CPU. Zvyčajne to je 10 až 100 milisekúnd. Táto malá jednotka údajov je tiež známa ako kvantové množstvo času. Po uplynutí tohto času sa proces vopred pripraví a pridá sa na koniec fronty pripravenosti. Predpokladajme, že existujú 4 procesy ako P1, P2, P3 a P4. Rýchly čas CPU v milisekundách je nasledujúci. Časové množstvo je 20.
Obrázok 01: Príklad plánovania okružných Robinov
Proces P1 sa vykonáva až do 20. Zostáva ďalších 33 ms. Potom sa vykoná P2. Pretože kvantové množstvo je 20 a požadovaný čas P2 je 17 ms, P2 sa vykoná po dobu 17 ms. Proces P2 je teda dokončený. Potom je daná šanca na P3. Spustí sa po dobu 20 ms. Zvyšok je 48 ms. Potom sa P4 spustí po dobu 20 ms. Na dokončenie celého procesu má 4 ms. P1 bude opäť vykonávať po dobu 20 ms. Na dokončenie procesu má ďalších 13 ms. Zmena je daná P3. Spustí sa po dobu 20 ms a má ďalších 28 ms na úplné dokončenie. Spustí sa P4. Má iba 4 ms. Preto P4 dokončí vykonanie. P2 a P4 už skončili. Zvyšné procesy sú P1 a P3. Šanca je daná P3. Na dokončenie bolo 13ms, takže sa dokončí. Teraz zostáva iba proces P3. Na dokončenie má 28 ms. Takže P3 pobeží 20ms. Zvyšok je 8 ms. Všetky ostatné procesy už boli spustené. Zostane teda znova spustených zvyšných 8 ms P3. Podobne každý proces dostane šancu na vykonanie.
Plánovanie prvého príchodu s prvou službou (FCFS) sa môže považovať za príklad nevylučujúceho plánovania. Proces, ktorý vyžaduje prvé, je najskôr pridelený CPU. Toto plánovanie je ľahko spravované frontom FIFO (First In First Out). Ak sa vyskytli procesy v poradí ako P1, P2 a P3, potom sa šanca dostane najskôr P1. Po dokončení sa vykoná P2. Po dokončení P2 sa vykoná P3. Predpokladajme, že existujú 3 procesy ako P1, P2 a P3 s časmi záblesku CPU v milisekundách nasledovne.
Obrázok 02: Príklad plánovania FCFS
Podľa vyššie uvedeného sa vykoná P1. Po dokončení sa proces P2 vykoná po dobu 3 ms. Teraz zostávajúci proces je P3. Potom to vykoná. Čakacia doba na P1 je nula. Proces P2 musel čakať 24 ms a proces P3 musel čakať 27 ms. Ak procesy dorazili v poradí P2, P3 a P1, potom P2 sa dokončí ako prvý. Ďalší P3 sa dokončí a nakoniec sa dokončí P1.
Preventívne vs nepremyslové plánovanie v OS | |
Preventívne plánovanie je mechanizmus plánovania procesu, prostredníctvom ktorého môže byť proces prerušený iným procesom uprostred jeho vykonávania.. | Nevylučujúce plánovanie je mechanizmus plánovania procesu, prostredníctvom ktorého jeden proces začína vykonávať až po ukončení predchádzajúceho procesu. |
Prerušenie procesu | |
Pri preventívnom plánovaní môžu byť procesy prerušené. | Pri nepreplánovanom plánovaní môžu byť procesy prerušené. |
Využitie CPU | |
Pri preventívnom plánovaní je využitie CPU vyššie ako nevylučujúce plánovanie. | Pri nevylučovacom plánovaní je využitie CPU minimálne v porovnaní s preventívnym plánovaním. |
flexibilita | |
Preventívne plánovanie je flexibilné. | Nevylučujúce plánovanie nie je flexibilné. |
Na počítači beží viac procesov. Po spustení každého procesu sa CPU pridelí tomuto špecifickému procesu. Niekedy je potrebné zastaviť vykonávanie aktuálneho procesu a uprednostniť iný proces. Mechanizmy plánovania procesov môžu byť preventívne alebo nevylučujúce. Preventívne plánovanie je mechanizmus plánovania procesu, prostredníctvom ktorého môže byť proces prerušený iným procesom uprostred jeho vykonávania. Nevylučujúce plánovanie je mechanizmus plánovania procesu, ktorý proces však začne vykonávať až po ukončení predchádzajúceho procesu. Toto je rozdiel medzi preventívnym a nevýlučným plánovaním v OS.
Môžete si stiahnuť verziu tohto článku vo formáte PDF a použiť ju na účely offline podľa citácie. Stiahnite si verziu PDF tu: Rozdiel medzi preventívnym a nevýlučným plánovaním v OS
1.Čo je preventívne a nevylučujúce plánovanie? K dispozícii tu
2.Point, Návody. “Algoritmy plánovania operačného systému.”, Tutorials Point. 8. januára 2018. K dispozícii tu
3. „Čo sú predemptivívne a nevylučujúce pojmy v kontexte OS?“ GeeksforGeeks Q&A. K dispozícii tu