Gli stati di un processo.
Presentazione del gruppo Mesraoui, Miloradovic, Minati e Parlato.
Sistema Operativo e CPU
La CPU è la componente principale del pc.
Per essere coordinata, ha bisogno dei moduli del SO che ne compongono il nucleo, o kernel, con le seguenti funzioni:
Intro
1. Mantenere aggiornato lo stato della CPU;
2. Decidere a quale processo assegnare il processore;
3. Assegnare il processore al processo scelto;
4. Riprendere il controllo della CPU quando il processo è terminato o sospeso.
Fanno parte del Sistema Operativo:
I Moduli del Sistema Operativo
- Schedulatore dei lavori;
- Schedulatore dei processi;
- Controllore del traffico;
- Gestore delle interruzioni;
- Procedure di sincronizzazione e comunicazione tra più processi.
Gli stati di un processo sono:
Gli stati di un processo
Hold (o new)
È stata richiesta l'esecuzione di un programma, dunque il lavoro viene proposto al sistema.
Hold
All'inizio, si trova in attesa di esecuzione in memoria di massa, e "in coda" per andare in memoria centrale.
Lo schedulatore dei lavori gestisce quale lavoro dovrà andare per primo in stato di READY.
Ready
A questo punto, lo schedulatore dei lavori sceglie il programma opportuno e lo sposta in memoria centrale.
Ready
Il programma è diventato processo, ed è pronto per essere eseguito.
Lo schedulatore accede alla lista di Hold che contiene un JCB (Job Control Block) per ogni programma in questo stato.
NB: In ogni istante un solo processo si trova in questo stato (nella CPU).
Run
Il processo è in fase di esecuzione.
Run
Da run:
- Passa alla fase di WAIT se il processo deve attendere una risposta da una periferica I/O;
- Passa a READY se lo schedulatore decide che il processo deve terminare momentaneamente la sua esecuzione e lo rimette in coda.
Wait
In questa fase, il processo è in attesa.
Di solito, si passa a questa fase nel caso in cui durante l’esecuzione il processo richieda un operazione di I/O.
Wait
Solo quando quest’operazione è terminata il processo potrebbe tornare nello stato di run, ma poiché la CPU potrebbe essere occupata con un altro processo, esso dovrà prima ritornare nello stato di ready.
End
Il processo è terminato.
Nell'ultima transizione, il processo invia il segnale di termine e lo schedulatore lo sposta nello stato di end, in attesa che sia liberata la sua memoria.
End