Systemy operacyjne III
Jan Kazimirski
Systemy
operacyjne III
wykład 2
Systemy operacyjne III
Jan Kazimirski
Plan wykładu
Proces
Stany procesów
Zarządzanie procesami
Przełączanie procesów
Tryby wykonania
Procesy i wątki
2/32
Systemy operacyjne III
Jan Kazimirski
Proces
Elementarna jednostka pracy w systemie
operacyjnym
Proces program w trakcie wykonania
Składniki procesu: kod programu, zestaw
danych
Blok kontrolny procesu (PCB) pozwala na
wstrzymanie i ponowne wznowienie
procesu.
3/32
Systemy operacyjne III
Jan Kazimirski
Blok kontrolny procesu
Identyfikator pozwala rozróżnić
poszczególne procesy
Stan stan w jakim proces się znajduje
Priorytet priorytet procesu w
porównaniu z innymi procesami
Licznik programu adres kolejnego
rozkazu do wykonania
4/32
Systemy operacyjne III
Jan Kazimirski
Blok kontrolny procesu c.d.
Wskazniki pamięci wskazniki do kodu
programu oraz skojarzonych z nim danych
Dane kontekstowe dane z rejestrów
procesora
Informacja o stanie we/wy informacje
o wykorzystywanych przez proces
urządzeniach, lista plików, stan żądań
we/wy
Informacje rozliczeniowe 5/32
Systemy operacyjne III
Jan Kazimirski
Procesy w systemie
Proces zarządzający
Proces I
Proces II
Proces III
6/32
Systemy operacyjne III
Jan Kazimirski
Przełączanie procesów
7/32
Systemy operacyjne III
Jan Kazimirski
Dwustanowy model procesu
Proces w dwóch stanach uruchomiony,
oczekujący.
Diagram stanów:
Przydział
procesora
Czekający Uruchomiony
Wstrzymanie
8/32
procesu
Systemy operacyjne III
Jan Kazimirski
Model 2-stanowy c.d.
Wejście
Wyjście
Przydział
CPU
Kolejka procesów
Wstrzymanie
9/32
Systemy operacyjne III
Jan Kazimirski
Tworzenie procesu
Tworzenie procesu dodawanie nowego
procesu do puli przetwarzanych procesów
Nowe zadanie wsadowe
Logowanie użytkownika
System tworzy proces (np. realizacja usługi)
Istniejący proces tworzy proces potomny
10/32
Systemy operacyjne III
Jan Kazimirski
Zakończenie procesu
Proces usuwany z puli przetwarzanych
procesów
Normalne zakończenie
Przekroczenie limitu czasu
Brak pamięci
Naruszenie ochrony pamięci, zasobów
Przekroczony czas oczekiwania
Błąd wejścia/wyjścia
11/32
Systemy operacyjne III
Jan Kazimirski
Zakończenie procesu c.d.
Błędny rozkaz
Zły format danych
Błąd arytmetyczny
Interwencja operatora lub systemu
Interwencja procesu macierzystego
Zakończenie procesu macierzystego
12/32
Systemy operacyjne III
Jan Kazimirski
Model 2-stanowy
implementacja i ograniczenia
Model 2-stanowy umożliwia prostą
implementację Przydział cykliczny,
kolejka procesów na zasadzie FIFO
Problem: nie zawsze proces czekający jest
gotowy do wykonania.
Oczekujący na we/wy
Oczekujący na stronę pamięci (stronicowanie)
Oczekuje na sygnał od innego procesu
13/32
Systemy operacyjne III
Jan Kazimirski
Model 5-stanowy
2
4
1
URUCHOMIO-
NOWY GOTOWY ANULOWANY
NY
3
1. Przyjęcie procesu
6
2. Przydział CPU
5
3. Przerwa
4. Zwolnienie
5. Oczekiwanie na
ZABLOKO-
WANY zdarzenie
6. Pojawienie się
zdarzenia
14/32
Systemy operacyjne III
Jan Kazimirski
Realizacja modelu 5-
stanowego
Wejście
Wyjście
Przydział
CPU
Kolejka procesów
Wstrzymanie
Oczekiwanie na
zdarzenie
Zdarzenie
15/32
Kolejka procesów zablokowanych
Systemy operacyjne III
Jan Kazimirski
Rozwinięcia
Wprowadzenie priorytetu procesu osobne
kolejki gotowych procesów o różnych
priorytetach
Różne zdarzenia osobne kolejki procesów
oczekujących na poszczególne zdarzenia
Mechanizm wymiany przenoszenie
zablokowanych procesów do pamięci
pomocniczej
16/32
Systemy operacyjne III
Jan Kazimirski
Mechanizm wymiany
2 nowe stany:
zablokowany zawieszony
gotowy zawieszony
Przejścia
zablokowany zablokowany zawieszony
zablokowany zawieszony gotowy zawieszony
gotowy zawieszony gotowy
17/32
Systemy operacyjne III
Jan Kazimirski
Zarządzanie procesami
Tablica pamięci procesów
Rezerwacja pamięci operacyjnej dla procesów
Rezerwacja pamięci pomocniczej dla procesów
Atrybuty zabezpieczeń bloków pamięci
Dane potrzebne do zarządzania pamięcią
wirtualną
18/32
Systemy operacyjne III
Jan Kazimirski
Zarządzanie procesami c.d.
Tablice we/wy zarządzanie urządzeniami
we/wy i kanałami komunikacyjnymi
systemu operacyjnego
Tablice plików informacje o
wykorzystywanych plikach, ich położeniu,
statusie itp.
Tablice procesów
19/32
Systemy operacyjne III
Jan Kazimirski
Obraz procesu
Obraz procesu fizyczna manifestacja
procesu.
Elementy obrazu procesu:
Dane użytkownika
Program użytkownika
Stos
Blok kontrolny procesu
20/32
Systemy operacyjne III
Jan Kazimirski
Obrazy procesów w pamięci
wirtualnej
PCB PCB PCB
Stos Stos Stos
Prywatna przestrzeń Prywatna przestrzeń Prywatna przestrzeń
adresowa procesu adresowa procesu adresowa procesu
Pamięć dzielona Pamięć dzielona Pamięć dzielona
Proces 1 Proces 2 Proces 3
21/32
Systemy operacyjne III
Jan Kazimirski
Struktura listy procesów
Uruchomiony PCB
Gotowy
Zablokowany PCB PCB PCB
PCB PCB PCB
22/32
Systemy operacyjne III
Jan Kazimirski
Tryby wykonania
Tryb użytkownika
mniej uprzywilejowany
niedostępne niektóre rozkazy
niedostępne niektóre obszary pamięci i dane
systemowe
Tryb jądra
tryb uprzywilejowany
dostęp do wewnętrznych struktur danych
systemu
23/32
Systemy operacyjne III
Jan Kazimirski
Tworzenie procesu
Nadanie numeru identyfikacyjnego
Alokacja przestrzeni na obraz procesu
Inicjalizacja PCB procesu
Umieszczenie na odpowiedniej liście
procesów
24/32
Systemy operacyjne III
Jan Kazimirski
Przełączanie procesów
Powody przełączania procesów
Przerwanie zegara proces wykorzystał swój
przedział czasu
Przerwanie we/wy nastąpiło zdarzenie które
odblokowuje proces o wyższym priorytecie
Błąd braku strony proces potrzebuje strony
której aktualnie nie ma w pamięci.
25/32
Systemy operacyjne III
Jan Kazimirski
Etapy przełączania procesów
Zapisanie kontekstu aktualnego procesu
Aktualizacja PCB procesu
Przeniesienie procesu do odpowiedniej
kolejki
Wybór innego procesu
Aktualizacja PCB nowego procesu
Przywrócenie kontekstu nowego procesu do
stanu sprzed jego zatrzymania.
26/32
Systemy operacyjne III
Jan Kazimirski
Procesy i wątki
Proces charakteryzuje się dwiema
właściwościami:
Prawa własności do zasobów
Szeregowanie / wykonywanie
Właściwości te można traktować oddzielnie
wprowadzając wątki
27/32
Systemy operacyjne III
Jan Kazimirski
Realizacja wielowątkowości
Jeden proces jeden
wątek
Jeden proces wiele
wątków
28/32
Systemy operacyjne III
Jan Kazimirski
Realizacja wielowątkowości
c.d.
Wiele procesów po 1
wątku
Wiele procesów
wiele wątków
29/32
Systemy operacyjne III
Jan Kazimirski
Elementy procesu i wątku
Proces
Wirtualna przestrzeń adresowa obraz procesu
Chroniony dostęp do procesora, zasobów,
innych procesów
Wątek
Kontekst wątku
Lokalne dane i lokalny stos wykonawczy
Dostęp do pamięci i zasobów procesu
(współdzielony z innymi wątkami)
30/32
Systemy operacyjne III
Jan Kazimirski
Korzyści stosowania wątków
Szybkie tworzenie wątku
Szybkie przerwanie i wznowienie wątku
Szybkie przełączanie wątku
Wydajna komunikacja między wątkami
poprzez pamięć wspólną
31/32
Systemy operacyjne III
Jan Kazimirski
Wady stosowania wątków
Brak ochrony zasobów wszystkie wątki je
współdzielą
Konieczność synchronizacji wątków w
celu ochrony danych
32/32
Wyszukiwarka
Podobne podstrony:
Margit Sandemo Cykl Saga o czarnoksiężniku (02) Blask twoich oczut informatyk12[01] 02 101introligators4[02] z2 01 n02 martenzytyczne1OBRECZE MS OK 0202 Gametogeneza02 07Wyk ad 02r01 02 popr (2)1) 25 02 2012TRiBO Transport 0202 PNJN A KLUCZwięcej podobnych podstron