Process control block
Da Wikipedia, l'enciclopedia libera.
Il Process Control Block (o PCB) di un processo è una struttura dati del nucleo del sistema operativo che contiene le informazioni essenziali per la gestione del processo.
[modifica] Informazioni contenute
Le informazioni contenute variano a seconda delle implementazioni, ma in generale sono presenti:
- L'indirizzo logico della tabella delle pagine del processo
- L'indirizzo logico della coda pronti
- Il contenuto del program counter (indirizzo della prossima istruzione da eseguire), prima dell'ultima commutazione di contesto
- Il contenuto dei registri generali della CPU, prima dell'ultima commutazione di contesto
- Informazioni utili per lo scheduling della CPU, come la priorità del processo
Durante la commutazione di contesto, è necessario salvare in memoria centrale lo stato di esecuzione del processo che viene fermato. Queste informazioni vengono memorizzate proprio nel PCB del processo, e sarà sempre dal PCB che esse verranno lette quando si dovrà proseguire l'esecuzione.
[modifica] Informazioni superflue
Alcuni sistemi operativi inseriscono nel PCB di ogni processo delle informazioni superflue per la sua gestione:
- Lo stato del processo. Per gestire i processi in stato di pronto è sufficienete la coda pronti, mentre per quelli in stato di attesa l'informazione è contenuta nel canale di comunicazione relativo alla chiamata bloccante.
[modifica] Bibliografia
- Architettura dei Sistemi di Elaborazione, volume 1 (F. Baiardi, A. Tomasi e Marco Vanneschi, 1988, editore Franco Angeli, ISBN 882042746X). Fondamenti, firmware, architetture parallele . [1]
- Architettura dei Sistemi di Elaborazione, volume 2 (F. Baiardi, A. Tomasi, Marco Vanneschi, 1987, editore Franco Angeli, ISBN 882042746X) Sistemi operativi, multiprocessore e distribuiti. [2]