Systemy operacyjne
wykład 2
PROCESY
powtórzenie
Proces jest jednostką pracy
systemu operacyjnego. System
składa się ze zbioru procesów.
Procesy S.O. wykonują program systemu,
procesy użytkowe działają wg programów
napisanych przez użytkowników
.
Stan procesu
Stan procesu jest określany przez
bieżącą czynność procesu. Stan
procesu to wszystkie informacje
potrzebne do kontynuowania
zatrzymanego procesu.
Stan procesu
Diagram stanów procesu
Stan procesu
Diagram stanów procesu
Stan procesu
Wykonujący się proces zmienia swój stan;
każdy proces może znajdować się w jednym z
następujących trzech stanów:
•
aktywny
- są wykonywane instrukcje,
•
czekający
- proces czeka na wystąpienie
jakiegoś zdarzenia (np. na zakończenie operacji
WE/WY),
•
gotowy
- proces czeka na przydział procesora.
Blok kontrolny procesu (1)
Każdy proces jest reprezentowany w SO
przez blok kontrolny procesu, zawierający
następujące informacje:
Stan procesu,
Licznik rozkazów,
Rejestry procesora,
Informacje o planowaniu przydziału
procesora,
Informacje o zarządzaniu pamięcią
,
Informacje do rozliczeń,
Informacje o stanie WE/WY.
Działania na procesach
Procesy w systemie mogą być wykonywane
współbieżnie oraz dynamicznie tworzone i
usuwane. System musi zawierać mechanizm
tworzenia i kończenia procesu.
Każdy nowy proces może tworzyć kolejne procesy,
wynikiem czego jest drzewo procesów.
Tworzenie procesu
Proces macierzysty (parent process) tworzy procesy
zwane potomkami (children).
Rozważa się zagadnienia dotyczące procesu
macierzystego i potomnych:
dzielenie zasobów,
wykonywanie procesów,
przestrzeń adresowa.
Kończenie procesu
Proces macierzysty może zakończyć
wykonywanie procesu potomnego za pomocą
funkcji systemowej.
Związki między procesami
Procesy mogą być niezależne lub mogą ze sobą
współpracować.
Procesy współpracujące konkurują o zasoby i
wymieniają między sobą informacje.
Proces niezależny
Każdy proces, który nie dzieli żadnych
danych (tymczasowych lub trwałych)
z żadnym procesem, jest w istocie
procesem
niezależnym.
Proces współpracujący
Proces jest
współpracujący
, jeżeli może wpływać na
inne procesy lub inne procesy mogą wpływać na
niego.
Proces taki ma następujące własności:
• nie da się określić z góry wyniku działania procesu;
• wynik działania procesu współpracującego jest nie
deterministyczny, gdyż może nie być zawsze taki
sam przy takich samych danych WE.
Zatem dowolny proces, który dzieli jakieś dane z
innymi procesami jest procesem współpracującym.