Proces
Z MiS
Obsah |
Co je proces?
- Proces v operačním systému reprezentuje stav právě běžícího programu.
- Proces vzniká spuštěním programu a končí v okamžiku, kdy se dokončí všechny instrukce.
- Pokud spustíme jeden program vícekrát, vznikne více procesů. Každá spuštěná instance programu má jiný aktuální stav.
- Každý proces se chová, jako by byl v počítači sám. O ostatních procesech neví a komunikuje s nimi jen přesně specifikovanými prostředky viz Komunikace mezi procesy.
- Procesy běží střídavě. Střídání ale řídí jádro OS (kernel) a proces o střídání neví a nemůže ho ovlivnit.
Jaké data zahrnujeme?
- Identifikátor procesu (PID) číslo, pod kterým OS s procesem pracuje.
- UID a GID uživatele a skupiny, s jejímiž právy proces běží.
- Kód programu, načtený v paměti.
- Instrukce, které se mají provést. Načteme je z binárního souboru programu (na Windows ze souboru
.exe
)
- Instrukce, které se mají provést. Načteme je z binárního souboru programu (na Windows ze souboru
- Data, uložená v paměti
- Aktuální obsah proměnných, které si program vytváří.
- Odkaz na právě prováděnou instrukci v paměti
- Aktuální obsah registrů
Vlákno
- Procesy navzájem nemohou sdílet proměnné (každý má svou přidělenou paměť). To je ale někdy omezující.
- Proces tedy můžeme rozdělit do více vláken (thread), které běží také nezávisle a mají svůj stav, ale sdílí spolu obsah proměnných v paměti.