Descrivi brevemente il significato e la funzione di PCB

Affinché ciascun programma partecipi all’esecuzione simultanea, compresi i dati, possa essere eseguito in modo indipendente, è necessario configurare una struttura dati speciale per esso nel sistema operativo, chiamato blocco di controllo del processo (PCB, Blocco controllo processo). Esiste una corrispondenza biunivoca tra il processo e il PCB e il processo utente non può essere modificato.

ipcb

Il ruolo del PCB del blocco di controllo del processo:

Al fine di facilitare la descrizione del sistema e la gestione del funzionamento del processo, una struttura dati è definita in modo specifico per ciascun processo nel cuore dell’OS-Process Control Block PCB (Process Control Block). Come parte dell’entità del processo, PCB registra tutte le informazioni necessarie al sistema operativo per descrivere la situazione attuale del processo e gestire il funzionamento del processo. È la più importante struttura di dati registrati nel sistema operativo. Il ruolo del PCB è quello di fare in modo che un programma (inclusi i dati) che non può essere eseguito in modo indipendente in un ambiente multi-programma diventi un’unità di base che può essere eseguita in modo indipendente, un processo che può essere eseguito contemporaneamente ad altri processi.

(2) PCB può realizzare la modalità di funzionamento intermittente. In un ambiente multiprogramma, il programma viene eseguito in modalità di funzionamento intermittente stop-and-go. Quando un processo viene sospeso a causa di un blocco, deve conservare le informazioni sul sito della CPU durante l’esecuzione. Dopo avere il PCB, il sistema può salvare le informazioni sul sito della CPU nel PCB del processo interrotto per l’uso quando il sito della CPU viene ripristinato quando il processo è programmato per l’esecuzione di nuovo. Pertanto, si può nuovamente chiarire che in un ambiente multiprogramma, in quanto programma statico in senso tradizionale, non avendo i mezzi per proteggere o salvare il proprio sito operativo, non può garantire la riproducibilità dei suoi risultati operativi , perdendo così il suo funzionamento. significato.

(3) PCB fornisce le informazioni necessarie per la gestione del processo. Quando lo scheduler pianifica l’esecuzione di un processo, può solo trovare il programma ei dati corrispondenti in base al puntatore dell’indirizzo iniziale del programma e ai dati registrati nel PCB del processo nella memoria o nella memoria esterna; durante il processo di esecuzione, quando è necessario accedere al file Quando i file oi dispositivi di I/O nel sistema, devono anche fare affidamento sulle informazioni nel PCB. Inoltre, secondo l’elenco delle risorse nel PCB, è possibile apprendere tutte le risorse necessarie per il processo. Si può notare che durante l’intero ciclo di vita di un processo, il sistema operativo controlla e gestisce sempre il processo in base al PCB.

(4) PCB fornisce le informazioni necessarie per la pianificazione del processo. Solo i processi nello stato pronto possono essere programmati per l’esecuzione e il PCB fornisce informazioni sullo stato in cui si trova il processo. Se il processo è nello stato pronto, il sistema lo inserisce nella coda del processo pronto e attende la pianificazione dello scheduler ; inoltre, è spesso necessario conoscere altre informazioni sul processo durante la pianificazione. Ad esempio, nell’algoritmo di pianificazione delle priorità, è necessario conoscere il processo Priorità. In alcuni algoritmi di schedulazione più equi, è necessario conoscere anche il tempo di attesa del processo e gli eventi che sono stati eseguiti.

(5) PCB realizza la sincronizzazione e la comunicazione con altri processi. Il meccanismo di sincronizzazione del processo viene utilizzato per realizzare il funzionamento coordinato di vari processi. Quando viene adottato il meccanismo del semaforo, è necessario che in ogni processo sia impostato un corrispondente semaforo per la sincronizzazione. Il PCB ha anche un puntatore di area o coda di comunicazione per la comunicazione di processo.

Informazioni nel blocco di controllo del processo:

Nel blocco di controllo del processo, include principalmente le seguenti informazioni:

(1) Identificatore di processo: l’identificatore di processo viene utilizzato per indicare in modo univoco un processo. Un processo ha solitamente due tipi di identificatori: ① identificatori esterni. Per facilitare l’accesso al processo da parte dell’utente, è necessario impostare un identificatore esterno per ciascun processo. È fornito dal creatore e di solito è composto da lettere e numeri. Per descrivere la relazione familiare del processo, è necessario impostare anche l’ID del processo padre e l’ID del processo figlio. Inoltre, è possibile impostare un ID utente per indicare l’utente proprietario del processo. Identificatore interno. Per facilitare l’utilizzo del processo da parte del sistema, viene impostato un identificatore interno per il processo nel sistema operativo, ovvero a ciascun processo viene assegnato un identificatore digitale univoco, che di solito è il numero di serie di un processo.

(2) Stato del processore: le informazioni sullo stato del processore sono anche chiamate contesto del processore, che è composto principalmente dai contenuti di vari registri del processore. Questi registri includono: ① Registri di uso generale, noti anche come registri visibili all’utente, accessibili dai programmi utente e utilizzati per memorizzare temporaneamente informazioni. Nella maggior parte dei processori, ci sono da 8 a 32 registri generici. Nei computer con struttura RISC possono essercene più di 100; ②Contatore istruzioni, che memorizza l’indirizzo della prossima istruzione a cui accedere; ③Parola di stato del programma PSW, che contiene informazioni sullo stato, come codice di condizione, modalità di esecuzione, flag di maschera di interruzione, ecc.; ④Puntatore stack utente, significa che ogni processo utente ha uno o più stack di sistema correlati, che vengono utilizzati per memorizzare i parametri di chiamata di sistema e di processo e gli indirizzi di chiamata. Il puntatore dello stack punta alla parte superiore dello stack. Quando il processore è in stato di esecuzione, gran parte delle informazioni in elaborazione viene inserita nel registro. Quando il processo viene commutato, le informazioni sullo stato del processore devono essere salvate nel PCB corrispondente, in modo che l’esecuzione possa continuare dal punto di interruzione quando il processo viene rieseguito.

(3) Informazioni sulla pianificazione del processo: quando il sistema operativo sta pianificando, è necessario comprendere lo stato del processo e le informazioni sulla pianificazione del processo. Queste informazioni includono: ① Stato del processo, che indica lo stato corrente del processo, utilizzato come base per la pianificazione e lo scambio del processo ② La priorità del processo è un numero intero utilizzato per descrivere il livello di priorità del processo che utilizza il processore. Il processo con priorità più alta dovrebbe ottenere per primo il processore; ③Altre informazioni necessarie per la pianificazione del processo, relative all’algoritmo di pianificazione del processo utilizzato Ad esempio, la somma del tempo in cui il processo è stato in attesa della CPU, la somma del tempo in cui il processo è stato eseguito e così via; ④Event si riferisce all’evento in attesa che il processo passi dallo stato di esecuzione allo stato di blocco, ovvero la causa del blocco.

(4) Informazioni sul controllo del processo: si riferisce alle informazioni necessarie per il controllo del processo, che includono: ①L’indirizzo del programma e dei dati, la memoria o l’indirizzo della memoria esterna del programma e i dati nell’entità del processo, in modo che possa essere programmato per eseguire quando il processo viene eseguito. , Il programma ei dati sono reperibili dal PCB; ②Meccanismo di sincronizzazione e comunicazione dei processi, che è un meccanismo necessario per la sincronizzazione e la comunicazione dei processi, come i puntatori della coda dei messaggi, i semafori, ecc., Possono essere inseriti nel PCB in tutto o in parte; ③Elenco risorse, in cui sono elencate tutte le risorse (eccetto CPU) richieste dal processo durante il suo funzionamento, ed è presente anche un elenco delle risorse allocate al processo; ④Link pointer, che fornisce al processo ( PCB) Il primo indirizzo del PCB del processo successivo nella coda.