31.05.2013 Views

GESTIONE DEI PROCESSI - home page luca orrù

GESTIONE DEI PROCESSI - home page luca orrù

GESTIONE DEI PROCESSI - home page luca orrù

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

CENTRO MULTIMEDIALE MONTIFERRU<br />

Round Robin (RR): I processi sono organizzati in una coda circolare. Ogni processo viene<br />

scelto seconda una modalità FIFO ed al processo scelto viene assegnata la CPU per un<br />

quanto di tempo prefissato, terminato il quale la CPU gli viene revocata e il processo passa in<br />

coda alla lista. Il quanto di tempo deve essere molto più grande del tempo necessario per il<br />

cambio di contesto altrimenti l’efficienza dell’uso della CPU si riduce significativamente.<br />

A priorità: in un sistema che usa un algoritmo a priorità, ogni processo ha una priorità e la<br />

CPU viene assegnata al processo con priorità maggiore. Se due processi hanno la stessa<br />

priorità viene scelto il processo che è arrivato per primo (FCFS). L’algoritmo può essere con<br />

prelazione oppure senza prelazione. Se adotta la prelazione allora, se arriva nella coda dei<br />

processi pronti un processo che ha una priorità più alta del processo in esecuzione, questo<br />

ultimo viene sospeso e sostituito con il processo con priorità più alta. Nel caso di scheduling<br />

senza prelazione, se arriva un processo con priorità più alta di quello in esecuzione ( e questo<br />

significa che ha anche priorità più alta dei processi presenti in coda), il processo in<br />

esecuzione continua la sua esecuzione e il nuovo processo viene inserito in testa alla coda dei<br />

processi pronti. Il problema di questa tecnica di scheduling è lo starvation ossia l’attesa<br />

indefinita. Un processo che ha bassa priorità rischia di attendere indefinitamente prima poter<br />

avere la CPU perché ci sono sempre processi con priorità più alta della sua.<br />

La priorità di un processo può essere statica (assegnata all’atto della creazione del processo e<br />

non più modificabile) o dinamica (può cambiare durante la vita del processo). La priorità<br />

dinamica viene usata per risolvere il problema dello starvation. Ad un processo che è da<br />

molto tempo in attesa gli viene aumentata la priorità e questo avviene periodicamente a<br />

intervalli di tempo prefissati. In questo modo anche un processo a bassa priorità può ottenere<br />

la priorità più alta. Un processo che usa molto la CPU subisce una diminuzione della priorità,<br />

mentre un processo che usa molto i dispositivi di I/O ottiene un aumento della priorità.<br />

14. Data la seguente tabella dei processi (T.A tempo di arrivo nel sistema, T.E<br />

tempo di esecuzione) calcolare il tempo di turnaround medio con gli<br />

algoritmi di scheduling FCFS e SJF: (esame del 09-05-2007)<br />

Processi T.E T.A<br />

P1 20 0<br />

P2 5 15<br />

P3 10 10<br />

P4 5 20

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!