Plánování procesů v OS: Long, Medium, Short Term Scheduler
⚡ Chytré shrnutí
Plánování procesů je úloha operačního systému, která spravuje procesy v stavech připravenosti, čekání a běhu. Přiděluje každému procesu čas CPU, udržuje CPU zaneprázdněný a zkracuje dobu odezvy pomocí dlouhodobých, střednědobých a krátkodobých plánovačů.

Co je plánování procesů?
Plánování procesů je úloha operačního systému, která plánuje procesy v různých stavech, jako je připraveno, čeká a spuštěno.
Plánování procesů umožňuje operačnímu systému přidělit každému procesu časový interval provádění CPU. Dalším důležitým důvodem pro použití systému plánování procesů je, že udržuje CPU neustále zaneprázdněné. To umožňuje dosáhnout minimální doby odezvy programů.
Fronty plánování procesů
Fronty plánování procesů vám pomáhají udržovat samostatnou frontu pro každý stav procesu a PCB. Všechny procesy se stejným stavem provádění jsou umístěny ve stejné frontě. Proto je vždy, když se stav procesu změní, nutné jeho PCB odpojit od stávající fronty a přesunout zpět do fronty s novým stavem.
Existují tři typy front operačního systému:
- Fronta práce – Pomáhá vám uložit všechny procesy v systému.
- Připravená fronta – Tento typ fronty vám pomůže nastavit každý proces umístěný v hlavní paměti, který je připraven a čeká na provedení.
- Fronty zařízení – Je to proces, který je blokován z důvodu absence I/O zařízení.

Ve výše uvedeném diagramu:
- Obdélník představuje frontu.
- Kruh označuje zdroj.
- Šipka znázorňuje průběh procesu.
- Každý nový proces je nejprve zařazen do fronty připravených procesů (Ready). Ve frontě připravených procesů čeká, dokud není konečně zpracován ke spuštění. Zde je nový proces zařazen do fronty připravených procesů a čeká, dokud není vybrán ke spuštění nebo dokud není odeslán.
- Jeden z procesů má přidělený CPU a je spuštěn.
- Proces by měl vydat požadavek na I/O.
- Poté by měl být zařazen do fronty I/O.
- Proces by měl vytvořit nový podproces.
- Proces by měl čekat na své ukončení.
- Měl by být z CPU násilně odstraněn v důsledku přerušení. Jakmile je přerušení dokončeno, měl by být odeslán zpět do fronty připravenosti.
Dvoustavový procesní model
Dvoustavové procesní modely jsou:
- Běžící stav
- Neprobíhající stav
Běh
v Operating systému, kdykoli je sestaven nový proces, je zapsán do systému, který by měl běžet.
Nefunguje
Procesy, které neběží, jsou uchovávány ve frontě, která čeká na své spuštění. Každý záznam ve frontě je odkazem na konkrétní proces.
Plánování cílů
Zde jsou důležité cíle plánování procesů:
- Maximalizujte počet interaktivních uživatelů v rámci přijatelné doby odezvy.
- Dosáhněte rovnováhy mezi odezvou a využitím.
- Vyvarujte se odkládání na neurčito a prosazujte priority.
- Měl by také odkazovat na procesy držící klíčové zdroje.
Typ plánovače procesů
Plánovač je typ systémového softwaru, který vám umožňuje spravovat plánování procesů.
Existují především tři typy plánovačů procesů:
- Dlouhodobý plánovač
- Krátkodobý plánovač
- Střednědobý plánovač
Dlouhodobý plánovač
Dlouhodobý plánovač je také známý jako plánovač úlohTento plánovač řídí program, vybírá procesy z fronty a načítá je do paměti k provedení. Také reguluje stupeň multiprogramování.
Hlavním cílem tohoto typu plánovače je však nabídnout vyváženou kombinaci úloh, jako jsou úlohy procesoru a I/O, která umožňuje správu multiprogramování.
Střednědobý plánovač
Střednědobé plánování je důležitou součástí výměnapingUmožňuje vám spravovat odložené procesy. V tomto plánovači lze běžící proces pozastavit, což odešle požadavek na I/O.
Běžící proces se může pozastavit, pokud provede požadavek na I/O. Pozastavený proces nemůže dosáhnout žádného pokroku směrem k dokončení. Aby se proces odstranil z paměti a uvolnilo místo pro další procesy, měl by být přesunut do sekundárního úložiště.
Krátkodobý plánovač
Krátkodobé plánování je také známé jako plánovač CPUHlavním cílem tohoto plánovače je zvýšit výkon systému podle nastavených kritérií. To vám pomůže vybrat ze skupiny procesů, které jsou připraveny ke spuštění, a přidělit CPU jednomu z nich. Dispečer předá řízení CPU procesu vybranému krátkodobým plánovačem.
Rozdíl mezi plánovači
Dlouhodobé vs. krátkodobé vs. střednědobé:
| Dlouhodobý | Krátkodobý | Střednědobé |
|---|---|---|
| Dlouhodobý plánovač je také známý jako plánovač úloh. | Krátkodobý plánovač je také známý jako plánovač CPU. | Střednědobý se také nazývá swapping plánovač. |
| V systému sdílení času buď chybí, nebo je minimální. | V pořadí sdílení času je to nevýznamné. | Tento plánovač je součástí systémů pro sdílení času. |
| Rychlost je nižší ve srovnání s krátkodobým plánovačem. | Rychlost je nejrychlejší ve srovnání s krátkodobým a střednědobým plánovačem. | Nabízí střední rychlost. |
| Umožňuje vybrat procesy ze zátěže a uložit je zpět do paměti. | Vybírá pouze procesy, které jsou ve stavu připravenosti k provedení. | Pomáhá vám to odeslat proces zpět do paměti. |
| Nabízí plnou kontrolu. | Nabízí menší kontrolu. | Snižuje úroveň multiprogramování. |
Co je přepínač kontextu?
Jedná se o metodu ukládání/obnovení stavu CPU do desky plošných spojů, aby bylo možné později obnovit provádění procesu od stejného bodu. Metoda přepínání kontextu je důležitá pro multitaskingový operační systém.
