Obliczanie czasu oczekiwania i czasu realizacji w kolejce FCFS (bez uprzedzenia)
Mam 6 procesów w następujący sposób:
-- P0 --
arrival time = 0
burst time = 10
-- P1 --
arrival time = 110
burst time = 210
-- P2 --
arrival time = 130
burst time = 70
-- P3 --
arrival time = 130
burst time = 70
-- P4 --
arrival time = 130
burst time = 90
-- P5 --
arrival time = 130
burst time = 50
Jak mogę obliczyć czas oczekiwania i czas realizacji każdego procesu? System powinien być nieuprzedzający (proces pobiera procesor aż do jego zakończenia). Ponadto: w tym systemie są 4 procesory logiczne.
Załóżmy, że systemTime jest bieżącym czasem działania systemów, a arrivalTime jest względem tego względny. tj. czas przybycia równy 0 oznacza, że proces rozpoczyna się, gdy system działa; czas nadejścia 130 oznacza, że proces rozpoczyna się 130 jednostek po uruchomieniu systemu.
Czy to jest poprawne:waitingTime = (systemTime - arrivalTime)
?
Moje rozumowanie jest takiesystemTime - arrivalTime
to czas, w którym proces czekał w kolejce fcfs na użycie procesora (lub czy to źle?)
A na czas oczekiwania myślałem o czymś takim:turnaroundTime = burstTime + waitingTime
, ponieważ czas oczekiwania i czas wybuchu powinny być całkowitym czasem na zakończenie procesu. Chociaż jeszcze raz nie wiem, czy moja intuicja jest poprawna.
Wszystkie odczyty będą bardzo mile widziane!