Zarzadzanie Procesami

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

Janina Mincer

Systemy Operacyjne
Procesy

przebiega sekwencyjnie
program licznik rozkazw stos sekcja danych

Proces - program w czasie wykonania; wykonanie musi


W skad procesu wchodzi:

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

Diagram stanw procesu:

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

Blok kontrolny procesu (PCB) -

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

szeregowanie dugoterminowe - wybr procesw, ktre przejd

dugoterminowe

krtkoterminowe

kolejka gotowych we-wy


Zarzdzanie procesami

CPU

koniec

kolejki czekajcych na we-wy


str.

Janina Mincer

Czasami dochodzi : wymiana ( ) czyli czasowe usuwanie zadania w caoci z pamici gwnej do pomocniczej
szeregowanie rednioterminowe swapping

Systemy Operacyjne

Procesy mona okreli jako:

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

zorientowane na wejcie-wyjcie - spdzaj wicej czasu

Przeczanie kontekstu:

Przeczanie procesora do innego procesu wymaga

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

Proces macierzysty tworzy procesy potomne, ktre z kolei


Wspdzielenie zasobw

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

Obsug procesw zajmuje si

operacyjnego Wtki (lekkie procesy)

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.

Wtek jest podstawow jednostk wykorzystania CPU; posiada

"

Janina Mincer

Systemy Operacyjne

Wtki umoliwiaj poczenie

rwnolegoci z sekwencyjnym wykonaniem i blokujcymi funkcjami systemowymi:


wtek proces - serwer dyspozytor plikw wtek robotnik

(1) danie wykonania pracy skrzynka pocztowa

(2)

(3) jdro

dzielona podrczna pami buforowa

(1) model dyspozytor-pracownik (2) model zespou (3) model potoku

Zarzdzanie procesami

str.

Janina Mincer

Systemy Operacyjne
Przydzia procesora

Podstawowe pojcia

Wieloprogramowo umoliwia zwikszenie wykorzystania


cyklicznie na CPU wyjcie

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

Dziaanie procesu szeregujcego (krtkoterminowo):

Wybiera spord procesw gotowych i umieszczonych w

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

Algorytmy (krtkoterminowego) szeregowania procesw

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

q due FIFO q mae q musi by due w porwaniu z czasem przeczenia

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.



You might also like