Klíčový rozdíl – Preemptivní vs. Nepreemptivní plánování v OS
Proces je spuštěný program. Počítač by měl vykonávat mnoho úkolů současně. Proto by měl CPU získat procesy a spustit je. Někdy je nutné provést některé procesy než jiné procesy. V tomto okamžiku je běžící proces přerušen a CPU je přiděleno novému procesu. Po dokončení úlohy je CPU přiděleno zpět předchozímu procesu. Plánování podle tohoto mechanismu je známé jako preemptivní plánování. Pokud běžící proces nemůže být přerušen a je nutné spustit běžící proces, pak je to známé jako nepreemptivní plánování. Tento článek popisuje rozdíl mezi preemptivním a nepreemptivním plánováním v operačním systému. Preemptivní 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í. Nepreemptivní plánování je mechanismus plánování procesu, jehož prostřednictvím jeden proces zahájí provádění až po ukončení předchozího procesu. To je klíčový rozdíl mezi Preemptivním a Nepreemptivním plánováním v OS.
Co je preemptivní plánování v OS?
Round Robin Scheduling je příkladem preemptivního plánování. Každý proces získává malé množství času CPU. Obvykle je to 10 až 100 milisekund. Tato malá jednotka dat je také známá jako časové kvantum. Po uplynutí této doby je proces preemptován a přidán na konec fronty. Předpokládejme, že existují 4 procesy jako P1, P2, P3 a P4. Časy shluků CPU v milisekundách jsou následující. Časové kvantum je 20.
Obrázek 01: Příklad plánování Round Robin
Proces P1 probíhá do 20. Zbývá dalších 33 ms. Poté se provede P2. Protože časové kvantum je 20 a požadovaný čas P2 je 17 ms, P2 bude probíhat po dobu 17 ms. Proces P2 je tedy dokončen. Pak je dána šance P3. Spustí se po dobu 20 ms. Zbytek je 48 ms. Poté se P4 spustí po dobu 20 ms. Na dokončení celého procesu má 4 ms. P1 se opět spustí po dobu 20 ms. Do dokončení procesu zbývá dalších 13 ms. Změna je dána P3. Spustí se po dobu 20 ms a na úplné dokončení má dalších 28 ms. P4 se spustí. Má pouze 4 ms. Proto P4 dokončí provádění. P2 a P4 již skončily. Zbývající procesy jsou P1 a P3. Šanci dává P3. Mělo 13 ms na dokončení, takže se to dokončí. Nyní je jediným zbývajícím procesem P3. Do konce zbývá 28 ms. P3 tedy poběží 20 ms. Zbytek je 8 ms. Všechny ostatní procesy již byly provedeny. Proto se opět provede zbytek 8 ms P3. Podobně každý proces dostane šanci na provedení.
Co je nepreemptivní plánování v OS?
Plánování „First Come First Served“(FCFS) lze vzít jako příklad nepreemptivního plánování. Proces, který požaduje jako první, je nejprve přidělen CPU. Toto plánování je snadno spravováno frontou First In First Out (FIFO). Pokud existují procesy přišly v pořadí jako P1, P2 a P3, pak je šance nejprve dána P1. Po jeho 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 následujícími časy burst CPU v milisekundách.
Obrázek 02: Příklad plánování FCFS
Podle výše uvedeného se provede P1. Po jeho dokončení se na 3 ms provede proces P2. Nyní je zbývající proces P3. Poté se provede. Čekací doba na P1 je nulová. Proces P2 musel čekat 24 ms a proces P3 musel čekat 27 ms. Pokud procesy dorazily v pořadí P2, P3 a P1, P2 se dokončí jako první. Dokončí se další P3 a nakonec se dokončí P1.
Jaká je podobnost mezi preventivním a nepreemptivním plánováním v OS?
Preemptivní i nepreemptivní plánování v OS jsou mechanismy pro plánování procesů v počítači
Jaký je rozdíl mezi preventivním a nepreemptivním plánováním v OS?
Preemptivní vs. Nepreemtivní plánování v OS |
|
Preemptivní 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í. | Nepreemptivní plánování je mechanismus plánování procesu, jehož prostřednictvím jeden proces zahájí provádění až po ukončení předchozího procesu. |
Přerušení procesu | |
Při preemptivním plánování mohou být procesy přerušeny. | V nepreemptivním plánování mohou být procesy přerušeny. |
Využití CPU | |
Při preemptivním plánování je využití CPU vyšší než u nepreemptivního plánování. | U nepreemptivního 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í. | Nepreemptivní plánování není flexibilní. |
Shrnutí – Preemptivní vs. Nepreemptivní plánování v OS
Na počítači běží několik procesů. Když se každý proces spustí, CPU je přiděleno 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 preemptivní nebo nepreemptivní. Preemptivní 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í. Nepreemptivní plánování je mechanismus plánování procesu, jehož prostřednictvím jeden proces zahájí provádění až po ukončení předchozího procesu. Toto je rozdíl mezi Preemptivním a Nepreemptivním plánováním v OS.
Stáhněte si PDF Preemptive vs Nonpreemptive Scheduling v OS
Verzi tohoto článku si můžete stáhnout ve formátu PDF a použít ji pro offline účely podle citace. Stáhněte si prosím PDF verzi zde: Rozdíl mezi preventivním a nepreemptivním plánováním v OS