vorrei chiedervi se secondo voi ho svolto nella maniera corretta il seguente esercizio sugli algoritmi di scheduling (FCFS, SRTF e RR):
Siano dati 4 processi con durata dell’esecuzione e tempo d’arrivo espressi
dalla seguente tabella:
Processo | Durata | Arrivo |
---|---|---|
P1 | 3 | 0 |
P2 | 5 | 1 |
P3 | 2 | 3 |
P4 | 2 | 9 |
###################################################>
Il primo punto dell'esercizio chiede di disegnare lo schema GANTT dei processi relativi ad ogni singolo algoritmo di scheduling.(Legenda = P1 - P2 - P3 - P4)
FCFS (First Come First Serve): 0 1 2 3 4 5 6 7 8 9 10 11
Ho impostato i processi in ordine d'arrivo e della durata corrispondente.
------------------------------------------------------------------------>
SRTF (con prelazione):
In questo caso devo prima fare un passo aggiuntivo, ovvero, ricalcolarmi la tabella con la somma di Durata+Arrivo e poi ordinare i processi dal D+A più piccolo al più grande. Quindi:
Processo | Durata + Arrivo |
---|---|
P1 | 3+0=3 |
P2 | 5+1=6 |
P3 | 2+3=5 |
P4 | 2+9=11 |
Quindi in ordine saranno: P1, P3, P2, P4.
0 1 2 3 4 5 6 7 8 9 10 11
------------------------------------------------------------------------>
RR (con q=1):
Questo forse è il caso più complesso, in quanto si tratta di far partire ogni processo al suo tempo di arrivo e sospendere il processo tutt'ora in esecuzione. Quindi:
0 1 2 3 4 5 6 7 8 9 10 11
Lo schema che ho seguito è quello di far iniziare ogni processo al suo tempo di arrivo, sospendendo quello in corso e poi facendo avanzare i processi che sono stati fermati in ordine uno intervallato dall'altro fino alla fine della loro durata.
###################################################>
Il secondo esercizio chiede di calcolare il TurnAroundTime di ogni processo per ogni algoritmo. Quindi:
FCFS: Per il First Come First Serve ho fatto la somma di durata del processo + la durata del processo/i precedente/i - il tempo d'arrivo del/i processo/i.
P1 = 3 + 0 - 0 = 3
P2 = 5 + 3 - 1 = 7
P3 = 2 + 8 - 3 = 7
P4 = 2 + 10 - 9 = 3
------------------------------------------------------------------------>
SRTF: Qui ho dei dubbi, ovvero non riesco a capire se è corretto il calcolo del T.R.T.:
Per il primo processo calcolo la somma tra durata - arrivo:
P1 = 3 - 0 = 3
Per il secondo/terzo/quarto processo calcolo la somma tra durata - arrivo + punto di inizio effettivo (posizione 5/3/10):
P2 = 5 - 1 + 5 = 9
P3 = 3 -3 + 2 = 2
P4 = 10 - 9 + 2 = 3
------------------------------------------------------------------------>
RR: Sommo alla durata del processo il numero di volte in cui si ripete il processo nello scheduling:
P1 = 3 + 3 = 6
P2 = 5 + 5 = 10
P3 = 2 + 2 = 4
P4 = 2 + 2 = 4
Secondo voi ho svolto l'esercizio nel modo corretto? Grazie mille,