background image

1

1

SYSTEMY OPERACYJNE

PLANOWANIE PRZYDZIAŁU PROCESORA

„

Koncepcja planowania

„

Tryb decyzji

„

Funkcja priorytetu

„

Reguła arbitrażu

„

Algorytmy planowania

„

niewywłaszczającego

„

wywłaszczającego

2

OGÓLNA KONCEPCJA PLANOWANIA

„

Tryb decyzji — określa moment czasu, w 

którym oceniane i porównywane są

priorytety procesów i dokonywany jest 

wybór procesu do wykonania.

„

Funkcja priorytetu — funkcja  zwracająca 

aktualny priorytet procesu na podstawie 

parametrów procesu i stanu systemu.

„

Reguła arbitrażu — reguła rozwiązywania 

konfliktów pomiędzy procesami o tym 

samym priorytecie.

background image

2

3

KOMPONENTY JĄDRA 

W PLANOWANIU

„

Planista krótkoterminowy (ang. CPU 

scheduler) — wyznacza wartość priorytetu 

procesów gotowych i wybiera proces (o 
najwyższym priorytecie) do wykonania.

„

Ekspedytor (ang. dispatcher) — realizuje 

przekazanie sterowanie do procesu 

wybranego przez planistę (jest to najczęściej 

ostatni krok w przełączeniu kontekstu).

4

TRYB DECYZJI

„

Schemat niewywłaszczeniowy

(ang. nonpreemptive) — proces po uzyskaniu 

dostępu do procesora wykonywany jest do 

momentu zakończenie lub zgłoszenia żądania 

obsługi do systemu.

„

Schemat wywłaszczeniowy

(ang. preemptive) — proces może zostać

zatrzymany i umieszczony w kolejce procesów 

gotowych, a procesor zostaje przydzielony 

procesowi o wyższym (lub równym) priorytecie.

background image

3

5

PODEJMOWANIU DECYZJI

O WYWŁASZCZENIU

„

Utworzenie i przyjęcie nowego procesu.

„

Obudzenie procesu w wyniku otrzymania komunikatu, 

sygnału gotowości urządzenia (przerwanie) lub sygnału 

wynikającego z synchronizacji.

„

Upłynięcie kwantu czasu odmierzanego przez czasomierz.

„

Wzrost priorytetu innego procesu w stanie 

gotowy 

powyżej priorytetu procesu wykonywanego — możliwe 

w systemie z dynamicznym mechanizmem zmiany 

priorytetów.

6

WYWŁASZCZANIE SELEKTYWNE

„

Z każdym procesem wiąże się parę bitów 

(

u

p

v

p

) o następującej interpretacji:

 wypadku

przeciwnym

proces

yć 

 wywłaszcz

może

 

 

jeśli

   

p

u

p

=

,

0

,

1

 wypadku

przeciwnym

łaszczony

zostać wyw

 

może

 

 

jeśli

   

p

v

p

=

,

0

,

1

background image

4

7

UOGÓLNIONE 

WYWŁASZCZANIE SELEKTYWNE

„

Z każdym procesem wiąże się parę priorytetów (

Π

p

, Φ

p

), 

w której 

Π

p

oznacza priorytet procesu w stanie gotowości, 

Φ

p

oznacza priorytet procesu wykonywanego.

„

Proces 

q

może wywłaszczyć proces p, gdy 

Π

q

> Φ

p

„

Uniwersalny mechanizm wywłaszczania selektywnego 

można uzyskać, implementując macierz bitów, 

określających prawo wywłaszczenia.

„

Ustawiony bit na pozycji (

p, q

) oznaczałby prawo 

wywłaszczenia procesu 

q

przez proces 

p

.

8

Klasyfikacja SO ze względu

na sposób przetwarzania

„

Systemy przetwarzania bezpośredniego

(ang. on-line processing systems) — systemy interakcyjne 

„

występuje bezpośrednia interakcja pomiędzy użytkownikiem a 

systemem

„

wykonywanie zadania użytkownika rozpoczyna się zaraz po 

przedłożeniu

„

Systemy przetwarzania pośredniego

(ang. off-line processing systems) — systemy wsadowe

„

występuje znacząca zwłoka czasowa między przedłożeniem a 

rozpoczęciem wykonywania zadania

„

niemożliwa jest ingerencja użytkownika w wykonywanie zadania

background image

5

9

FUNKCJA PRIORYTETU

„

Argumentami funkcji priorytetu są

parametry procesu oraz stanu systemu.

„

Priorytet procesu jest wartością funkcji 

priorytetu dla bieżących wartości 

parametrów danego procesu i aktualnego 

stanu systemu.

10

PARAMETRY FUNKCJI PRIORYTETU

„

wymagania odnośnie wielkości przestrzeni 

adresowej pamięci,

„

czas oczekiwania — czas spędzony w kolejce 

procesów gotowych (czas spędzony w stanie 

gotowości)

„

czas obsługi — czas, przez który proces był

wykonywany (wykorzystywał procesor) od 

momentu przyjęcia do systemu

„

rzeczywisty czas przebywania w systemie 

czas spędzony w systemie od momentu przyjęcia 

(czas obsługi + czas oczekiwania + czas realizacji 

żądań zasobowych),

background image

6

11

PARAMETRY FUNKCJI PRIORYTETU

„

priorytet zewnętrzny — składowa priorytetu, 

która pozwala wyróżnić procesy ze względu na 

klasy użytkowników.

„

czasowa linia krytyczna — określa czas po 

którym wartość wyników spada (nawet do zera, np. 

przy przewidywaniu pogody),

„

obciążenie systemu — liczba procesów 

przebywających w systemie i ubiegających się

(potencjalnie) o przydział procesora.

12

REGUŁA ARBITRAŻU

„

losowo — możliwe w przypadku, gdy liczba 

procesów o tym samym priorytecie jest niska,

„

cyklicznie — cykliczny przydział procesora 

kolejnym procesom,

„

w kolejności FIFO — w kolejności 

przyjmowania procesów do systemu.

background image

7

13

KRYTERIA OCENY 

ALGORYTMÓW PLANOWANIA

„

Efektywność z punktu widzenia systemu 

„

wykorzystanie procesora (processor utilization) —

procent czasu, przez który procesor jest zajęty pracą,

„

przepustowość (throughput) — liczba procesów 

kończonych w jednostce czasu.

„

Inne aspekty z punktu widzenia systemu

„

sprawiedliwość (fairness) — równe traktowanie 

proc.,

„

respektowanie priorytetów procesów

„

równoważenie obciążenia wykorzystania zasobów

14

KRYTERIA OCENY 

ALGORYTMÓW PLANOWANIA

„

Efektywność z punktu widzenia użytkownika

„

czas cyklu przetwarzania (turnaround time) — czas 

pomiędzy przedłożeniem zadania, a zakończeniem 

jego wykonywania (rzeczywisty czas przebywania w 

systemie w momencie zakończenie procesu),

„

czas odpowiedzi (response time) — czas pomiędzy 

przedłożeniem zadania, a uzyskaniem pierwszej 

odpowiedzi.

„

Inne aspekty z punktu widzenia użytkownika

„

przewidywalność — realizacja przetwarzania w 

zbliżonym czasie niezależnie od obciążenia systemu.

background image

8

15

ALGORYTMY PLANOWANIA

NIEWYWŁASZCZAJĄCEGO

„

FCFS — pierwszy  zgłoszony, pierwszy obsłużony,

„

LCFS — ostatni  zgłoszony, pierwszy obsłużony,

„

SJF (SJN) — najpierw najkrótsze zadanie,

„

planowanie priorytetowe — bazujące na 

priorytecie zewnętrznym,

„

planowanie przed liniami krytycznymi 

zakończenie zadania przed czasową linią
krytyczną lub możliwie krótko po tej linii.

16

FCFS (FIFO)

FCFS — pierwszy  zgłoszony, 

pierwszy obsłużony

„

Wykonywanie procesów w 

kolejności zgłaszania się do 

systemu

„

Duży rozrzut czasu 

oczekiwania

background image

9

17

LCFS (LIFO)

LCFS — ostatni  zgłoszony, 

pierwszy obsłużony

„

Wykonywanie procesów w 

kolejności odwrotnej do 

kolejności zgłaszania się do 

systemu

„

Podejście nie stosowane w 

współczesnych systemach 

komputerowych.

18

SJF (SJN)

SJF (SJN) — najpierw 

najkrótsze zadanie

„

Wybierany jest proces, który 

ma najkrótszy czas obsługi.

„

Daje minimalny średni czas 

oczekiwania

background image

10

19

PLANOWANIE PRIORYTETOWE

Planowanie priorytetowe

(ang. priority scheduling)

„

Wybierany jest proces, który 

ma największy priorytet 

zewnętrzny.

20

ALGORYTMY PLANOWANIA

WYWŁASZCZAJĄCEGO

„

Planowanie rotacyjne — po ustalonym 

kwancie czasu proces wykonywany jest 
przerywany i trafia do kolejki procesów 

gotowych.

„

SRT — najpierw zadanie, które ma najkrótszy 

czas do zakończenia,

„

Planowanie wielokolejkowe — w systemie 

jest wiele kolejek procesów gotowych i każda z 

kolejek może być inaczej obsługiwana.

background image

11

21

PLANOWANIE ROTACYJNE

Planowanie rotacyjne
(ang. Round Robin — RR)

„

Po upływie ustalonego kwant 

czasu proces jest wywłaszczany 

i trafia na koniec kolejki procesów 

gotowych (chyba że wcześniej 

zażąda operacji wejścia-wyjścia)

„

Preferencja dla zadań krótkich 

(wydłuża się czas oczekiwania i 

czas cyklu przetwarzania dla zadań

długich)

„

Przełączanie kontekstu pochłania 

pewien czas!!!

22

SRT

SRT — najpierw zadanie, 

które ma najkrótszy czas 

do zakończenia

„

Wybierany jest proces, 

który ma najkrótszą

następną fazę procesora

„

wywłaszczająca wersja 

algorytmu SJF

background image

12

23

PLANOWANIE WIELOKOLEJKOWE

„

Podział procesów na grupy 

(np. procesy interaktywne i 

procesy wsadowe) i 

wynikający z tego przydział

do różnych kolejek procesów 

gotowych

„

Możliwość przydziału różnych 

priorytetów oraz różnych 

algorytmów szeregowania do 

poszczególnych kolejek

24

WŁASNOŚCI ALGORYTMÓW 

PLANOWANIA

a — bieżący (dotychczasowy) czas obsługi, r — rzeczywisty  czas  w 

systemie, 

t — całkowity (do momentu zakończenia) czas obsługi

background image

13

25

IMPLEMENTACJA ALGORYTMÓW 

PLANOWANIA

„

Z punktu widzenia przetwarzania użytkowego 

przełączanie kontekstu jest marnotrawstwem 

czasu procesora.

„

Decyzja planisty krótkoterminowego musi zapaść

w możliwie krótkim czasie.

„

Struktury danych muszą dostarczyć informacji 

niezbędnych do dokonania szybkiego wyboru 

procesu o najwyższym priorytecie zgodnie z 

polityką planowania przydziału procesora 

(modelem matematycznym).

26

IMPLEMENTACJA ALGORYTMU FCFS

„

Struktura danych dla kolejki procesów 

gotowych -> kolejka FIFO

„

Umieszczenie procesu w kolejce procesów 

gotowych -> dopisanie procesu na końcu 

kolejki FIFO

„

Wybór procesu do wykonania -> pobranie 

procesu z czoła kolejki FIFO

background image

14

27

IMPLEMENTACJA ALGORYTMU LCFS

„

Struktura danych dla kolejki procesów 

gotowych -> stos

„

Umieszczenie procesu w kolejce 

procesów gotowych -> odłożenie procesu 

na szczycie stosu

„

Wybór procesu do wykonania -> zdjęcie 

procesu ze szczytu stosu

28

IMPLEMENTACJA ALGORYTMU SJN

„

Struktura danych dla kolejki procesów 

gotowych -> lista posortowana rosnąco 
wg. założonego całkowitego czasu obsługi

„

Umieszczenie procesu w kolejce procesów 

gotowych -> wstawienie procesu do listy 

w kolejności zgodnej z całkowitym czasem 
obsługi

„

Wybór procesu do wykonania -> zdjęcie 

pierwszego procesu z listy

background image

15

29

ALGORYTM FCFS W UJĘCIU 

PROBABILISTYCZNYM

„

λ

— średnia częstotliwość przyjmowania 

procesów do systemu

„

T

s

— średni czas obsługi procesu

„

μ

— maksymalna liczba procesów obsługiwanych 

w jednostce czasu

30

ALGORYTM FCFS –

WYKORZYSTANIE PROCESORA

„

ρ

— średnie wykorzystanie procesora

background image

16

31

ALGORYTM FCFS –

CZAS OCZEKIWANIA

„

T

w

(

p

) — czas oczekiwania procesu 

na przydział

procesora

„

— liczba procesów oczekujących w momencie 

przyjęcia procesu 

do systemu

32

ALGORYTM RR –

DOBÓR KWANTU CZASU

„

Krótki kwant czasu oznacza zmniejszenie czasu 

cyklu przetwarzania procesów krótkich, ale 

zwiększa narzut czasowy związany z obsługą

przerwań i przełączaniem kontekstu.

„

Z punktu widzenia interakcji z użytkownikiem 

kwant czasu powinien być trochę większy, niż

czas potrzebny na typową interakcję.

background image

17

33

Dobór kwantu czasu, 

a czas odpowiedzi systemu

34

Tradycyjne szeregowanie w Uniksie

oznaczenia

„

cpu

i

— miara wykorzystania procesora przez 

proces 

i

-ty w poprzednim okresie kontrolnym 

(od ostatniego przełączenia kontekstu w 

systemie),

„

baza

i

— priorytet bazowy procesu 

i

-tego,

„

nice

i

— składowa priorytetu procesu 

i

-tego 

definiowana przez użytkownika,

„

pri

i

— priorytet procesu 

i

-tego (mniejsza 

wartość oznacza wyższy priorytet).

background image

18

35

Tradycyjne szeregowanie w Uniksie

przeliczanie priorytetu

36

Tradycyjne szeregowanie w Uniksie

przykład