Process control block

Versione del 17 nov 2013 alle 22:32 di Horcrux (discussione | contributi) (+portale)

Il Process Control Block (in italiano: Blocco di Controllo del Processo) 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:

  • Program counter
  • Area per il salvataggio dei registri general purpose e floating point
  • Area salvataggio registro di stato
  • Stato corrente di avanzamento del processo (Pronto, In Esecuzione, Bloccato)
  • Identificatore unico del processo
  • Un puntatore al processo padre
  • Puntatore ai processi figli se esistenti
  • Livello di priorità
  • Informazioni per il memory management(Gestione della memoria) (in particolare memoria virtuale) del processo
  • Identificatore della CPU su cui è in esecuzione
  • Informazioni per lo scheduling (gestione) del processo, come il tempo di run (esecuzione) o wait (attesa) accumulato
  • Informazioni di accounting di un processo
  • Segnali pendenti
  • Informazioni sullo stato di I/O del processo
  • Registro nel quale è presente un puntatore alla page table

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 ricaricate 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.

Voci correlate

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica