Procesy - zagadnienia planowania


1 Planowanie


Planowanie – przydział procesora gwarantujący jego optymalne wykorzystanie (np. gdy proces czeka na urządzenie we-wy; sterowanie przechodzi do następnego.

1. przechodzi ze stanu wykonywany do stanu oczekujący

2. przechodzi ze stanu wykonywany do stanu gotowy

3. przechodzi ze stanu oczekujący do stanu gotowy

4. kończy się





Życie procesu: dwie fazy (cykliczne) : 1. procesora, 2. we-wy (oczekiwania na urządzenie)


Kryteria planowania (różne możliwości - maxymalizacja, minimalizacja):

będziemy minimalizować średni czas oczekiwania w kolejkach


2 Algorytmy planowania


FCFS (First Come First Served)



SJF (Shortest Job First)

tn+1 = i=0n a(1-a)i tn-i gdzie a<1.


Planowanie Priorytetowe:

- zewnętrznie (przez funkcję systemową)

- wewn. przez deklarację samego procesu (na podstawie np. wymagań: pamięć, procesor etc...)


Planowanie Rotacyjne (Round Robin - RR, pol. karuzelowe)

- gdy Q rośnie nieograniczenie; planowanie rotacyjne FCFS

- gdy Q zmierza do 0 zachodzi dzielenie procesora – każdy proces dysponuje procesorem o prędkości 1/N rzeczywistego.

- wskazany jest długi kwant czasu w porównaniu z przełączaniem kontekstu (wpp zła wydajność)

- reguła doświadczalna: kwant czasu powinien być dłuższy niż 80% faz procesora dla optymalnej wydajności.


3 Struktura kolejek w systemie operacyjnym (planowanie wielopoziomowe).


- procesów piewszoplanowych (systemowe, interakcyjne)

- procesów drugoplanowych (wsadowe)

- procesy piewszoplanowe - strategia karuzelowa (RR)

- procesy drugoplanowe - FIFO

- Ustalone, np. obsługuj najpierw wszystkie procesy pierwszoplanowe, potem drugoplanowe; możliwość zagłodzenia

- Kwant czasu: każda kolejka otrzymuje ustaloną część czasu CPU do podziału pomiędzy swoje procesy, np. 80% dla pierwszoplanowych z RR, 20% dla drugoplanowych z FCFS

- Procesy mogą się przemieszczać pomiędzy kolejkami

- liczba kolejek

- algorytm szeregowania dla każdej kolejki

- metoda awansu/degradacji procesów (do kolejki o odpowiednio niższym/wyższym priorytecie)

- metoda wybierania kolejki dla nowego procesu

- rozkład faz jest na ogół w rzeczywistych systemach wykładniczy

- jeśli średnia długość kolejki = n, średni czas obsługi = T, tempo przybywania nowych
procesów =
, to n = T (tw. Little’a; stosuje się ogólnie do stabilnych systemów kolejkowych)

- dzielenie (osobna kolejka i algorytm dla każdego procesora) lub...

- wspólna kolejka:

- każdy procesor sam wybiera proces do wykonania

- jeden procesor przydziela procesy do procesorów

(tzw. wieloprzetwarzanie asymetryczne)