Sei sulla pagina 1di 9

La gestione del

processore
Prof. Mariana Esposito
Introduzione
 Uno degli obiettivi principali da raggiungere per la progettazione dei
sistemi operativi è l’ottimizzazione dell’utilizzo della CPU.
 minimizzare i tempi di risposta
 aumentare il throughput del sistema: numero di programmi eseguiti per unità
di tempo.

 Definizioni
 Programma insieme delle istruzioni, memorizzato su memoria di massa (è
un’entità statica);
 Processo istanza di un programma in evoluzione, cioè che è eseguito dal
processore,quindi deve essere residente in memoria RAM (è un’entità
dinamica);
 Task è sinonimo di “processo” (letteralmente “compito”).
Multiprogrammazione
 Una tecnica di ottimizzazione del tempo della CPU:
 contemporanea presenza di più programmi in memoria
 Obiettivo è migliorare la gestione:
 dello scheduling dei job, che consiste nell’insieme delle strategie e dei meccanismi
utilizzatiper la scelta dei programmi che dal disco devono essere caricati in RAM;
 dello scheduling della CPU, che consiste nell’insieme delle strategie e dei meccanismi che
permettono di assegnare e sospendere l’utilizzo della CPU da parte dei vari programmi.
Il multitasking
 L’esecuzione di un programma, quindi un processo, è costituita da una
successione di fasi:
 elaborazione sulla CPU
 fasi di attesa per l’esecuzione di operazioni su altre risorse del sistema (operazioni di
I/O, di caricamento dati, colloquio con periferiche ecc.) che di fatto lasciano inattiva
la CPU.

 I sistemi operativi multitasking durante le fasi di attesa mandano in


esecuzione sulla CPU altri programmi tra quelli caricati in memoria,
“portando avanti” in parallelo più processi, riducendo al minimo l’inattività
della CPU e migliorando così l’efficienza del sistema (numero di programmi
eseguiti per unità di tempo).
Parallelismo virtuale
Il parallelismo che si ottiene è virtuale (e non fisico) dato che il
processore è uno solo:
 multitasking: esecuzione di programmi indipendenti sulla CPU e sul
processore di I/O;
 multiprocessing: multiprogrammazione estesa a elaboratori dotati di più CPU
e processori di I/O.
Il processo e i suoi stati di vita

 Durante il ciclo di vita di un processo esso può trovarsi in un insieme


di situazioni, che si definiscono stati di un processo

 Gli stati di un processo sono associati alla sia evoluzione e alla sua
“situazione” rispetto alla CPU.
Gli stati di un processo
La schedulazione dei processi
 Tra le operazioni che il sistema operativo deve effettuare rientra
l’assegnazione della CPU ai processi che sono nella ready list, cioè
nella lista dei processi pronti.
 I meccanismi con i quali i processi vengono scelti prendono il nome di
politiche di gestione o di schedulazione (scheduling)
 il componente del SO che si occupa di questa gestione si chiama job
scheduler
Gli stati
 nuovo (new): è lo stato in cui si trova un processo appena è stato creato,
cioè l’utente richiede l’esecuzione di un programma che risiede sul disco;
 esecuzione (running): il processo sta evolvendo, nel senso che la CPU sta
eseguendo le sue istruzioni, e quindi ad esso è assegnato il processore.
 attesa (waiting): un processo è nello stato di attesa quando gli manca una
risorsa per poter evolvere e quindi sta aspettando che si verifichi un evento
 pronto (ready-to-run): un processo è nello stato di pronto se ha tutte le
risorse necessarie alla sua evoluzione tranne la CPU
 finito (terminated): siamo nella situazione in cui tutto il codice del
processo è stato eseguito e quindi ha terminato l’esecuzione; il sistema
operativo deve ora rilasciare le risorse che utilizzava.

Potrebbero piacerti anche