było sytuacji gdy-wszystkie procesy czekają na we/wy i żaden nie jest gotowy do korzystania z procesora
Algorytm FCFS.
Pierwszy zgłoszony,pierwszy obsłużony (ang. first-come,first-served -FCFS).Implementuje się łatwo za pomocą kolejek FIFO -blok kontrolny procesu dołączany na koniec kolejki, procesor dostaje PCB z czoła kolejki. Algorytm FCFS jest niewywłaszczający. Proces utrzymuje procesor do czasu aż zwolni go wskutek zakończenia lub zamówi operację we/wy. Algorytm FCFS jest kłopotliwy w systemach z podziałem czasu bowiem w takich systemach ważne jest uzyskiwanie procesora w regularnych odstępach czasu.
Algorytm SJF.
Algorytm najpierw najkrótsze zadanie (ang.shortest-job-first-SJF) wiąże z każdym procesem długość jego najbliższej z przyszłych faz procesora.Gdy procesor staje się dostępny wówczas zostaje przydzielony procesowi o najkrótszej następnej fazie (gdy fazy s ą równe to mamy FCFS) Algorytm może być 1) wywłaszczaj ący-SJF usunie proces jeśli nowy proces w kolejce procesów gotowych ma krótszą następną fazę procesora od czasu do zakończenia procesu; metoda najpierw najkrótszy pozostały czas (ang. Shortest - remaining time-first -SRTF) 2) niewywłaszczający -pozwól procesowi zakończyć.******SJF jest optymalny:daje minimalny średni czas oczekiwania.Nie ma sposobu na poznanie dł. następnej fazy,możemy ją jedynie oszacować. SJF jest przykładem planowania priorytetowego w którym każdemu procesowi przypisuje się priorytet (liczbę).
Algorytm SRTF.- (SJF wywłaszczający)
Algorytm RR.
Planowanie rotacyjne (ang.round-robin -RR,time-slicing)
zaprojektowano dla systemów z podziałem czasu. Każdy proces otrzymuje małąjednostkę czasu,nazywaną kwantem czasu (ang.time quantum,time slice)zwykle od 10 do 100 milisekund.
Gdy ten czas minie proces jestwywłaszczany i umieszczany na końcu kolejki zadań gotowych (FCFS z wywłaszeniami). Jeśli jest n procesów w kolejce procesów gotowych a kwant czasu wynosi q to każdy proces otrzymuje 1/n czasu procesora porcjami wielkości co najwyżej q jednostek czasu. Każdy proces czeka nie dłużej niż (n-l)*q jednostek czasu. Wydajność algorytmu gdy q duże to RR przechodzi w FCFS,gdy q małe to mamy dzielenie procesora (processor sharing) ale wtedy q musi być duże w stosunku do przełączania kontekstu (inaczej mamy spowolnienie). Mniejszy kwant czasu zwiększa przełączanie kontekstu. Czas cyklu przetwarzania zależy od kwantu czasu.
Czas cyklu przetwarzania-czas między nadejściem procesu do systemu a chwiląjego zakończenia:
Suma czasów czekania na wejście do pamięci, czekania w kolejce procesów gotowych, wykonywania we/wy, wykonania (CPU),
Czas oczekiwania -suma okresów, w których proces czeka w kolejce procesów gotowych do działania.
4