13 Flashcards
(9 cards)
Co je to správa procesů a co obsahuje
- OS vykonává procesy a poskytuje jim základní služby (vytvoření, spuštění, ukončení, blokování, změna priority procesu, komunikace mezi procesy, synchronizace procesů)
- Program = posloupnost instrukcí
- Úloha (job) = celková práce, která se skládá z jednotlivých úkolů
- Úkol (task) = úkol popisuje co se dělá, proces popisuje jak se to dělá
- Proces = instance běžícího programu, obsahuje jedno nebo více vláken
- Vlákno (thread) = bod běhu, jednotka plánování a provádění
- Je možné vykonávat několik procesů najednou (paralelně)
- Jedno jádro CPU dokáže pracovat s jedním vláknem
Co je to paralelismus a pseudoparalelismus
- Paralelismus = Procesy běží realně zároveň, pokud máme 8 jader procesoru, může běžet max. 8 procesů paralelně
- Pseudoparalelismus (Multitasking) = Jádro OS střídá extrémně rychle procesy, až to vypadá, že běží zároveň, na 8 jádrech, tedy můžou běžet stovky procesů. Procesy prochází jednotlivými stavy, je jim přiděleno časové kvantum
|Co je to proces
- Je to instance běžícího programu
- Má vlastní adresní prostor:
- Textová část = kód vykonávaný procesorem
- Datová část = proměnné, dynamicky alokovaná paměť
- Zásobník = instrukce, lokální proměnné
- V procesu je také uložen obsah registrů procesoru, info o otevřených souborech atd.
- Každý proces je identifikovatelný skrz PID číslo
- Je jednoznačné, v jakém stavu je a jaké zdroje využívá
Jaké máme stavy procesů
- New (nový) = proces je právě vytvářen (naalokujeme si nějaké zdroje)
- Ready state (připravený) = proces může být vykonán procesorem, kdyby byl právě volný
- Running state (běžící) = proces je právě vykonáván procesorem
- Blocked state (blokovaný) = proces čeká až nastane nějaká událost, která mu dovolí pokračovat
- Terminated (ukončený) = proces byl ukončen, stále vlastní některé systémové prostřekdy, musí je vrátit
Process control block k čemu je
Implementace procesů = OS spravuje tabulku procesů (process table), která má jeden záznam pro každý proces. Každý záznam pak odkazuje na Process Control Block (PCB), který obsahuje všechny informace potřebné ke správě procesu (CPU registry, stav, ukazatel na další proces ve frontě, info o potomcích, rodiči, priorita), informace pro správu souborů, účtovací informace, informace pro správu procesoru a pro správu paměti
Co jsou vlákna
Implementace procesů = OS spravuje tabulku procesů (process table), která má jeden záznam pro každý proces. Každý záznam pak odkazuje na Process Control Block (PCB), který obsahuje všechny informace potřebné ke správě procesu (CPU registry, stav, ukazatel na další proces ve frontě, info o potomcích, rodiči, priorita), informace pro správu souborů, účtovací informace, informace pro správu procesoru a pro správu paměti
Synchornizační mechanismy
- Zámek (mutex) = proces při vstupu do kritické sekce použije zámek (nastaví hodnotu na 1), jakmile opustí kritickou sekci, tak zámek odemkne (nastaví hodnotu na 0) a do kritické sekce může vejít další proces
- Semafor = zobecněný zámek, je to proměnná typu int, lze k němu přistupovat pomocí 2 atomických operací down() a up(), při vstupu hodnotu semaforu snížíme o 1 a při výstupu ji zvýšíme. Pokud je na 0, tak už do kritické sekce procesy nemohou vstupovat, musí počkat, než nějaký z ní vyleze, omezuje tedy počet procesů, které mohou najednou být v kritické sekci
Co je uvátnuzí
- Zámek (mutex) = proces při vstupu do kritické sekce použije zámek (nastaví hodnotu na 1), jakmile opustí kritickou sekci, tak zámek odemkne (nastaví hodnotu na 0) a do kritické sekce může vejít další proces
- Semafor = zobecněný zámek, je to proměnná typu int, lze k němu přistupovat pomocí 2 atomických operací down() a up(), při vstupu hodnotu semaforu snížíme o 1 a při výstupu ji zvýšíme. Pokud je na 0, tak už do kritické sekce procesy nemohou vstupovat, musí počkat, než nějaký z ní vyleze, omezuje tedy počet procesů, které mohou najednou být v kritické sekci
co je souběh
- Souběh = Situace, kdy několik procesů přistupuje ke sdíleným datům a současně je modifikuje (aby se tomu zabránilo, tak se musí procesy synchronizovat)