Plánování úloh je jedním z klíčových konceptů multitaskingu a multiprocesingu v operačních systémech pro obecné účely i v operačních systémech pracujících v reálném čase . Plánování spočívá v přiřazování priorit procesům ve frontě priorit . Programový kód, který provádí tuto úlohu, se nazývá plánovač ( přepínač úloh , plánovač ) .
Nejdůležitějším cílem plánování úloh je využití procesoru na maximum. Propustnost je počet procesů, které dokončí provádění za jednotku času. Doba čekání – Doba, po kterou proces čeká ve frontě připravenosti. Doba odezvy je doba, která uplyne od začátku požadavku do první odpovědi na požadavek.
Ve výpočetních prostředích v reálném čase , například na mobilních zařízeních určených pro automatické řízení v průmyslu (například robotika ), musí plánovač úloh zajistit, aby procesy byly zpracovávány ve stanovených časových intervalech (doba odezvy); to je rozhodující pro udržení správného provozu systému v reálném čase.
Operační systémy mohou obsahovat až tři různé typy plánovačů: dlouhodobý plánovač (nebo plánovač za běhu), střednědobý plánovač a krátkodobý plánovač (také známý jako dispečer ). Samotné názvy již popisují relativní frekvenci, s jakou plánovač plní své funkce.
Dlouhodobý plánovač rozhoduje o tom, které úlohy nebo procesy budou přidány do fronty procesů připravených ke spuštění; to znamená, že když se proces pokusí spustit, dlouhodobý plánovač buď přidá nový proces do fronty připravených procesů (umožní jeho spuštění), nebo tuto akci odloží. Dlouhodobý plánovač tedy rozhoduje o tom, které procesy poběží souběžně, a tím řídí míru paralelismu a poměr mezi procesy náročnými na I/O a procesy náročnými na CPU. Stolní počítače obvykle nepoužívají dlouhodobý plánovač a umožňují automatické spouštění nových procesů. Tento plánovač je však velmi důležitý pro systémy pracující v reálném čase, protože pokud je systém přetížen paralelními procesy, může se doba odezvy systému prodloužit, než je požadováno, což je nepřijatelné.
Ve všech systémech s virtuální pamětí střednědobý plánovač dočasně přesune (odlehčí) procesy z hlavní paměti do sekundární paměti (například na pevný disk) a naopak. Tyto akce se nazývají stránkování nebo swapování . Střednědobý plánovač se může rozhodnout vyměnit proces z hlavní paměti, pokud:
Proces se vrátí do hlavní paměti, když bude k dispozici požadované množství volné paměti nebo když se proces probudí (v takovém případě plánovač odloží jiný proces z hlavní paměti, aby uvolnil hlavní paměť).
V mnoha moderních systémech, které podporují mapování virtuálního adresního prostoru do sekundární paměti jiné než je stránkovací soubor, může střednědobý plánovač také hrát roli dlouhodobého plánovače, který s novými procesy zachází jako s procesy, které byly vyměněny z hlavní paměti. Tímto způsobem může systém načíst kód do hlavní paměti pouze tehdy, když jej proces potřebuje k provedení (toto se nazývá načítání na vyžádání nebo „ líné načítání “).
Plánovač na této úrovni rozhoduje o tom, které z připravených a načtených procesů poběží na CPU po přerušení (podle času, I/O operace, volání operačního systému nebo jiného signálu). Rozhodnutí na této úrovni je třeba činit velmi často (alespoň v každém časovém období). Plánovač také může nebo nemusí podporovat preemptivní multitasking (tj. být schopen přerušit provádění procesu).
Dispečer je další součástí plánovacího systému. Jedná se o modul, který přenáší řízení procesoru na proces, který byl vybrán na úrovni krátkodobého plánování. Mezi jeho úkoly patří přepnutí kontextu, přepnutí do uživatelského režimu a skok na správné místo v uživatelském programu pro spuštění nebo pokračování jeho provádění. Hlavním požadavkem na dispečera je rychlost, protože provádí každé přepnutí procesu.
operačních systémů | Aspekty|||||
---|---|---|---|---|---|
| |||||
Typy |
| ||||
Jádro |
| ||||
Řízení procesů |
| ||||
Správa a adresování paměti |
| ||||
Nástroje pro načítání a inicializaci | |||||
skořápka | |||||
jiný | |||||
Kategorie Wikimedia Commons Wikibooks Wikibooks |