Procesy i wątki - wykład

Nasza ocena:

3
Pobrań: 21
Wyświetleń: 686
Komentarze: 0
Notatek.pl

Pobierz ten dokument za darmo

Podgląd dokumentu
Procesy i wątki - wykład - strona 1 Procesy i wątki - wykład - strona 2 Procesy i wątki - wykład - strona 3

Fragment notatki:

Systemy operacyjne – notatki do wykładu
2. Procesy i wątki.
2.1 Proces.
Proces - program (kod binarny) w czasie wykonania; wykonanie przebiega sekwencyjnie (wyjątek:
procesy wielowątkowe – patrz niżej).
 Procesy wykonują się współbieżnie (ale niekoniecznie równolegle – podział czasu)
 Stany procesu:
- 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:
- za pomocą funkcji systemowej (np. fork() w UNIX)
- proces utworzony przez inny proces (macierzysty, ew. rodzic) nazywamy potomnym.
- potomek uzyskuje nową pulę zasobów lub korzysta z zasobów rodzica (mniejsze przeciążenie
systemu).
Zakończenie procesu:
- po ostatniej instrukcji.
- specjalna funkcją (np. exit() w UNIX)
- na żądania rodzica ( abort() )
- niekiedy: zakończenie kaskadowe: po zakończeniu rodzica kończone są procesy potomne.
2.2 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 ma te same podst. cechy co proces (stany, możliwość tworzenia wątków potomnych,
korzystania z urządzeń zewn. itd...)
- między wątkami tego samego procesu nie ma ochrony pamięci.
- analogia: maszyna-procesy == proces-wątki
6
Systemy operacyjne – notatki do wykładu
-
elementy wątku i procesu:
Wątek
licznik rozkazów
stos
rejestry procesora
lista wątków potomnych
-
-
Proces
przestrzeń adresowa
otwarte pliki, semafory
zmienne globalne
lista proc. potomnych
Tradycyjny proces (ciężki) jest równoważny zadaniu z jednym wątkiem
Jeżeli zadanie składa się z wielu wątków, to w czasie gdy jeden wątek jest zablokowany, może
się wykonywać inny wątek tego zadania; współpraca wielu wątków w jednym zadaniu pozwala
zwiększyć przepustowość i poprawić wydajność
Wątki umożliwiają połączenie równoległości z sekwencyjnym wykonaniem:
(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:
 Pakiet wątków : zbiór elementarnych działań na wątkach dostępnych w systemie (np. procedur
bibliotecznych.
 Implementacja wątków w przestrzeni użytkownika:
- jądro nie wie o wątkach, widzi tylko jednowątkowe procesy
- zaleta1: można używać wątków w systemie, który ich nie implementuje (np. pierwotnie UNIX)
- możliwe szybkie przełączanie wątków – tylko przeładowania wsk. ... zobacz całą notatkę



Komentarze użytkowników (0)

Zaloguj się, aby dodać komentarz