všechny informace potřebné ke sledování procesu při přepínání jsou uchovávány v datovém balíčku nazývaném blok řízení procesů. Blok řízení procesu obvykle obsahuje:
- ID číslo, které identifikuje proces
- odkazy na místa v programu a jeho data zpracování, kde naposledy došlo
- Registrovat obsah
- Státy různé vlajky a spínače
- Ukazatele horní a dolní hranice paměti potřebné pro proces
- seznam souborů otevřených proces
- priorita procesu
- stav všech I/O zařízení potřebné pro proces
Každý proces má status s ním spojené. Mnoho procesů spotřebovává žádný čas CPU, dokud nedostanou nějaký vstup. Například proces může čekat na stisknutí klávesy od uživatele. Zatímco čeká na stisknutí klávesy, nepoužívá čas CPU. Zatímco čeká, je „pozastaveno“. Po příchodu stisknutí klávesy změní operační systém svůj stav. Když je stav procesu změny, od čekající na aktivní, například, nebo ze zavěšených na běh, informace v procesu řídicí blok musí být použit jako data v jakýkoli jiný program, přímé provedení úkolu-přepínání část operačního systému.
Reklama
Tento proces odkládání stane bez přímého zásahu uživatele, a každý proces dostane dost CPU cyklů, aby svůj úkol zvládl v rozumném množství času. Problémy mohou začít, pokud se uživatel pokusí mít příliš mnoho procesů fungujících současně. Samotný operační systém vyžaduje některé cykly CPU k provedení ukládání a výměny všech registrů, front a hromádek aplikačních procesů. Pokud dost procesy jsou spuštěny, a pokud operační systém nebyl pečlivě navržen tak, může systém začít používat drtivá většina dostupných cyklů CPU na swap mezi procesy spíše než běh procesů. Když k tomu dojde, nazývá se to thrashing a obvykle vyžaduje nějaký přímý zásah uživatele, aby zastavil procesy a vrátil pořádek zpět do systému.
Tento obsah není v tomto zařízení kompatibilní.
Tento obsah není na tomto zařízení kompatibilní.
jedním ze způsobů, jak návrháři operačních systémů snižují šanci na výprask, je snížení potřeby nových procesů k provádění různých úkolů. Některé operační systémy umožňují „proces-lite,“ říká vlákno, které může vypořádat se všemi CPU-intenzivní práce normální proces, ale obecně nemá jednat s různými typy I/O a nezakládá struktury, které vyžadují rozsáhlé proces control block pravidelný proces. Proces může spustit mnoho podprocesů nebo jiných procesů, ale podproces nemůže proces spustit.
zatím se veškeré plánování, o kterém jsme diskutovali, týkalo jediného CPU. V systému se dvěma nebo více procesory musí operační systém rozdělit pracovní zátěž mezi procesory a snažit se vyvážit požadavky požadovaných procesů s dostupnými cykly na různých procesorech. Asymetrické operační systémy používají jeden procesor pro své vlastní potřeby a rozdělují aplikační procesy mezi zbývající procesory. Symetrické operační systémy se rozdělují mezi různé procesory a vyvažují poptávku oproti dostupnosti CPU, i když běží samotný operační systém.