Graf stanów procesu Współbieżna praca więcej niż jednego procesu niesie z sobą możliwość konfliktów przy dostępie do zasobów. W takich warunkach ujawnia się rola systemu operacyjnego jako dystrybutora zasobów. System operacyjny (a w zasadzie jego jądro) rozstrzyga konflikty o zasoby przydzielając je jednym ubiegającym się o nie procesom a inne procesy powstrzymując do czasu zwolnienia zasobów przez dotychczasowych zwycięzców. Proces, który zażądał dostępu do zasobu (w szczególności wykonania operacji we/wy) i go nie otrzymał nie może być dalej wykonywany aż do chwili uzyskania zasobu (zakończenia operacji we/wy). O takim procesie mówi się że jest w stanie uśpionym. Zwalnia on procesor pozwalając innym procesom na wykonywanie się. W systemach z wywłaszczaniem procesora wyróżnia się pewien specjalny stan - oczekiwanie na przydział procesora. Mamy z nim do czynienia gdy proces posiada wszystkie niezbędne mu zasoby, nie wykonuje operacji wejścia wyjścia a czeka jedynie na przydzielenie mu [czasu] procesora. O takim procesie mówimy, że jest w stanie gotowy do wykonania. Różne systemy operacyjne wyróżniają różny zestaw stanów, przez które przechodzi proces w trakcie życia, ale w każdym systemie wieloprocesowym z wywłaszczaniem można wyróżnić następujące stany: Wykonywany - jest aktualnie wykonywany przez procesor, Gotów do wykonania - oczekuje na swoją kolejkę do wykonania, Uśpiony - oczekuje na dostęp do zasobu lub operację wejścia/wyjścia, np. wciśnięcie klawisza przez użytkownika, Niszczony - w trakcie zwalniania zasobów po zakończeniu.
... zobacz całą notatkę
Komentarze użytkowników (0)