Proces je prováděný program. Počítač by měl provádět mnoho úkolů současně. Proto by měl CPU získat procesy a provést je. Někdy je nutné provést některé procesy než jiné. V tomto okamžiku je spuštěný proces přerušen a nový proces je přidělen CPU. Po dokončení úlohy je CPU přiděleno zpět k předchozímu procesu. Plánování podle tohoto mechanismu je známé jako preventivní plánování. Pokud běžící proces nelze přerušit a je nutné spustit běžící proces, pak se nazývá nevylučující plánování. Tento článek pojednává o rozdílu mezi preventivním a nevypovídajícím plánováním v operačním systému. Preventivní plánování je mechanismus plánování procesu, jehož prostřednictvím může být proces, který může být přerušen jiným procesem uprostřed jeho provádění. Nevylučující plánování je mechanismus plánování procesu, jehož prostřednictvím jeden proces začíná vykonávat až po ukončení předchozího procesu. Toto je klíčový rozdíl mezi Preventivní a nevýhradní plánování v OS.
1. Přehled a klíčový rozdíl
2. Co je preventivní plánování v OS
3. Co je nonpreemptive plánování v OS
4. Podobnosti mezi preventivním a nevýhradním plánováním v OS
5. Porovnání bok po boku - Preemptivní vs. nevýhradní plánování v OS v tabulkové formě
6. Shrnutí
Round Robin Scheduling je příkladem preventivního plánování. Každý proces dostane malé množství času CPU. To je obvykle 10 až 100 milisekund. Tato malá jednotka dat je také známá jako kvantová doba. Po uplynutí této doby je proces preempted a přidán na konec připravené fronty. Předpokládejme, že existují 4 procesy jako P1, P2, P3 a P4. Doby běhu CPU v milisekundách jsou následující. Časové kvantum je 20.
Obrázek 01: Příklad časového plánování
Proces P1 se provádí do 20. Zbývá dalších 33 ms. Poté se provede P2. Protože kvantum času je 20 a požadovaný čas P2 je 17 ms, P2 se provede po dobu 17 ms. Proces P2 je tedy dokončen. Pak je šance dána P3. Spustí se po dobu 20 ms. Zbytek je 48ms. Pak se P4 spustí po dobu 20ms. K dokončení celého procesu má 4ms. P1 bude opět spuštěn po dobu 20ms. K dokončení procesu má dalších 13 ms. Změna je dána P3. Spustí se po dobu 20ms a má dalších 28ms, aby dokončil úplně. Spustí se P4. Má pouze 4ms. Proto P4 dokončí provedení. P2 a P4 již skončily. Zbývající procesy jsou P1 a P3. Šance je dána P3. To mělo 13ms dokončit, tak to dokončí. Nyní zbývá pouze proces P3. Má 28ms na dokončení. P3 tedy poběží 20ms. Zbytek je 8ms. Všechny ostatní procesy již byly provedeny. Proto bude znovu spuštěno zbývajících 8 ms P3. Stejně tak má každý proces šanci provést.
První rozvrhování prvního podání (FCFS) může být považováno za příklad nevylučujícího rozvrhování. Proces, který požaduje první, je nejprve přidělen CPU. Toto rozvržení je snadno spravováno frontou FIFO (First In First Out). Pokud se vyskytly procesy v pořadí jako P1, P2 a P3, pak je šance nejprve dána P1. Po dokončení se provede P2. Po dokončení P2 se provede P3. Předpokládejme, že existují 3 procesy jako P1, P2 a P3 s dobou CPU v milisekundách následovně.
Obrázek 02: Příklad plánování FCFS
Podle výše uvedeného se provede P1. Po dokončení je proces P2 proveden po dobu 3ms. Nyní zbývající proces je P3. Poté to provede. Čekací doba pro P1 je nula. Proces P2 musel čekat 24ms a proces P3 musel čekat 27ms. Pokud procesy dorazily v pořadí P2, P3 a P1, pak P2 se nejprve dokončí. Další P3 se dokončí a nakonec se dokončí P1.
Preventivní vs. nepremyslové plánování v OS | |
Preventivní plánování je mechanismus plánování procesu, jehož prostřednictvím může být proces přerušen jiným procesem uprostřed jeho provádění. | Nevylučující plánování je mechanismus plánování procesu, jehož prostřednictvím jeden proces začíná vykonávat až po ukončení předchozího procesu. |
Přerušení procesu | |
Při preventivním plánování lze procesy přerušit. | V nevýhradním plánování může být proces přerušen. |
Využití CPU | |
Při preventivním plánování je využití CPU vyšší než ne preventivní plánování. | Při neprobvyklém plánování je využití CPU minimální ve srovnání s preemptivním plánováním. |
Flexibilita | |
Preventivní plánování je flexibilní. | Nevylučující plánování není flexibilní. |
V počítači běží více procesů. Po spuštění každého procesu je CPU přiřazeno k tomuto konkrétnímu procesu. Někdy je nutné zastavit provádění aktuálního procesu a dát přednost jinému procesu. Mechanismy plánování procesů mohou být preventivní nebo nevylučující. Preventivní plánování je mechanismus plánování procesu, jehož prostřednictvím může být proces přerušen jiným procesem uprostřed jeho provádění. Nevylučující plánování je mechanismus pro plánování procesů, který proces však začne provádět až po ukončení předchozího procesu. Toto je rozdíl mezi Preventivním a Nonpreemptivním plánováním v OS.
Můžete si stáhnout PDF verzi tohoto článku a použít ji pro účely offline podle citace. Stáhněte si prosím verzi PDF zde: Rozdíl mezi preventivním a nevýhradním plánováním v OS
1.Čím je preventivní a nepředkupní plánování? K dispozici zde
2.Point, Návody. „Algoritmy plánování operačního systému.“, Tutorials Point. 8. ledna 2018. K dispozici zde
3. „Co jsou předemptivní a nepředkupní pojmy v kontextu OS?“ GeeksforGeeks Q&A. K dispozici zde