Process control block: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
 
(32 versioni intermedie di 26 utenti non mostrate)
Riga 1:
{{F|sistema operativo|febbraio 2013}}
Il '''Process Control Block''' (o '''PCB''') di un [[Processo (informatica)| processo]] è una struttura dati del [[Kernel| nucleo]] del [[sistema operativo]] che contiene le informazioni essenziali per la gestione del processo.
{{S|sistema operativo}}
Il '''Processprocess Controlcontrol Blockblock''' (o '''PCB''' (in [[lingua italiana|italiano]]: ''blocco di controllo del processo'') è la struttura dati di un [[Processo (informatica)| processo]] è una struttura dati, del [[Kernel| nucleo]] del [[sistema operativo]], che contiene le informazioni essenziali per la gestione del processo stesso.
 
== Informazioni contenutegenerali ==
Le informazioni contenute variano a seconda delle implementazioni, ma in generale sono presenti:
* [[Program counter]]
* Area per il salvataggio dei registri [[general purpose]], di indirizzamento
* Area salvataggio registro di stato
* Area di salvataggio per i flag
* Stato corrente di avanzamento del processo (Pronto, In Esecuzione, Bloccato)
* Identificatore unico del process
* 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 o tempo stimato di esecuzione rimanente
* Informazioni di accounting di un processo
* Segnali che pendono
* 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 lettericaricate quando si dovrà proseguire l'esecuzione.
* 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
 
<!-- da verificare:
* Informazioni sulla gestione della [[memoria (informatica)|memoria]]
* Informazioni di gestione risorse: es. tempo di CPU
* Informazioni di stato I/O: lista delle risorse allocate dal [[processo (informatica)|processi]]
-->
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.
* [[Stack]] pointer]].
<!-- da verificare:
* [[Stack]] pointer.
-->
 
== Bibliografia ==
* ''Architettura dei Sistemi di Elaborazione, volume 1'' (F. Baiardi, A. Tomasi e [http://www.di.unipi.it/~vannesch/ Marco Vanneschi], [[1988]], editore [[Franco Angeli]], ISBN 882042746X). Fondamenti, firmware, architetture parallele . [http://www.pangloss.it/libro.php?isbn=882042746X&id=4357&PHPSESSID=9da1895b18ed1cda115cf1c7ace9bdf0]
* ''Architettura dei Sistemi di Elaborazione, volume 2'' (F. Baiardi, A. Tomasi, [http://www.di.unipi.it/~vannesch/ Marco Vanneschi], [[1987]], editore Franco Angeli, ISBN 882042746X) Sistemi operativi, multiprocessore e distribuiti. [http://www.pangloss.it/libro.php?isbn=8820432013&id=4358&PHPSESSID=9da1895b18ed1cda115cf1c7ace9bdf0]
 
== Voci correlate ==
* [[fr:ProcessThread Control Block]]
* [[en:Process control block (Unix)]]
 
{{portale|informatica}}
[[Categoria:Sistema operativo]]
 
[[Categoria:Sistema operativoKernel]]
[[de:Prozesstabelle]]
[[en:Process control block]]
[[es:Bloque de control del proceso]]
[[fr:Process Control Block]]
[[ja:プロセス制御ブロック]]
[[zh:行程控制表]]