Systemy operacyjne / Zarz ą dzanie procesami 1 Zarz ą dzanie procesami Podstawowe wymagania odno ś nie systemu operacyjnego: • umoŜliwianie przeplatania się wykonywania wielu procesów w celu maksymalizacji wykorzystania czasu procesora, • akceptowalnie krótki czas odpowiedzi systemu, • zarządzanie przydziałem zasobów poszczególnym procesom, • udostępnianie mechanizmów do komunikacji międzyprocesowej, • udostępnianie mechanizmów do tworzenia procesów. Proces • czasem określany równieŜ mianem zadania , • tworzony w celu wykonania konkretnego programu, • moŜe być śledzony (ang. traced). Systemy operacyjne / Zarz ą dzanie procesami 2 Systemy operacyjne / Zarz ą dzanie procesami 3 Proces mo Ŝ e by ć w jednym z dwóch stanów: • wykonywany, • nie wykonywany. Systemy operacyjne / Zarz ą dzanie procesami 4 Utworzenie nowego procesu moŜe być rezultatem: • uruchomienia zadania wsadowego, • rejestracji uŜytkownika do systemu, • zlecenia wykonania pewnej usługi, np. drukowania, • zlecenia utworzenia procesu potomnego wydanego przez proces uzytkowy. Zako ń czenie działania procesu moŜe być rezultatem: • wykonania instrukcji Halt przez zadanie wsadowe, • wyrejestrowania się uŜytkownika z systemu, • zakończenia działania aplikacji, • wystąpienia wyjątku bądź błedu. Systemy operacyjne / Zarz ą dzanie procesami 5 MoŜliwe przyczyny zako ń czenia działania procesu: • zakończenie realizacji algorytmu, • przekroczenie limitu czasowego, • brak dostępnej pamięci, • przekroczenie ograniczeń pamięci, • bład ochrony (np. próba zapisu do pamięci tylko do odczytu), • błąd arytmetyczny, • przeterminowania czasowe, • błąd wejścia/wyjścia, • próba wykonania nieprawidłowej instrukcji, • nieprawidłowe uŜycie danych, • interwencja systemu operacyjnego (np. w przypadku blokady), • zakończenie procesu macierzystego, • Ŝadanie procesu macierzystego. Systemy operacyjne / Zarz ą dzanie procesami 6 Proces nie wykonuj ą cy si ę jest gotowy do wykonania. Proces zablokowany oczekuje na zdarzenie wejścia/wyjścia. Planista nie moŜe po prostu wybrać do wykonania procesu znajdującego się najdłuŜej w kolejce, gdyŜ ten moŜe okazać się zablokowanym.
(…)
… się zablokowanym.
MoŜliwe przyczyny zakończenia działania procesu:
•
•
•
•
•
•
•
•
•
•
•
•
•
Systemy operacyjne / Zarządzanie procesami
7
Systemy operacyjne / Zarządzanie procesami
8
Systemy operacyjne / Zarządzanie procesami
9
Systemy operacyjne / Zarządzanie procesami
10
Systemy operacyjne / Zarządzanie procesami
12
Procesy wstrzymane:
• procesor jest szybszy od urządzeń wejścia-wyjścia zatem moŜe zajść…
…
Systemy operacyjne / Zarządzanie procesami
18
Systemy operacyjne / Zarządzanie procesami
20
o pozycja w strukturze danych, proces moŜe być elementem kolejki,
listy procesów bądź innej struktury organizującej procesy. PCB
moŜe zawierać wskaźniki do innych procesów implementujące
powyŜsze struktury;
o komunikacja
międzyprocesowa,
róŜne
znaczniki,sygnały,
komunikaty mogą być powiązane z komunikacją…
…
przydział unikatowego identyfikatora,
przydział pamięci dla procesu,
inicjalizacja PCB procesu,
wstawienie procesu w odpowiednie struktury (np. listę szeregowanych
procesów),
utworzenie ewentualnych dodatkowych struktur danych (np. do
rozliczania),
Systemy operacyjne / Zarządzanie procesami
21
Kiedy wywłaszczać proces (odbierać procesor):
przerwanie zegarowe, proces wykorzystał przeznaczony mu czas…
… aktualnie wykonującego się procesu,
3. przeniesienie PCB procesu do odpowiedniej kolejki (np. kolejki
Gotowe),
4. wybranie innego procesu do wykonania,
5. aktualizacja PCB wybranego procesu,
6. aktualizacja struktur danych związanych z zarządzaniem pamięcią,
7. odzyskanie kontekstu wybranego procesu.
Systemy operacyjne / Zarządzanie procesami
23
Zarządzanie procesami w systemach Unix SVR4
uruchomiony…
…,
• atrybuty ochrony i kontroli dostępu do współdzielonych obszarów
pamięci,
• informacja niezbędne do zarządzania pamięcią wirtualną.
Tablice dotyczące wejścia/wyjścia:
• dostępność oraz przyporządkowanie urządzeń we/wy,
• status operacji wejścia/wyjścia,
• lokacja w pamięci głównej wykorzystywana jako
źródło/przeznaczenie transferów wejścia/wyjścia.
Tablice dotyczące plików:
•
•
•
•
istnienie plików…
…,
lokalizacja na pamięci zewnętrznej,
bieŜący status,
atrybuty.
Czasami powyŜsza informacja jest zarządzana przez system zarządzania
plikami.
Systemy operacyjne / Zarządzanie procesami
13
Systemy operacyjne / Zarządzanie procesami
14
15
Systemy operacyjne / Zarządzanie procesami
16
Tablica procesów
• gdzie jest zlokalizowany proces,
• atrybuty niezbędne do zarządzania procesem:
o identyfikator procesu,
o stan…
… stron opisujących pamięć wirtualną
skojarzoną z danym procesem;
o prawa własności i wykorzystanie zasobów, przykładowo, moŜe
zawierać listę otwartych plików oraz historię wykorzystywania
przez proces procesora.
Systemy operacyjne / Zarządzanie procesami
Informacje o stanie procesora
zawartość rejestrów procesora,
o stan rejestrów widocznych dla uŜytkownika,
o rejestry kontrolne i rejestry stanu…
... zobacz całą notatkę
Komentarze użytkowników (0)