Rozdiel medzi preventívnym a nepreemptívnym plánovaním v OS

Obsah:

Rozdiel medzi preventívnym a nepreemptívnym plánovaním v OS
Rozdiel medzi preventívnym a nepreemptívnym plánovaním v OS

Video: Rozdiel medzi preventívnym a nepreemptívnym plánovaním v OS

Video: Rozdiel medzi preventívnym a nepreemptívnym plánovaním v OS
Video: От семени к плоду. Все, что вам нужно знать о выращивании помидоров 2024, December
Anonim

Kľúčový rozdiel – Preemptívne a nepreemptívne plánovanie v OS

Proces je vykonávaný program. Počítač by mal vykonávať veľa úloh súčasne. Preto by mal CPU získať procesy a spustiť ich. Niekedy je potrebné vykonať niektoré procesy ako ostatné procesy. V tomto bode je bežiaci proces prerušený a CPU je pridelené novému procesu. Po dokončení úlohy sa CPU pridelí späť predchádzajúcemu procesu. Plánovanie podľa tohto mechanizmu je známe ako preemptívne plánovanie. Ak bežiaci proces nemožno prerušiť a je potrebné spustiť bežiaci proces, potom je to známe ako nepreemptívne plánovanie. Tento článok popisuje rozdiel medzi preventívnym a nepreemptívnym plánovaním v operačnom systéme. Preemptívne plánovanie je mechanizmus plánovania procesov, prostredníctvom ktorého je proces, ktorý môže byť prerušený iným procesom uprostred jeho vykonávania. Nepreemptívne plánovanie je mechanizmus plánovania procesov, prostredníctvom ktorého jeden proces spustí vykonávanie až po ukončení predchádzajúceho procesu. To je kľúčový rozdiel medzi preventívnym a nepreemptívnym plánovaním v OS.

Čo je preventívne plánovanie v OS?

Round Robin Scheduling je príkladom preemptívneho plánovania. Každý proces zaberá malé množstvo času CPU. Zvyčajne je to 10 až 100 milisekúnd. Táto malá jednotka údajov je známa aj ako časové kvantum. Po uplynutí tohto času sa proces zruší a pridá sa na koniec pripraveného radu. Predpokladajme, že existujú 4 procesy ako P1, P2, P3 a P4. Časy impulzov CPU v milisekundách sú nasledovné. Časové kvantum je 20.

Rozdiel medzi preventívnym a nepreemptívnym plánovaním v OS
Rozdiel medzi preventívnym a nepreemptívnym plánovaním v OS
Rozdiel medzi preventívnym a nepreemptívnym plánovaním v OS
Rozdiel medzi preventívnym a nepreemptívnym plánovaním v OS

Obrázok 01: Príklad plánovania Round Robin

Proces P1 prebieha do 20. Zostáva ďalších 33 ms. Potom sa vykoná P2. Keďže časové kvantum je 20 a požadovaný čas P2 je 17 ms, P2 bude prebiehať 17 ms. Proces P2 je teda dokončený. Potom dostane šancu P3. Spustí sa 20 ms. Zvyšok je 48 ms. Potom sa P4 vykoná na 20 ms. Na dokončenie celého procesu má 4 ms. Opäť sa P1 vykoná na 20 ms. Na dokončenie procesu zostáva ďalších 13 ms. Zmena je daná P3. Spustí sa 20 ms a na úplné dokončenie má ďalších 28 ms. P4 sa vykoná. Má len 4 ms. Preto P4 dokončí vykonanie. P2 a P4 už skončili. Zvyšné procesy sú P1 a P3. Šancu dáva P3. Dokončenie malo 13 ms, takže sa dokončí. Teraz zostáva jediným procesom P3. Dokončenie má 28 ms. Takže P3 bude bežať 20 ms. Zvyšok je 8 ms. Všetky ostatné procesy už boli spustené. Preto sa opäť vykoná zvyšných 8 ms P3. Podobne každý proces dostane šancu na vykonanie.

Čo je nepreemptívne plánovanie v OS?

Plánovanie „First Come First Served“(FCFS) možno považovať za príklad nepreemptívneho plánovania. Proces, ktorý požaduje ako prvý, je najskôr pridelený CPU. Toto plánovanie je ľahko riadené frontom First In First Out (FIFO). Ak existujú procesy, ktoré prišli v poradí ako P1, P2 a P3, potom je šanca najskôr daná P1. Po jeho dokončení sa vykoná P2. Po dokončení P2 sa vykoná P3. Predpokladajme, že existujú 3 procesy ako P1, P2 a P3 s nasledujúcimi dobami spustenia CPU v milisekundách.

Kľúčový rozdiel medzi preventívnym a nepreemptívnym plánovaním v OS
Kľúčový rozdiel medzi preventívnym a nepreemptívnym plánovaním v OS
Kľúčový rozdiel medzi preventívnym a nepreemptívnym plánovaním v OS
Kľúčový rozdiel medzi preventívnym a nepreemptívnym plánovaním v OS

Obrázok 02: Príklad plánovania FCFS

Podľa vyššie uvedeného sa vykoná P1. Po jeho dokončení sa na 3 ms vykoná proces P2. Teraz je zostávajúci proces P3. Potom sa vykoná. Čakacia doba na P1 je nulová. Proces P2 musel čakať 24 ms a proces P3 musel čakať 27 ms. Ak procesy prišli v poradí P2, P3 a P1, P2 sa dokončí ako prvý. Dokončí sa ďalší P3 a nakoniec sa dokončí P1.

Aká je podobnosť medzi preventívnym a nepreemptívnym plánovaním v OS?

Preemptívne aj nepreemptívne plánovanie v OS sú mechanizmy na plánovanie procesov v počítači

Aký je rozdiel medzi preventívnym a nepreemptívnym plánovaním v OS?

Preemptívne verzus nepreemptívne plánovanie v OS

Preemptívne plánovanie je mechanizmus plánovania procesov, prostredníctvom ktorého môže byť proces prerušený iným procesom uprostred jeho vykonávania. Nepreemptívne plánovanie je mechanizmus plánovania procesov, prostredníctvom ktorého sa jeden proces spustí až po ukončení predchádzajúceho procesu.
Prerušenie procesu
Pri preventívnom plánovaní môžu byť procesy prerušené. Pri nepreemptívnom plánovaní môžu byť procesy prerušené.
Využitie CPU
Pri preemptívnom plánovaní je využitie CPU vyššie ako pri nepreemptívnom plánovaní. Pri nepreemptívnom plánovaní je využitie CPU minimálne v porovnaní s preemptívnym plánovaním.
Flexibilita
Preventívne plánovanie je flexibilné. Nepreemptívne plánovanie nie je flexibilné.

Zhrnutie – Preemptívne verzus nepreemptívne plánovanie v OS

V počítači beží viacero procesov. Keď sa vykoná každý proces, CPU sa 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 nepreemptívne. Preemptívne plánovanie je mechanizmus plánovania procesov, prostredníctvom ktorého môže byť proces prerušený iným procesom uprostred jeho vykonávania. Nepreemptívne plánovanie je mechanizmus plánovania procesov, prostredníctvom ktorého sa jeden proces spustí až po ukončení predchádzajúceho procesu. Toto je rozdiel medzi preventívnym a nepreemptívnym plánovaním v OS.

Stiahnite si PDF preemptívne vs nepreemptívne plánovanie v OS

Verziu tohto článku si môžete stiahnuť vo formáte PDF a použiť ju na offline účely podľa citácie. Stiahnite si verziu PDF tu: Rozdiel medzi preventívnym a nepreemptívnym plánovaním v OS

Odporúča: