Proces
Z MiS
				
				
				(Rozdíly mezi verzemi)
				
																
				
				
								
				|  (Vytvoření stránky.) |  (Přidáno UID a GID.) | ||
| Řádka 11: | Řádka 11: | ||
| == Jaké data zahrnujeme? == | == Jaké data zahrnujeme? == | ||
| * Identifikátor procesu (PID)   číslo, pod kterým OS s procesem pracuje. | * Identifikátor procesu (PID)   číslo, pod kterým OS s procesem pracuje. | ||
| − | * Kód programu, načtený v paměti | + | * 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 <code>.exe</code>) | ** Instrukce, které se mají provést. Načteme je z binárního souboru programu (na Windows ze souboru <code>.exe</code>) | ||
| * Data, uložená v paměti   | * Data, uložená v paměti   | ||
Verze z 21. 9. 2018, 07:09
| 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.
