Procesy i wątki-opracowanie

Nasza ocena:

3
Wyświetleń: 623
Komentarze: 0
Notatek.pl

Pobierz ten dokument za darmo

Podgląd dokumentu
Procesy i wątki-opracowanie - strona 1 Procesy i wątki-opracowanie - strona 2 Procesy i wątki-opracowanie - strona 3

Fragment notatki:

Procesy i wątki.
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.
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
elementy wątku i procesu:
Wątek
Proces
licznik rozkazów
przestrzeń adresowa
stos
otwarte pliki, semafory
rejestry procesora
zmienne globalne
lista wątków potomnych
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ść

(…)

…, 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…
... zobacz całą notatkę



Komentarze użytkowników (0)

Zaloguj się, aby dodać komentarz