Systemy operacyjne – notatki do wykładu

Procesy i wątki.


Proces.


Proces - program (kod binarny) w czasie wykonania; wykonanie przebiega sekwencyjnie (wyjątek: procesy wielowątkowe – patrz niżej).

- nowy: proces został utworzony

- wykonywany: są wykonywane instrukcje procesu

- oczekujący: proces czeka na wystąpienie zdarzenia

- gotowy: proces czeka na przydzielenie procesora

- zakończony: proces zakończył wykonanie


Reprezentacja procesu w systemie (zawartość bloku kontrolnego procesu):

- stan procesu

- identyfikator (unikalny numer – w UNIX’ie – PID)

- licznik rozkazów

- rejestry procesora

- wskaźnik do kolejki procesów

- informacje o pamięci zajętej przez proces

- wykaz otwartych (używanych plików)


Tworzenie procesu:


Zakończenie procesu:


Wątek


Wątek sterowania (tzw. lekki proces): sekwencja instrukcji; tradycyjnie proces = jeden wątek sterowania, jednak czasami (w niektórych systemach) w przestrzeni adresowej procesu dopuszcza więcej wykonywanych współbieżnie wątków sterowania.


Wątek

Proces

licznik rozkazów

przestrzeń adresowa

stos

otwarte pliki, semafory

rejestry procesora

zmienne globalne

lista wątków potomnych

lista proc. potomnych


(1) model dyspozytor-pracownik

(2) model zespołu

(3) model potoku




Wątki statyczne/dynamiczne:

- struktura wątków procesu jest ustalona (w kodzie źr. procesu) lub też proces może dowolnie tworzyć/usuwać swoje wątki


Implementacja wątków w systemie operacyjnym:




4