1. Il Modello a 5 Stati del Ciclo di Vita
Durante la sua esistenza all'interno di un sistema operativo, un processo attraversa differenti condizioni operative gestite dallo scheduler del kernel. Il modello standard definisce cinque stati fondamentali:
- New (Nuovo): Il processo è appena stato creato (es. l'utente ha avviato un'applicazione) ma non è ancora stato ammesso nella memoria principale dal sistema operativo.
- Ready (Pronto): Il processo è caricato in memoria RAM e attende unicamente che la CPU gli assegni un quanto di tempo per l'esecuzione.
- Running (In Esecuzione): Le istruzioni del processo sono attivamente eseguite dai core del processore. (In un sistema mono-core ci può essere un solo processo in questo stato per volta).
- Waiting / Blocked (In Attesa): Il processo sospende l'esecuzione in attesa che si verifichi un evento esterno (es. completamento di un'operazione di I/O su disco o ricezione di un pacchetto di rete).
- Terminated (Terminato): Il processo ha completato la sua esecuzione o è stato interrotto per un errore; il sistema operativo rilascia le risorse allocate e rimuove il PCB.
Transizioni Principali: $\text{New} \xrightarrow{\text{Ammissione}} \text{Ready} \underset{\text{Interruzione/Time-out}}{\overset{\text{Dispatch}}{\rightleftharpoons}} \text{Running}$
Se un processo in esecuzione richiede un'operazione di I/O passa a $\text{Waiting}$, tornando in $\text{Ready}$ al completamento dell'evento.
Se un processo in esecuzione richiede un'operazione di I/O passa a $\text{Waiting}$, tornando in $\text{Ready}$ al completamento dell'evento.
2. Simulatore Interattivo del Ciclo di Vita
Segui e comanda le transizioni di stato di un processo simulato nel kernel tramite la console interattiva.
lifecycle-monitor@nexus-core:~#
Process #804 State Machine
NEW
Inizializzazione PCB
READY
In coda in RAM
RUNNING
In esecuzione su CPU
WAITING
Attesa I/O o Evento
TERMINATED
Rilascio Risorse
> Processo PID 804 creato (Stato: NEW). Pronto per l'ammissione in memoria.