Sei sulla pagina 1di 12

STATI DI UN PROCESSO

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI


MACCHINA VIRTUALE
PROGRAMMI E PROCESSI

Un processo fondamentalmente un programma in fase di esecuzione; pi


propriamente, lunit di lavoro elementare che il S. O. esegue
sequenzialmente, secondo lordine specificato nel testo del programma.

Un programma (codice binario su disco) di per s non un processo, ma


unentit statica; a seguito del suo lancio, viene caricato in memoria centrale
ed eseguito istruzione dopo istruzione.
PROCESSI

Un processo rappresentato da:


codice (text) del programma
dati: variabili globali del programma
program counter: indirizzo della successiva istruzione
alcuni registri di CPU
stack: parametri e variabili locali di funzioni o procedure
STATI DI UN PROCESSO

Di un processo si pu individuare uno stato puntuale, cio una condizione in cui


esso si viene a trovare in un dato momento del suo ciclo di vita:
nuovo: il processo stato creato
pronto: il processo pronto per lesecuzione
in esecuzione: il processo in esecuzione
bloccato: il processo in attesa di un evento
terminato: il processo rilascia la risorsa processore
MODELLO A CINQUE STATI

Nuovo Terminato
interruzione
ammissione uscita
In
Coda Pronti Pronto
esecuzione

assegnazione
evento verificato attesa evento (es. I/O)
Bloccato

Coda di Attesa
DESCRITTORE DI PROCESSO

In un sistema multiprogrammato necessario mantenere memorizzate le


informazioni relative ai diversi stati in cui i processi vengono a trovarsi durante il
loro ciclo di vita.
Di conseguenza, a ogni processo, il S.O. associa una struttura dati, chiamata
Process Control Block (PCB), nella quale vengono registrate una serie di
informazioni utili per la gestione dello stesso processo.
DESCRITTORE DI PROCESSO

Il S. O. gestisce i PCB di ciascun processo, disponendoli in strutture dati chiamate


code; ogni coda contiene PCB caratterizzati dallo stesso stato (ready, waiting,
etc.).
PCB
Nome
Stato
Program Counter
Registri di CPU
Limiti di memoria
File aperti

CONTEXT SWITCH

Il context switch (commutazione di contesto) la fase in cui luso della CPU


passa da un processo al successivo. In questo lasso di tempo il S.O. realizza,
ordinatamente, le seguenti operazioni:
Salvataggio dello stato del processo uscente
Selezione del nuovo processo
Ripristino dello stato del processo entrante
Si modifica, in questo modo, il contesto in cui lavora il processore.
GESTIONE DELLE CODE
STATI DI UN PROCESSO: ESEMPIO
GESTIONE DELLE ATTIVIT IN WINDOWS 10