Professional Documents
Culture Documents
Zarzadzanie Procesami
Zarzadzanie Procesami
Zarzadzanie Procesami
Systemy Operacyjne
Procesy
przebiega sekwencyjnie
program licznik rozkazw stos sekcja danych
Procesy wykonuj si (niekoniecznie Proces podczas wykonania zmienia stan: nowy: proces zosta utworzony wykonywany: s wykonywane instrukcje procesu oczekujcy: proces czeka na zajcie jakiego zdarzenia gotowy: proces czeka na przydzielenie procesora zakoczony: proces zakoczy wykonanie
wspbienie
rwnolegle
nowy
dopuszczony
wyjcie
zakoczony
przerwanie
gotowy
wejcie-wyjcie lub warunek zakoczenie
wykonywany
wejcie-wyjcie lub warunek czekanie
wybr do wykonania
oczekujcy
Zarzdzanie procesami
str.
Janina Mincer
Systemy Operacyjne
zwizane z procesem: stan procesu licznik rozkazw rejestry procesora informacje o szeregowaniu przez procesor informacje o pamici zajtej przez proces informacje rozliczeniowe informacje o stanie wejcia-wyjcia
Kolejki szeregowania procesw
zawiera informacje
kolejka zada - zbir wszystkich procesw w systemie kolejka gotowych - zbir wszystkich procesw umieszczonych
w pamici gwnej, gotowych i czekajcych na wykonanie kolejki do urzdze - zbir procesw czekajcych na okrelone urzdzenie wejcia-wyjcia
Szeregowanie procesw
do kolejki gotowych; wykonywane rzadko (sekundy, minuty); moe by wolne; okrela poziom wieloprogramowoci - wybr nastpnego procesu do wykonania i przydzia CPU; wykonywane czsto (milisekundy); musi by szybkie
szeregowanie krtkoterminowe
dugoterminowe
krtkoterminowe
CPU
koniec
Janina Mincer
Czasami dochodzi : wymiana ( ) czyli czasowe usuwanie zadania w caoci z pamici gwnej do pomocniczej
szeregowanie rednioterminowe swapping
Systemy Operacyjne
wykonujc wejcie-wyjcie ni obliczenia; wiele krtkich odcinkw czasu zapotrzebowania na CPU - spdzaj wicej czasu wykonujc obliczenia; kilka bardzo dugich odcinkw czasu zapotrzebowania na CPU
zorientowane na obliczenia
Przeczanie kontekstu:
przechowania stanu starego procesu i zaadowanie przechowanego stanu nowego procesu Czas przeczenia kontekstu jest narzutem na dziaanie systemu Czas przeczenia kontekstu zaley od wsparcia ze strony sprztu (rzd wielkoci: 1 - 100 mikrosekund)
Tworzenie procesw
tworz inne procesy; powstaje w ten sposb : proces potomny i macierzysty wspdziel wszystkie zasoby; potomkowie dziel cz zasobw przodka; przodek i potomkowie nie dziel adnych zasobw : wspbienie lub przodek czeka na zakoczenie potomkw : potomek jest kopi przodka lub potomek aduje nowy program Unix: fork, exec
drzewo procesw Wykonanie Przestrze adresowa
str.
Zarzdzanie procesami
Janina Mincer
Systemy Operacyjne
Proces wykonuje ostatni instrukcj i prosi system operacyjny o usunicie (exit); przekazanie danych z procesu potomnego do macierzystego (wait); zwolnienie przydzielonych zasobw Przodek moe przerwa wykonanie potomka: potomek
Koczenie procesw
przekroczy przydzielone zasoby; zlecone potomkowi zadanie nie jest ju potrzebne; przodek koczy dziaanie
jdro systemu
wasny licznik rozkazw, zbir rejestrw, stos, stan, wtki potomne Wtek wspdzieli z innymi wtkami tego samego zadania: przestrze adresow, zmienne globalne, zasoby systemowe Tradycyjny proces ( ) jest rwnowany zadaniu z jednym wtkiem Jeli zadanie skada si z wielu wtkw, to w czasie gdy jeden wtek jest zablokowany, moe si wykonywa inny wtek tego zadania; wsppraca wielu wtkw w jednym zadaniu pozwala zwikszy przepustowo i poprawi wydajno Implementacja wtkw: - na poziomie uytkownika (projekt Andrew z CMU); dobra wydajno, potrzebny system czasu wykonania wspomagajcy wtki - wspierana przez jdro systemu (Mach, OS/2); gorsza wydajno, ale implementacja nie wymaga sztuczek - podejcie hybrydowe (Solaris 2) Tworzenie wtkw i przeczanie procesora midzy wtkami tego samego procesu s duo tasze ni tworzenie procesw i przeczanie kontekstu midzy procesami
ciki
Zarzdzanie procesami str.
"
Janina Mincer
Systemy Operacyjne
(2)
(3) jdro
Zarzdzanie procesami
str.
Janina Mincer
Systemy Operacyjne
Przydzia procesora
Podstawowe pojcia
CPU i urzdze zewntrznych Wykonanie procesu przebiega : fazy przeplataj si z fazami Rozkad faz zapotrzebowania na CPU powinien mie wpyw na dobr algorytmu szeregowania procesw
zapotrzebowania na wejcie-
zapotrzebowania
pamici jeden i przydziela mu procesor Decyzj podejmuje si gdy proces: 1. przechodzi ze stanu wykonywany do stanu oczekujcy 2. przechodzi ze stanu wykonywany do stanu gotowy 3. przechodzi ze stanu oczekujcy do stanu gotowy 4. koczy si Szeregowanie bez wywaszczania: 1 i 4 Szeregowanie z wywaszczaniem: pozostae
Dyspozytor (
Przekazuje procesor procesowi wybranemu przez proces szeregujcy; obowizki: przeczanie kontekstu przeczenie do trybu uytkownika wykonanie skoku do odpowiedniego adresu w programie uytkownika w celu wznowienia wykonania programu Opnienie zwizane z dziaaniem dyspozytora - czas potrzebny dyspozytorowi na zatrzymanie jednego procesu i uruchomienie innego
Zarzdzanie procesami str.
dispatcher)
Janina Mincer
Systemy Operacyjne
Kryteria szeregowania
w jednostce czasu (max) - czas potrzebny na wykonanie procesu (min) - czas spdzony przez proces w kolejce procesw gotowych (min) - czas liczony od chwili dostarczenia dania do chwili uzyskania odpowiedzi (w systemie z podziaem czasu) (min)
Czas obrotu Czas oczekiwania Czas reakcji
Wykorzystanie CPU - procent czasu zajtoci CPU (max) Przepustowo - liczba procesw, ktre zakoczyy wykonanie
1. Kolejka prosta (FIFO) Procesy s wykonywane w kolejnoci przybywania Brak wywaszczania : Procesy i ich zapotrzebowanie na CPU: P1 (24), P2 (3), P3 (3) Jeli procesy przybyy w kolejnoci P1, P2, P3: czas oczekiwania: P1 = 0, P2 = 24, P3 = 27 redni czas oczekiwania: (0 + 24 + 27)/3 = 17 Jeli procesy przybyy w kolejnoci P2, P3, P1: czas oczekiwania: P1 = 6, P2 = 0, P3 = 3 redni czas oczekiwania: (6 + 0 + 3)/3 = 3 : krtkie procesy wstrzymywane przez dugie : sprawiedliwy, niski narzut systemowy : dugi redni czas oczekiwania i wariancja czasu oczekiwania, nieakceptowalny w systemach z podziaem czasu
Przykad Efekt konwoju Zalety Wady
Zarzdzanie procesami str.
Janina Mincer
Systemy Operacyjne
2. Najkrtsze zadanie najpierw (SJF) Procesor przydziela si temu procesowi, ktry ma najkrtsz najblisz faz zapotrzebowania na CPU (gdy rwne, to FCFS) Z wywaszczaniem (SRTF) lub bez : Procesy, ich czas przybycia i zapotrzebowanie na CPU: P1 w 0 (7), P2 w 2 (4), P3 w 4 (1), P4 w 5 (4) Bez wywaszczania - kolejno obsugi: P1, P3, P2, P4 czas oczekiwania: P1 = 0, P2 = 6, P3 = 3, P4 = 7 redni czas oczekiwania: (0 + 6 + 3 + 7)/4 = 4 Z wywaszczaniem - kolejno obsugi: P1, P2, P3, P2, P4, P1 czas oczekiwania: P1 = 9, P2 = 1, P3 = 0, P4 = 2 redni czas oczekiwania: (9 + 1 + 0 + 2)/4 = 3 : optymalny : wymaga okrelenia dugoci przyszej fazy CPU (mona prbowa oszacowa np. jako redni wykadnicz poprzednich faz: tn+1 = atn + (1-a)tn )
Przykad Zalety Wady
3. Szeregowanie priorytetowe Z kadym procesem jest zwizany (liczba cakowita) CPU przydziela si procesowi z najwyszym priorytetem, FCFS gdy priorytety rwne (zwykle maa liczba wysoki priorytet) Z wywaszczaniem lub bez wywaszczania SJN jest strategi szeregowania priorytetowego (priorytet przewidywana dugo nastpnej fazy CPU) : zagodzenie : wzrost priorytetu z upywem czasu (proces si starzeje)
priorytet Problem Rozwizanie
Zarzdzanie procesami str.
&
Janina Mincer
Systemy Operacyjne
4. Szeregowanie karuzelowe (Round Robin) Kady proces otrzymuje kwant czasu CPU, zwykle 10 - 100 milisekund. Po upywie kwantu proces zostaje wywaszczony i idzie na koniec kolejki procesw gotowych Jeli w kolejce procesw gotowych jest procesw, a to wielko kwantu, to kady proces dostaje 1/ czasu procesora w odcinkach dugoci co najwyej . aden proces nie czeka na nastpny kwant duej ni ( -1) jednostek czasu : Procesy i ich zapotrzebowanie na CPU: P1 (53), P2 (17), P3 (68), P4 (24) (kwant = 20)
n q n q n q Przykad
P1 0
P2 20
P3 37 57
P4 77
P1 97
P3 117
P4 12
P1 134
P3
P3 154 162
czas oczekiwania: P1 = 81, P2 = 20, P3 = 94, P4 = 97 redni czas oczekiwania: (81 + 20 + 94 + 97)/4 = 73
Wydajno
kontekstu, wpp narzut systemowy jest zbyt wysoki : 80% faz CPU powinno by krtszych ni kwant czasu PS ( czyli ): gdy kwant bardzo may, to wydaje si, e kady z procesw ma wasny procesor dziaajcy z 1/ prdkoci rzeczywistego procesora Cechy: zwykle wyszy redni czas obrotu ni dla SRTF, lecz lepszy czas reakcji
regua processor sharing, dzielenie procesora n
str.
Zarzdzanie procesami
'
Janina Mincer
Systemy Operacyjne
5. Kolejki wielopoziomowe Kolejka procesw gotowych jest podzielona na odrbne kolejki. Przykad: procesy (interakcyjne) procesy (wsadowe) Kada kolejka ma wasny algorytm szeregowania Przykad: procesy - strategia karuzelowa procesy - kolejka prosta Szeregowanie pomidzy kolejkami: , np. obsuguj najpierw wszystkie procesy pierwszoplanowe, potem drugoplanowe; moliwo zagodzenia - kada kolejka otrzymuje ustalon cz czasu CPU do podziau pomidzy swoje pocesy, np. 80% dla pierwszoplanowych z RR, 20% dla drugoplanowych z FCFS 6. Kolejki wielopoziomowe ze sprzeniem zwrotnym Procesy mog si przemieszcza pomidzy kolejkami : liczba kolejek algorytm szeregowania dla kadej kolejki metoda przemieszczania procesw do wyszych kolejek metoda przemieszczania procesw do niszych kolejek metoda wybierania kolejki dla nowego procesu : proces zuywajcy duo czasu procesora (np. cay kwant w RR) przechodzi do kolejki o niszym priorytecie, ale duszym kwancie. Na najniszym poziomie: FCFS. Procesy interakcyjne i zorientowane na wejcie-wyjcie bd pozostawa w kolejkach o wyszym priorytecie, a procesy zorientowane obliczeniowo - w kolejkach o niszym priorytecie.
piewszoplanowe drugoplanowe piewszoplanowe drugoplanowe Stay priorytet Kwant czasu Parametry metody Przykad
Zarzdzanie procesami str.
Janina Mincer
Zalety
: bardziej elastyczna ni zwyke kolejki wielopoziomowe, umoliwia implementacj starzenia si procesw : duo parametrw wymagajcych dostrajania, wysoki koszt implementacji 7. Szeregowanie w systemach wieloprocesorowych : kady procesor ma wasn kolejk i wasny algorytm szeregowania : (osobna kolejka dla kadego procesora) wsplna kolejka - kady procesor sam wybiera proces do wykonania - jeden procesor przydziela procesy do procesorw ( ) 8. Szeregowanie w systemach czasu rzeczywistego Systemy czasu rzeczywistego ze zadania krytyczne musz si zakoczy w zadanym czasie Systemy czasu rzeczywistego z zadania krytyczne s obsugiwane z wyszym priorytetem ni pozostae
Wady Systemy heterogeniczne Systemy homogeniczne dzielenie obcienia wieloprzetwarzanie asymetryczne sztywnymi wymaganiami agodnymi wymaganiami
Systemy Operacyjne
Zarzdzanie procesami
str.