1 / 12

Procesy, wątki

Procesy, wątki. Program a proces. Proces: Przestrzeń adresowa, kod, dane, stos (część pamięci do przechowania zmiennych lokalnych i niektórych adresów) Otwarte pliki urządzenia. Procesy, wątki. Nowy. Gotowy. Działający. Zakończony. Zawieszony. Zablokowany.

mandar
Download Presentation

Procesy, wątki

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Procesy, wątki Program a proces Proces: • Przestrzeń adresowa, kod, dane, stos (część pamięci do przechowania zmiennych lokalnych i niektórych adresów) • Otwarte pliki • urządzenia

  2. Procesy, wątki Nowy Gotowy Działający Zakończony Zawieszony Zablokowany Stany procesu, model sześciostanowy Stan nowo utworzonego procesu przed dołączeniem do zadań gotowych do uruchomienia Nowy Może być natychmiast uruchomiony Gotowy Aktywny; na jednym procesorze w danej chwili działać może tylko jeden proces Działający

  3. Procesy, wątki Nowy Gotowy Działający Zakończony Zawieszony Zablokowany Stany procesu, model sześciostanowy oczekujący, będzie można go uruchomić dopiero po wystąpieniu zdarzenia, np. zakończeniu operacji WE / WY Zablokowany Ukończył zadania, bądź został wyłączony (bo np. błąd) Zakończony Przeniesiony do pamięci niższego rzędu, długo oczekuje na zdarzenie (np. zwolnienie WE/WY przez inny proces) Zawieszony

  4. Procesy, wątki Nowy Gotowy Działający Gotowy Działający Gotowy Przejścia pomiędzy stanami procesu System przekazuje proces do kolejki procesów gotowych, umieszczenie w pamięci. Ograniczenie liczby procesów gotowych (nowe czekają) Proces otrzymuje przydział procesora; planista - algorytm szeregowania (scheduler), priorytety; wywłaszczenie koniec limitu czasu; wywłaszczenie przez proces o wyższym priorytecie, który skończył czekanie, w systemach bez wywłaszczania – proces „sam” może oddać procesor; trzeba zapamiętać stan rejestrów – kontekst procesu

  5. Procesy, wątki Działający Zablokowany Zablokowany Zablokowany Gotowy Zawieszony Przejścia pomiędzy stanami procesu Proces oczekuje np. na operację WE/WY, na dane od innego procesu (lub wątku), dane z chwilowo niedostępnego obszaru pamięci Wystąpiło oczekiwane zdarzenie, proces może być kontynuowany Oczekuje na jakieś zdarzenie, przeniesiony do pamięci niższego poziomu (dysk) w celu zwolnienia pamięci na inne procesy

  6. Procesy, wątki Zawieszony Działający Gotowy Zakończony Przejścia pomiędzy stanami procesu Nastąpiło oczekiwane zdarzenie, jest dość wolnej pamięci • Zadanie zostało ukończone, lub w trakcie wykonywania pojawił się błąd uniemożliwiający dalszą pracę (np. naruszenie ochrony pamięci) • Na danej jednostce (procesorze jednordzeniowym lub rdzeniu procesora wielordzeniowego) w danym momencie tylko jeden proces może być w stanie „działający”!

  7. Procesy, wątki Wielowątkowość Proces: • Jednowątkowy – poszczególne zadania przetwarzane są sekwencyjnie, jedno po drugim • Wielowątkowy – proces zawiera niezależne od siebie zadania, które mogą być wykonywane jednocześnie

  8. Procesy, wątki Wielowątkowość Wątki: • Wymagają mniej zasobów niż procesy, krótszy jest ich czas tworzenia • Wątki należą do przestrzeni adresowej jednego procesu, mogą szybko się komunikować (wymiana danych pomiędzy wątkami szybsza niż pomiędzy procesami, procesy są od siebie izolowane – ochrona pamięci) • Wielowątkowość, wieloprocesorowość: przyspieszenie wykonywania programów

  9. Procesy, wątki Wielowątkowość System operacyjny • Przechowuje informacje (ślady) o działaniu różnych procesów • Przydziela i odbiera zasoby: czas procesora, pamięć, pliki, urządzenia WE / WY • Chroni dane i zasoby każdego procesu przed działaniem innych procesów (pamięć, pliki, WE / WY) • Wynik działania procesu nie może zależeć od tempa przetwarzania innych procesów

  10. Procesy, wątki Współbieżność procesów lub wątków Wielozadaniowy system operacyjny posiada narzędzia dotyczące pojęć: • Wykluczanie wzajemne: w danym czasie tylko jedno zadanie ma dostęp do wspólnych zasobów; sekcja krytyczna: fragment procesu, w którym wykorzystywane są wspólne zmienne, pliki itd. • Synchronizacja: koordynacja działania różnych procesów, zapewniająca właściwą wymianę informacji między nimi • Zakleszczenie: wzajemne blokowanie się procesów, Proces A czeka na efekty procesu B, B na C, a C nie może zacząć, bo czeka na informację od A. Metody zapobiegania, unikania i wykrywania • Zagłodzenie: proces ma niski priorytet i może nigdy nie doczekać się dostępu do zasobów; może być efektem unikania zakleszczeń, niewłaściwego algorytmu szeregowania, zbyt duże liczby zadań

  11. Procesy, wątki Współbieżność procesów lub wątków Wielozadaniowy system operacyjny posiada narzędzia dotyczące pojęć: • Algorytm szeregujący, planista, • Planista krótkoterminowy:ustalanie kolejności wykonywania zadań gotowych, musi być szybki • długoterminowy: dołączanie procesów do listy gotowych • Wywłaszczenie: wstrzymanie aktualnie wykonywanego zadania, by mogło się przetwarzać inne (istnieją rozwiązania bez wywłaszczania – zadania „same” oddają sterowanie)

  12. Procesy, wątki Współczesne systemy operacyjne Wielozadaniowość, wielowątkowość z wywłaszczaniem (przerwania, planista) Symetryczne przetwarzanie wieloprocesorowe

More Related