GESTIONE DEI PROCESSI - home page luca orrù
GESTIONE DEI PROCESSI - home page luca orrù
GESTIONE DEI PROCESSI - home page luca orrù
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 />
Il processo che viene creato con la system call fork si trova in stato nuovo e passa in stato<br />
ready (pronto) nel momento in cui il sistema decide di allocargli la memoria.<br />
Le altre transizioni possibili sono:<br />
bloccato su RAM- swapped: il processo viene trasferito in memoria secondaria, perché<br />
magari è da molto tempo bloccato (operazione di swap out);<br />
pronto- swapped: il processo viene trasferito in memoria secondaria per liberare memoria<br />
per gli altri processi (operazione di swap out);<br />
swapped-pronto: il processo viene trasferito dalla memoria secondaria in memoria principale<br />
(operazione di swap in);<br />
bloccato su ram-pronto: il processo che è bloccato viene risvegliato tramite una signal e<br />
riportato in stato di pronto;<br />
5. Cosa s’intende per descrittore di un processo<br />
Un descrittore di un processo (PCB-Process Control Block) è una struttura dati che contiene<br />
varie informazioni ed è memorizzata in una area di memoria accessibile solo dal kernel del<br />
sistema operativo.<br />
Esiste un descrittore per ogni processo e tutti i descrittori sono organizzati in una tabella<br />
chiamata tabella dei processi.<br />
In un descrittore sono memorizzate le seguenti informazioni:<br />
a) Nome del processo: tipicamente viene usato un indice (numero intero) che identifica<br />
la posizione del processo nella tabella dei processi. In Unix l’identificativo di un<br />
processo prende il nome di PID (Process Identifier)<br />
b) Stato del processo: pronto, bloccato etc<br />
c) Modalità di servizio dei processi: specifica la modalità con la quale la CPU viene<br />
assegnata ai processi pronti. Per esempio:<br />
modalità FIFO ( chi è in attesa da più tempo viene servito per primo);<br />
priorità: ai vari processi può essere associata una priorità statica o dinamica;<br />
Per i sistemi a divisione di tempo viene specificato il quanto di tempo assegnato al<br />
processo e per i sistemi in tempo reale viene specificato il tempo entro cui il<br />
processo deve terminare la sua esecuzione (deadline).<br />
d) Informazioni sulla gestione della memoria: paginazione, segmentazione, limiti area<br />
di memoria allocata al processo (è identificata dai registri base e limite).<br />
e) Contesto del processo: ogni volta che il processo viene sospeso vengono salvati nel<br />
descrittore il contenuto del PC, il contenuto del registro di stato (PSW), il contenuto<br />
dei registri generali, accumulatore e contenuto dello stack pointer.<br />
f) Uso delle risorse: quali sono i dispositivi di I/O assegnati al processo e i file aperti<br />
dal processo.<br />
g) Identificativo del processo successivo: specifica quale è il processo successivo nella<br />
stessa coda di cui fa parte il processo (coda processi pronti o coda processi bloccati)