Plánování procesů
Z MiS
- V počítači běží obvykle více procesů, než je dostupný počet jader procesoru.
- Proto ve skutečnosti probíhá přepínání procesů — proces vždy běží jen chvíli a pak dočasně je „uspán“ — viz Životní cyklus procesu.
Obsah |
Kdo přepínání procesů provádí?
- Přepínání procesů řeší plánovač (scheduler), což je součást jádra operačního systému.
- Obecně tedy můžeme říci, že přepínání procesů řídí operační systém.
Požadavky při přepínání
- Dobře naprogramovaný plánovač by měl splňovat následující požadavky:
- Fairness (férovost)
- všechny procesy by měly dostat přibližně stejný prostor...
- přitom ale můžeme přidělovat prioritu některým procesům.
- Efficiency (úspornost)
- plánovač je také sám proces a volba, který proces má pokračovat, také zabere nějaký výpočetní výkon.
- Dobrý plánovač procesů by měl být naprogramován efektivně tak, aby sám spotřeboval co nejméně výpočetního výkonu.
- (Proto by výběr neměl být moc složitý — ale přitom nejlépe splňovat i ostatní požadavky.)
- Odezva
- uživatel by měl mít pocit, že všechny procesy reagují hned — nemělo by se stát, že některý proces se dlouho nedostane ke slovu.
- Turnaround
- Dávky úloh by měly skončit co nejdříve.
- Pokud navazující procesy čekají na výsledek tohoto procesu, měl by pokud možno skončit co nejdříve, aby navazující procesy mohly pokračovat.
- Propustnost
- Maximalizovat počet dokončených úloh.
- Pokud už procesu zbývá dokončit jen malou část práce, je neefektivní přepnout kontext — bylo by lepší proces dokončit.
Je evidentní, že některé požadavky si protiřečí. Plánovač procesů tedy musí volit vhodný kompromis a přitom sám nesmí být příliš složitý (viz požadavek na úspornost).
Co se při přepnutí procesu děje?
- Změna kontextu, neboli přepnutí mezi dvěma procesy, je ve skutečnosti poměrně složitý úkon sám o sobě.
- Co se mimo děje při změně kontextu
- Hodnoty registrů procesoru se musí zapsat na vhodné místo do operační paměti (zásobník).
- Do registrů se musí načíst správné hodnoty pro právě aktivovaný proces.
- Musí se zneplatnit obsah vyrovnávací paměti procesoru.
- Pokud byly některé paměťové stránky odloženy na disk (swappování), musí se načíst do paměti.
- ...
Přepínání procesů samotné tedy zabírá čas a spotřebovává výkon procesoru.
Související stránky
Zdroje
- Viz také: Wikipedia.org > Změna kontextu