Estratto del documento

I/O;

I/O burst: Operazioni di I/O eseguite tra due CPU burst;

Lo scheduling della cpu si occupa di interrompere questi 2 processi

quando non servono;

La frequenza di CPU burst brevi è molto alta, mentre la

frequenza dei CPU burst lunghi è molto bassa;

Dato che l’esistenza di questa evidenza sperimentale, la cpu viene

assegnata ai processi per circa 8 millisecondi, poiché la gran parte

dei processi hanno durata inferiore e se ne capita qualcuno che ha

durata maggiore, gli viene comunque dedicata dallo scheduler una

durata di 8 millisecondi, poi viene interrotto e rimesso in ready in

attesa ti tornare in running, e successivamente quando il processo

torna in prima posizione nella coda di ready sarà rimesso in

running. In questi casi c’è una minima perdita di tempo ma si è

constatato che dato che è abbastanza raro che un processo abbia

tempo di esecuzione maggiore di 8 millisecondi, è conveniente

adottare questa convenzione.

Lo scheduler a breve termine seleziona uno tra i processi in

(ready queque)

memoria pronti per essere eseguiti e lo assegna alla

cpu mettendo il processo in esecuzione;

Lo scheduler interviene in determinati casi:

1. Un processo passa dallo stato di running allo stato di waiting:

qui interviene perché in questo caso la cpu si libera quindi lo

scheduler va a scegliere un nuovo processo che imposterà in

stato di running molto velocemente;

2. Quando un processo termina è abbastanza chiaro il poiché lo

scheduler deve intervenire nella scelta del nuovo processo da

impostare nello stato di running;

3. Lo scheduler interviene quando un processo passa dallo stato

di running allo stato di ready: il processo era in running e per

un interrupt e torna in ready, lo scheduler della cpu guarda tra

i processi di ready;

4. Un processo è passato da waiting a ready (caso particolare). Si

è verificato l’evento che soddisfa la waiting, questo avviene

solo se il processo in argomento è molto importante, quindi se

c’è un processo in funzione (quindi in running), viene interrotto

dallo scheduling;

I punti 3 e 4 sono casi di scheduling preemptive (con prelazione),

nei punti 1 e 2 lo scheduling non preemptive (senza prelazione).

-DISPATCHER:

Il modulo dispatcher svolge il lavoro di passare il controllo ai

processi selezionati dallo scheduler della cpu per la loro esecuzione.

Questo componente fa da ausilio allo scheduler per la gestione della

cpu.

Più in dettaglio lo scheduler decide il processo da eseguire, però

l’operazione di contex switch (ovvero lo scambio effettivo tra i due

processi) tocca al dispatcher.

LATENZA DI DISPATCH: come si evince dall’espressione la latenza

del dispatch è il tempo impiegato dal dispatcher per fermare un

processo e far eseguire il successivo.

Ovviamente il dispatcher deve essere molto veloce;

-CRITERI DI SCHEDULING:

Nella scelta di una strategia di scheduling occorre tenere conto

delle diverse caratteristiche dei programmi:

- Utilizzo della CPU: avere la CPU il più attiva possibile;

- Throughput: numero di processi completati nell’unità di

tempo;

- Tempo di turnaround: tempo totale per eseguire un

processo,

ovviamente un algoritmo di scheduling efficiente ci consente di

minimizzare il turnaround;

- Tempo di waiting: tempo totale di attesa sulla ready queque,

quindi è la misura di tempo ‘perso’ dai vari processi (non

riguarda lo stato di waiting, ma riguarda il tempo ‘perso’ nello

stato di ready, nella coda dei pronti);

- Tempo di risposta: tempo da quando viene inviata una

richiesta fino a quando si produce una prima risposta (non

considerando il tempo di output).

Molto importante nei programmi che hanno molta interazione

con l’utente;

CRITERI DI OTTIMIZZAZIONE:

- Massimizzare l’utilizzo della CPU;

- Massimizzare il throughput;

- Minimizzare il tempo di turnaround;

- Minimizzare il tempo di waiting;

- Minimizzare il tempo di risposta;

- Generalmente si tende ad ottimizzare i valori medi;

- Nei sistemi time-sharing è più importante minimizzare la

varianza del tempo di risposta;

-SCHEDULING FIRST-COME, FIRST-SERVED(FCFS):

Questo algoritmo di scheduling si basa sul fatto che il primo

processo ‘arrivato ’ sarà il primo ad essere eseguito;

Supponendo che arrivino 3 processi p1 p2 p3, con tempi di

esecuzione rispettivamente 24 3 3;

Chiaramente i tempi di attesa saranno rispettivamente: [0 per p1],

[24 per p2], [27 per p3] questo ci da come tempo di attesa medio

del valore di 17:

tempo di waiting medio = (0 + 24 + 27) /3 = 17

Ovviamente se l’ordine di arrivo fosse stato diverso anche il tempo

di attesa medio sarebbe diverso. Per esempio, consideriamo la

possibilità che p1 arrivi per ultimo, il tempo di attesa medio è 3,

sicuramente meglio di prima;

Questo è il problema dell’algoritmo appena trattato, chiamato

effetto convoglio, cioè i processi non hanno priorità quindi se un

processo lungo ‘arriva prima’ di un altro allora verrà eseguito prima

a discapito dell’efficienza, nonostante questo in alcuni casi è ancora

utilizzato.

-SCHEDULING SHORTEST-JOB-FIRST(SJF):

Associa ad ogni processo la lunghezza del prossimo CPU burst. Usa

questi tempi per schedulare il processo con la lunghezza minima.

I processi vengono ordinati nella ready queque in base al loro

prossimo CPU burst in ordine crescente (il primo processo ha il

minimo CPU);

Due schemi:

- Nonpreemptive: il processo assegnato alla CPU (quindi in

running) non può essere sospeso prima di completare il suo

CPU burst;

Anteprima
Vedrai una selezione di 3 pagine su 6
Lezione 5 Sistemi operativi Pag. 1 Lezione 5 Sistemi operativi Pag. 2
Anteprima di 3 pagg. su 6.
Scarica il documento per vederlo tutto.
Lezione 5 Sistemi operativi Pag. 6
1 su 6
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Alessio.98.19 di informazioni apprese con la frequenza delle lezioni di Sistemi operativi e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università della Calabria o del prof Talia Domenico.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community