SO3W 02


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 oczu
t informatyk12[01] 02 101
introligators4[02] z2 01 n
02 martenzytyczne1
OBRECZE MS OK 02
02 Gametogeneza
02 07
Wyk ad 02
r01 02 popr (2)
1) 25 02 2012
TRiBO Transport 02
02 PNJN A KLUCZ

więcej podobnych podstron