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čů.

  • Definice: Plánování procesů spravuje procesy ve stavech připravenosti, čekání a běhu, aby udrželo CPU zaneprázdněný.
  • 📥 Fronty: Fronty úloh, připravenosti a zařízení uspořádávají procesy podle stavu jejich provádění.
  • 🔀 Model dvou států: V nejjednodušším případě proces buď běží, nebo neběží.
  • 🧑‍💼 Tři plánovači: Dlouhodobé, střednědobé a krátkodobé plánovače řídí, které procesy běží a kdy.
  • Krátkodobý: Plánovač CPU je nejrychlejší a vybere připravený proces k okamžitému spuštění.
  • 🔁 Přepínání kontextu: Ukládání a obnovení stavu CPU v desce plošných spojů umožňuje multitasking.

Plánování procesů v OS

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:

  1. Fronta práce – Pomáhá vám uložit všechny procesy v systému.
  2. 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í.
  3. Fronty zařízení – Je to proces, který je blokován z důvodu absence I/O zařízení.
Fronty plánování procesů
Fronty plánování procesů

Ve výše uvedeném diagramu:

  • Obdélník představuje frontu.
  • Kruh označuje zdroj.
  • Šipka znázorňuje průběh procesu.
  1. 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.
  2. Jeden z procesů má přidělený CPU a je spuštěn.
  3. Proces by měl vydat požadavek na I/O.
  4. Poté by měl být zařazen do fronty I/O.
  5. Proces by měl vytvořit nový podproces.
  6. Proces by měl čekat na své ukončení.
  7. 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ů:

  1. Dlouhodobý plánovač
  2. Krátkodobý plánovač
  3. 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.

Nejčastější dotazy

Plánovač rozhoduje, který proces by měl být spuštěn dále na základě určité politiky. Dispečer je modul, který ve skutečnosti dává vybranému procesu kontrolu nad CPU, provádí přepínání kontextu a skoky.ping na správné místo v programu.

Stupeň multiprogramování je počet procesů uložených v hlavní paměti současně. Dlouhodobý plánovač jej řídí rozhodováním o tom, kolik procesů přijmout, a vyvažuje využití CPU a I/O pro efektivní výkon systému.

Řídicí blok procesu (PBC) je datová struktura, kterou operační systém používá k ukládání všech informací o procesu, jako je jeho stav, čítač programů, registry a limity paměti. Je nezbytný pro ukládání a obnovu procesů během přepnutí kontextu.

Umělá inteligence se dokáže naučit vzorce pracovní zátěže, aby mohla rozhodovat, který proces spustit a jak alokovat čas CPU. Místo pevných pravidel přizpůsobuje plánování v reálném čase, čímž zlepšuje propustnost, dobu odezvy a energetickou účinnost, zejména v cloudových a vícejádrových systémech.

Ano. Analýzou minulých zátěží CPU a vzorců I/O mohou modely umělé inteligence odhadnout, jak dlouho bude proces běžet a zda je vázán na CPU nebo I/O. Tyto předpovědi pomáhají plánovači upřednostňovat procesy a zkracovat dobu čekání.

Shrňte tento příspěvek takto: