31.05.2013 Views

GESTIONE DEI PROCESSI - home page luca orrù

GESTIONE DEI PROCESSI - home page luca orrù

GESTIONE DEI PROCESSI - home page luca orrù

SHOW MORE
SHOW LESS

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)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!