esercizi sullo scheduling dei processi - Tommaso Motta

ESERCIZI SULLO SCHEDULING DEI PROCESSI
Esercizio 1
Considerate il seguente insiemi di processi, con la durata della sequenza di operazioni della CPU espressa in
millisecondi:
Supponendo che i processi arrivino nell’ordine P1, P2, P3, P4, P5 e siano tutti presenti al tempo 0.
1. Disegnare quattro diagrammi di Gantt per illustrare l’esecuzione di questi processi con gli algoritmi di
scheduling 1) FCFS, 2) SJF, 3) con priorità senza prelazione (un valore di priorità più basso indica
una priorità maggiore) e 4) RR (quanto=2).
2. Calcolare il tempo di completamento di ciascun processo per ogni algoritmo di scheduling.
3. Calcolare il tempo di attesa di ciascun processo per ogni algoritmo di scheduling.
4. Per quale algoritmo in questo caso l’esecuzione di ogni processo ha in media il minimo tempo
d’attesa?
Esercizio 2
Considerate il seguente insiemi di processi, con la durata della sequenza di operazioni della CPU espressa in
millisecondi:
Supponendo che i processi arrivino nell’ordine P1, P2, P3, P4, P5 e siano tutti presenti al tempo 0.
1. Disegnare quattro diagrammi di Gantt per illustrare l’esecuzione di questi processi con gli algoritmi di
scheduling 1) FCFS, 2) SJF, 3) con priorità senza prelazione (un valore di priorità più basso indica
una priorità maggiore) e 4) RR (quanto=1).
2. Calcolare il tempo di completamento di ciascun processo per ogni algoritmo di scheduling.
3. Calcolare il tempo di attesa di ciascun processo per ogni algoritmo di scheduling.
4. Per quale algoritmo in questo caso l’esecuzione di ogni processo ha in media il minimo tempo
d’attesa?
Esercizio 3
Considerate il seguente insiemi di processi, con la durata della sequenza di operazioni della CPU espressa in
millisecondi:
1
Supponendo che i processi arrivino nell’ordine P1, P2, P3, P4, P5 e siano tutti presenti al tempo 0.
1. Disegnare quattro diagrammi di Gantt per illustrare l’esecuzione di questi processi con gli algoritmi di
scheduling 1) FCFS, 2) SJF, 3) con priorità senza prelazione (un valore di priorità più basso indica
una priorità maggiore) e 4) RR (quanto=1).
2. Calcolare il tempo di completamento di ciascun processo per ogni algoritmo di scheduling.
3. Calcolare il tempo di attesa di ciascun processo per ogni algoritmo di scheduling.
4. Per quale algoritmo in questo caso l’esecuzione di ogni processo ha in media il minimo tempo
d’attesa?
Esercizio 4
Considerate il seguente insiemi di processi, con la durata della sequenza di operazioni della CPU espressa in
millisecondi:
Supponendo che i processi arrivino nell’ordine P1, P2, P3, P4, P5 e siano tutti presenti al tempo 0.
1. Disegnare quattro diagrammi di Gantt per illustrare l’esecuzione di questi processi con gli algoritmi di
scheduling 1) FCFS, 2) SJF, 3) con priorità senza prelazione (un valore di priorità più basso indica
una priorità maggiore) e 4) RR (quanto=2).
2. Calcolare il tempo di completamento di ciascun processo per ogni algoritmo di scheduling.
3. Calcolare il tempo di attesa di ciascun processo per ogni algoritmo di scheduling.
4. Per quale algoritmo in questo caso l’esecuzione di ogni processo ha in media il minimo tempo
d’attesa?
Esercizio 5
Considerate il seguente insiemi di processi, con la durata della sequenza di operazioni della CPU espressa in
millisecondi:
Supponendo che i processi arrivino nell’ordine P1, P2, P3, P4, P5 e siano tutti presenti al tempo 0.
1. Disegnare quattro diagrammi di Gantt per illustrare l’esecuzione di questi processi con gli algoritmi di
scheduling 1) FCFS, 2) SJF, 3) con priorità senza prelazione (un valore di priorità più basso indica
una priorità maggiore) e 4) RR (quanto=2).
2. Calcolare il tempo di completamento di ciascun processo per ogni algoritmo di scheduling.
3. Calcolare il tempo di attesa di ciascun processo per ogni algoritmo di scheduling.
4. Per quale algoritmo in questo caso l’esecuzione di ogni processo ha in media il minimo tempo
d’attesa?
2
Esercizio 6
Considerate il seguente insiemi di processi, con la durata della sequenza di operazioni della CPU espressa in
millisecondi:
Supponendo che i processi arrivino nell’ordine P1, P2, P3, P4, P5 e siano tutti presenti al tempo 0.
1. Disegnare quattro diagrammi di Gantt per illustrare l’esecuzione di questi processi con gli algoritmi di
scheduling 1) FCFS, 2) SJF, 3) con priorità senza prelazione (un valore di priorità più basso indica
una priorità maggiore) e 4) RR (quanto=2).
2. Calcolare il tempo di completamento di ciascun processo per ogni algoritmo di scheduling.
3. Calcolare il tempo di attesa di ciascun processo per ogni algoritmo di scheduling.
4. Per quale algoritmo in questo caso l’esecuzione di ogni processo ha in media il minimo tempo
d’attesa?
Esercizio 7
Considerate il seguente insiemi di processi, con la durata della sequenza di operazioni della CPU espressa in
millisecondi:
Supponendo che i processi arrivino nell’ordine P1, P2, P3, P4 e siano tutti presenti al tempo 0.
1. Disegnare quattro diagrammi di Gantt per illustrare l’esecuzione di questi processi con gli algoritmi di
scheduling 1) FCFS, 2) SJF, 3) con priorità senza prelazione (un valore di priorità più basso indica
una priorità maggiore) e 4) RR (quanto=2).
2. Calcolare il tempo di completamento di ciascun processo per ogni algoritmo di scheduling.
3. Calcolare il tempo di attesa di ciascun processo per ogni algoritmo di scheduling.
4. Per quale algoritmo in questo caso l’esecuzione di ogni processo ha in media il minimo tempo
d’attesa?
Esercizio 8
Considerate il seguente insiemi di processi, con la durata della sequenza di operazioni della CPU espressa in
millisecondi:
Supponendo che i processi arrivino nell’ordine P4, P3, P2, P1 e siano tutti presenti al tempo 0.
1. Disegnare quattro diagrammi di Gantt per illustrare l’esecuzione di questi processi con gli algoritmi di
scheduling 1) FCFS, 2) SJF, 3) con priorità senza prelazione (un valore di priorità più basso indica
una priorità maggiore) e 4) RR (quanto=2).
3
2. Calcolare il tempo di completamento di ciascun processo per ogni algoritmo di scheduling.
3. Calcolare il tempo di attesa di ciascun processo per ogni algoritmo di scheduling.
4. Per quale algoritmo in questo caso l’esecuzione di ogni processo ha in media il minimo tempo
d’attesa?
Esercizio 9
Considerate il seguente insiemi di processi, con l’istante di arrivo e la durata della sequenza di operazioni
della CPU espressa in millisecondi:
Disegnare il diagramma di Gantt per illustrare l’esecuzione di questi processi con l’algoritmo di scheduling
SJF con prelazione. Calcolare inoltre il tempo di completamento di ciascun processo ed il tempo medio di
attesa.
Esercizio 10
Considerate il seguente insiemi di processi, con l’istante di arrivo e la durata della sequenza di operazioni
della CPU espressa in millisecondi:
Disegnare il diagramma di Gantt per illustrare l’esecuzione di questi processi con l’algoritmo di scheduling
SJF con prelazione. Calcolare inoltre il tempo di completamento di ciascun processo ed il tempo medio di
attesa.
Esercizio 12
Sia dato il seguente insieme di processi, arrivati nell’ordine P1,...,P5, tutti presenti al tempo 0 e con durata e
priorità indicate:
1. Disegnare gli schemi di Gantt che illustrano l’esecuzione dei processi con algoritmi di scheduling
FCFS, SJF, priorità senza prelazione (numero basso indica priorità maggiore) e RR (quanto = 1).
2. Calcolare il tempo di completamento (turnaround), e il tempo di attesa per ciascun processo e per
ciascun algoritmo di scheduling indicato.
3. Dire quale algoritmo fornisce il minor tempo medio di attesa (relativo cioè a tutti i processi)
4
Esercizio 13
Si supponga che i seguenti processi arrivino in esecuzione al tempo indicato e consumeranno la quantità di
tempo indicata. Si supponga uno scheduling non pre-emptive e di decidere sulla base delle informazioni
disponibili al momento in qui le decisioni vanno prese
1. Calcolare il turnaround medio dei processi usando gli algoritmi di scheduling FCFS e SJF
2. Quale è il turnaround medio se si lascia inattiva la CPU per la prima unità di tempo e poi si usa SJF?
(l’idea è di non assegnare la CPU fino a che non sono presenti tutti i processi per prendere la
decisione migliore)
Esercizio 14
Si consideri un algoritmo di scheduling a breve termine che favorisce i processi che hanno usato poco la CPU
di recente. Perché questo algoritmo favorisce i processi I/O bound, ma non provoca starvation nei processi
CPU bound?
5