Systemy operacyjne szeregują procesy na zasadzie „ najkrótsze zadanie najpierw ‘’ .(SJF) bez wywłaszczania . Jeśli zapotrzebowanie na czas procesora dla trzech procesów wynosi odpowiednio : P1 -18 , P2 -4 , P3 – 5 jednostek czasu a procesy przybyły odpowiednio w momentach czasu P1 – 0 , P2 – 3 , P3 – 8 , to czasy oczekiwani wyniosą : podać czasy oczekiwani średni , dla każdego procesu
" Life is not a problem to be solved but a reality to be experienced! "
© Copyright 2013 - 2024 KUDO.TIPS - All rights reserved.
P₁=0
P₂=15
P₃=14
Średni czas oczekiwania - (0+15+14)/3=29/3≈9,7
http://i52.tinypic.com/34xolja.jpg
W chwili 0 pojawia się tylko 1 proces P1 i jest on wykonywany jako pierwszy, zatem czas oczekiwania wynosi 0. Między czasie pojawiają się dwa inne procesy. Po zakończeniu procesu P1, który trwał 18 jednostek czasu uruchamiany jest proces, którego zapotrzebowanie na czas jest najmniejsze, a zatem proces P2. Czas oczekiwania tego procesu to czas trwania procesu P1 minus czas rozpoczęcia procesu P2 - 18-3=15. Po zakończeniu procesu P2 uruchamiany jest ostatni proces P3. Czas oczekiwania procesu P3 to łączny czas trwania poprzednich procesów minus czas rozpoczęcia procesu P3 - 18+4-8=14.
Narysowałem do tego wykres, bo nie umiałem tego tak obliczyć. Dopiero pisząc to skumałem jaka jest zależność. Czas oczekiwania danego procesu to suma czasów trwania wszystkich poprzednich procesów - czas pojawienia się tego procesu.
Ponieważ jest to bez wywłaszczenia to:
w chwili 0:
rozpoczyna sie P1 i trwa do 18.
Pojawiają sie:
P2 w chwili 3 (po oddaniu procesora przez P1 ten zostanie rozpoczęty)
P3 w chwili 8 (po oddaniu procesora przez P2 ten zostanie rozpoczęty)
Czas oczekiwania procesów:
P1 ---- 0
P2 ----18 - 3 = 15
P3 ----18 - 8 + 4 = 14
Średni czas oczekiwania to:
(0 + 15 + 14)/3 = 29/3 = 9,(6)