Fandom

Education

PWr - Zarządzanie procesami w systemie operacyjnym

429pages on
this wiki
Add New Page
Talk0 Share

Jednym z zadań systemów operacyjnych wielozadaniowych jest zarządzanie procesami. Zarządzanie procesami odbywa się według określonego schematu stanów procesu:

     ( created )     ( terminated )
         |             ^
         |             |
         |    ( running )
         |     ^       |
         |     |       |
         V     V       V
     ( waiting ) <--- ( blocked )
         ^                 ^
         |                 |
         V                 V
 ( SO and waitong )  ( SO and blocked )

Proces zostaje utworzony przez wywołanie fork() w jednym z istniejących procesów (created, zwane także new). W tym stanie proces oczekuje przejścia do stanu gotowości (ready, zwane także waiting). W tym stanie proces oczekuje na wykonanie (przydzielenie czasu procesora). Kiedy nadejdzie jego czas, przechodzi do stanu wykonywania (running). Zakończenie procesu poprzez wywołanie exit() przenosi go do stanu zakończony (terminated). Jeśli w tym stanie pamięć po procesie nie zostanie zwolniona, proces staje się procesem zombie. Jeśli proces oczekuje na zasoby przechodzi w stan zablokowany (blocked). Proces przejdzie do stanu oczekiwania wyłącznie gdy zasób zostanie zwolniony. Operacja taka może oczywiście prowadzić do zakleszczenia (deadlock).

W sytuacji w której system operacyjny zarządza pamięcią wirtualną, może nastąpić przypadek, w którym procesy nie zmieszczą się w pamięci operacyjnej komputera. Przenoszone są wtedy do pamięci wirtualnej (przeważnie na dysk) jeśli znajdują sie w stanie waiting (przechodzą do swapped out and waiting) lub blocked (swapped out and blocked)

Źródła informacjiEdit

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.