Process control block
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.
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 (ready queue)
- 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.
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 è sufficiente la coda pronti, mentre per quelli in stato di attesa l'informazione è contenuta nel canale di comunicazione relativo alla chiamata bloccante.
Bibliografia
- Architettura dei Sistemi di Elaborazione, volume 1 (F. Baiardi, A. Tomasi e Marco Vanneschi, 1988, Franco Angeli Edizioni, ISBN 882042746X). Fondamenti, firmware, architetture parallele . [1]
- Architettura dei Sistemi di Elaborazione, volume 2 (F. Baiardi, A. Tomasi, Marco Vanneschi, 1987, Franco Angeli Edizioni, ISBN 882042746X) Sistemi operativi, multiprocessore e distribuiti. [2]