background image

 

1

Systemy operacyjne

Zarządzanie procesami

Wykład 3

powtórzenie

background image

 

2

Planowanie procesów

 Celem wieloprogramowania jest jak najlepsze 

wykorzystanie procesora - powinien on zawsze 

wykonywać jakiś proces. W systemie 

jednoprocesorowym może być tylko jeden proces 

aktywny. Wszystkie pozostałe procesy muszą czekać do 

czasu, aż procesor będzie wolny i będzie można 

przydzielić go jednemu z nich.  Zapewnienie 

najwyższej przepustowości procesora (liczba procesów 

kończonych w jednostce czasu) wymaga planowania 

przydziału procesora dla kolejnych procesów.

 W podziale czasu przełączanie procesora do 

procesów powinno następować tak często, aby każdy z 

wykonywanych programów mógł współpracować z 

użytkownikami w sposób interaktywny. 

background image

 

3

Kolejki planowania (1)

 Wchodzące do systemu procesy trafiają do  
kolejki
 zadań
 - zbioru wszystkich procesów 
systemu – i oczekują na przydział PAO.
 Kolejka procesów gotowych - zbiór wszystkich 
procesów, które oczekują w już w PAO i są gotowe.
 Kolejki do urządzeń - zbiór procesów 
oczekujących  na konkretne urządzenie WE/WY. 

background image

 

4

Planiści (1)

Wyboru gotowego procesu do 

wykonania dokonuje proces 
systemowy zwany planistą 
(scheduler)
.

Planowanie jest podstawową funkcją 

S.O. Prawie wszystkie zasoby 
komputera przydzielane są wg 
jakiegoś planu.

background image

 

5

Planiści (2)

 planista krótkoterminowy (planista 
przydziału procesora) 
- wybiera jeden proces, 
który ma być wykonywany jako następny i 
przydziela mu procesor. 

 planista długoterminowy (planista zadań) 
wybiera procesy przechowywane w pamięci 
masowej (dysk) i ładuje je do pamięci, do kolejki 
zadań (kolejki procesów gotowych);

background image

 

6

Planista pośredni 

W niektórych SO z podziałem czasu może 
występować pośredni poziom planowania i planista 
pośredni 
(średnioterminowy). 

Dokonuje on wymiany procesu poprzez wysyłanie go 
z pamięci operacyjnej na zewnątrz i ponowne 
wprowadzenie. 

Cel:  lepszy dobór procesów w pamięci operacyjnej 
lub
zwolnienie miejsca w pamięci, gdy żądania pamięci 
przekraczają jej bieżący obszar.

background image

 

7

Przełączanie kontekstu

 gdy CPU przełącza się do innego procesu to 

system musi przechować stan starego procesu i 

załadować przechowywany stan nowego procesu; 

nazywa się to przełączaniem kontekstu ;

 czas przełączania kontekstu jest obciążeniem dla 

systemu, które nie jest związane z żadną użyteczną 

pracą ;

 czas ten zależy w dużym stopniu od możliwości 

sprzętu.

background image

 

8

Przydział procesora

Decyzje o przydziale procesora mogą zapadać gdy:
• proces przechodzi ze stanu wykonania do czekania 

(np. zamówienie na WE/WY),

• proces zakończył działanie,
• proces przeszedł od stanu wykonania do stanu 

gotowości (np. wskutek wystąpienia przerwania),

• proces przeszedł ze stanu czekania do stanu 

gotowości (np. po zakończeniu operacji WE/WY).

Jeśli planowanie odbywa się tylko w dwu pierwszych 

przypadkach to jest to 

niewywłaszczeniowy

 

schemat planowania. W przeciwnym razie mówimy 

wywłaszczeniowym

 schemacie planowania. 

background image

 

9

Algorytmy planowania - 

kryteria

Kryteria wyboru algorytmów planowania: 

-

wykorzystanie procesora

 (w rzeczywistym systemie 40-90%),

-

przepustowość

 (liczba procesów kończonych w jednostce czasu) może wynosić od 

jednego procesu na godzinę do 10 procesów na 1 sekundę, 

-

czas cyklu przetwarzania

 (liczony od nadejścia procesu do systemu do zakończenia 

procesu = czekanie na wejście do pamięci+ czekanie w kolejce procesów gotowych 

do wykonania+ wykonywanie procesu przez procesor + wykonywanie operacji 

WE/WY), 

-

czas oczekiwania

 (procesu w kolejce procesów gotowych). Algorytm planowania nie 

ma wpływu na czas w którym proces działa lub wykonuje operacje wejścia-wyjścia. 

Oddziałuje tylko na czas spędzany przez proces w kolejce procesów gotowych do 

wykonania. Dlatego rozważa się czas oczekiwania każdego procesu. 

-

czas odpowiedzi

 (reakcji)- ile czasu upływa od przedłożenia zamówienia do 

rozpoczęcia pierwszej odpowiedzi. 

?

background image

 

10

Przykładowe algorytmy 

planowania przydziału 

procesora 

background image

 

11

Algorytm -pierwszy nadszedł - pierwszy 

obsłużony FCFS (First-Come, First-Served), 

realizacja za pomocą kolejki FIFO. 

Najpierw najkrótsze zadanie (proces) SJF 

(Shortest-Job-First). Algorytm ten wiąże z 

każdym procesem długość jego najbliższej z 

przyszłych faz procesora

Planowanie priorytetowe - każdy proces 

otrzymuje priorytet (np. z przedziału 0-7 

czy 0-4095). Procesor przydziela się temu 

procesowi, którego priorytet jest najwyższy

W planowaniu rotacyjnym (round-robin)- 

ustala się kwant czasu (rzędu 10-100 

milisekund). Planista przegląda kolejkę 

procesów gotowych do wykonania i 

każdemu procesowi przydziela odcinek 

czasu nie dłuższy od 1 kwantu czasu.


Document Outline