[Sistemi Operativi] Algoritmi di Scheduling

Messaggioda JoKeRxbLaCk » 23/02/2017, 10:26

Ciao a tutti,
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:

Esercizio
ProcessoDurataArrivo
P130
P251
P323
P429

###################################################>
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:
SRTF
ProcessoDurata + Arrivo
P13+0=3
P25+1=6
P32+3=5
P42+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,
JoKeRxbLaCk
Junior Member
Junior Member
 
Messaggio: 123 di 250
Iscritto il: 06/06/2015, 09:17

Re: [Sistemi Operativi] Algoritmi di Scheduling

Messaggioda Albesa81 » 23/02/2017, 13:17

Parti dal presuposto che il turnaroundtime si calcola come tempo di completamento - tempo di arrivo del processo.
RR: Sommo alla durata del processo il numero di volte in cui si ripete il processo nello scheduling

Non capisco bene questo tuo ragionamento, comunque il tat di P4 dovrebbe essere 3.
Per il resto, ottimo lavoro :D
Albesa81
Junior Member
Junior Member
 
Messaggio: 88 di 341
Iscritto il: 21/12/2010, 12:02

Re: [Sistemi Operativi] Algoritmi di Scheduling

Messaggioda JoKeRxbLaCk » 23/02/2017, 13:21

Albesa81 ha scritto:Parti dal presuposto che il turnaroundtime si calcola come tempo di completamento - tempo di arrivo del processo.
RR: Sommo alla durata del processo il numero di volte in cui si ripete il processo nello scheduling

Non capisco bene questo tuo ragionamento, comunque il tat di P4 dovrebbe essere 3.
Per il resto, ottimo lavoro :D

Grazie mille,
il mio ragionamento è: siccome il quanto di tempo q = 1, sommo alla durata del processo la durata stessa praticamente :-D
come mai dovrebbe risultare 3? Allora credo di non aver capito come si calcola il tat nel caso RR :(
JoKeRxbLaCk
Junior Member
Junior Member
 
Messaggio: 124 di 250
Iscritto il: 06/06/2015, 09:17

Re: [Sistemi Operativi] Algoritmi di Scheduling

Messaggioda Albesa81 » 23/02/2017, 13:26

come mai dovrebbe risultare 3?

P4 arriva a t=9 e risulta completato a t=12, ergo tat = 12-9 = 3 :-)
Albesa81
Junior Member
Junior Member
 
Messaggio: 89 di 341
Iscritto il: 21/12/2010, 12:02

Re: [Sistemi Operativi] Algoritmi di Scheduling

Messaggioda JoKeRxbLaCk » 23/02/2017, 13:27

Giusto :) Grazie mille
JoKeRxbLaCk
Junior Member
Junior Member
 
Messaggio: 125 di 250
Iscritto il: 06/06/2015, 09:17

Re: [Sistemi Operativi] Algoritmi di Scheduling

Messaggioda Albesa81 » 23/02/2017, 13:38

JoKeRxbLaCk ha scritto:il mio ragionamento è: siccome il quanto di tempo q = 1, sommo alla durata del processo la durata stessa praticamente :-D

Sommi la durata di cosa? Devi tenere conto del fatto che tra due quanti di tempo consecutivi a disposizione dello stesso processo possono essere eseguiti in rotazione da 0 a N processi (con N variabile nel tempo) :-)
Albesa81
Junior Member
Junior Member
 
Messaggio: 90 di 341
Iscritto il: 21/12/2010, 12:02


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite