wyklad03k.pdf

(440 KB) Pobierz
Systemy Operacyjne
Procesy i wątki
Procesy
Procesy i wątki
Koncepcja procesu.
Planowanie procesów.
Działania na procesach.
Procesy współpracujące.
Komunikacja międzyprocesowa.
Wątki
Implementacja wątków.
Modele wielowątkowości.
Schematy wielowątkowości.
Zagadnienia dotyczące wątków.
Przykłady implementacji wątków.
Wiesław Płaczek
Systemy Operacyjne: Wykład 3
1
 
9122700.005.png
Koncepcja procesu
• Jak nazwać wszystkie czynności procesora?
System wsadowy: zadania (jobs) ;
System z podziałem czasu: programy użytkownika (user
programs) lub prace (tasks).
• Terminy zadanie i proces czasami używane są
zamiennie – obecnie preferowany jest termin proces .
Proces – wykonywany program; wykonywanie
procesu musi przebiegać sekwencyjnie .
•W skład procesu wchodzi:
Kod programu (text section);
Licznik rozkazów (program counter);
Stos procesu (process stack) – dane tymczasowe.
Sekcja danych (data section) – zmienne globalne.
Wiesław Płaczek
Systemy Operacyjne: Wykład 3
2
 
9122700.006.png
Stan procesu
• Wykonujący się proces zmienia swój stan (state) .
Każdy proces może się znajdować w jednym z
następujących stanów:
Nowy: proces został utworzony;
Aktywny: są wykonywane instrukcje;
Oczekiwanie: proces czeka na wystąpienie jakiegoś
zdarzenia (np. zakończenie operacji WE/WY);
Gotowy: proces czeka na przydział procesora;
Zakończony: proces zakończył działanie.
•W każdej chwili w procesorze tylko jeden proces
może być aktywny , ale wiele procesów może być
gotowych do działania lub czekających .
Wiesław Płaczek
Systemy Operacyjne: Wykład 3
3
 
9122700.001.png
Diagram stanów procesu
Nowy
Przyjęcie
Zakończony
Przerwanie
Wyjście
Gotowy
Aktywny
Decyzja planisty
Oczekiwanie na zdarzenie
lub na wykonanie operacji
WE/WY
Obsłużenie zdarzenia lub
operacji WE/WY
Czekający
Wiesław Płaczek
Systemy Operacyjne: Wykład 3
4
9122700.002.png 9122700.003.png
Blok kontrolny procesu
• Proces jest reprezentowany w systemie przez blok
kontrolny procesu (process control block – PCB ) , który
zawiera następujące informacje:
Stan procesu: nowy, gotowy, aktywny itd.
Licznik rozkazów: wskazuje adres następnego rozkazu do
wykonania w procesie.
Rejestry procesora: akumulatory, rejestry indeksowe, wskaźniki
stosu, rejestry ogólnego przeznaczenia, rejestry warunków.
Informacje o planowaniu przydziału procesora: priorytet procesu,
wskaźniki do kolejek planowania realizacji zamówień i inne
parametry planowania.
Informacje o zarządzaniu pamięcią: zawartości rejestrów
granicznych, tablice stron lub segmentów.
Informacje do rozliczeń: ilość zużytego czasu procesora i czasu
rzeczywistego, ograniczenia, numery kont, numery procesów itd.
Informacje o stanie WE/WY: informacje o urządzeniach WE/WY
przydzielonych do procesu, wykaz otwartych plików itd.
Wiesław Płaczek
Systemy Operacyjne: Wykład 3
5
 
9122700.004.png
Zgłoś jeśli naruszono regulamin