Descrive brevemente u significatu è a funzione di PCB

Per fà chì ogni prugramma participà à l’esekzione simultanea, cumprese i dati pò esse eseguitu indipindente, una struttura di dati speciale deve esse cunfigurata per questu in u sistema operatore, chjamatu u bloccu di cuntrollu di prucessu (PCB, Blocu di cuntrollu di prucessu). Ci hè una currispundenza unu à unu trà u prucessu è u PCB, è u prucessu d’utilizatore ùn pò micca esse mudificatu.

ipcb

U rolu di u bloccu di cuntrollu di prucessu PCB:

Per facilità a descrizzione di u sistema è a gestione di u funziunamentu di u prucessu, una struttura di dati hè specificamente definita per ogni prucessu in u core di u OS-Process Control Block PCB (Process Control Block). Cum’è una parte di l’entità di u prucessu, PCB registra tutte l’infurmazioni necessarii da u sistema operatore per discrìviri a situazione attuale di u prucessu è gestisce u funziunamentu di u prucessu. Hè a struttura di dati arregistrata più impurtante in u sistema upirativu. U rolu di PCB hè di fà un prugramma (inclusi i dati) chì ùn pò micca esse eseguitu indipindentamente in un ambiente multi-programma diventenu una unità basica chì pò eseguisce indipindentamente, un prucessu chì pò esse eseguitu simultaneamente cù altri prucessi.

(2) PCB pò realizà u modu di operazione intermittenti. In un ambiente multi-programma, u prugramma funziona in modu di operazione intermittente stop-and-go. Quandu un prucessu hè suspesu per u bloccu, deve mantene l’infurmazioni di u situ di CPU quandu hè in esecuzione. Dopu avè u PCB, u sistema pò salvà l’infurmazioni di u situ di CPU in u PCB di u prucessu interrottu per l’utilizazione quandu u situ di CPU hè restauratu quandu u prucessu hè programatu per l’esekzione di novu. Per quessa, si pò esse clarificatu novu chì in un ambiente multi-prugrammu, cum’è un prugramma staticu in u sensu tradiziunale, perchè ùn hà micca i mezi per prutege o salvà u so propiu situ di uperazione, ùn pò micca guarantisci a riproducibilità di i so risultati operativi. , perde cusì u so funziunamentu. significatu.

(3) PCB furnisce l’infurmazioni necessarii per a gestione di u prucessu. Quandu u pianificatore pianifica un prucessu per eseguisce, pò solu truvà u prugramma currispondente è e dati secondu l’indirizzu di l’indirizzu iniziale di u prugramma è e dati registrati in u PCB di u prucessu in a memoria o l’almacenamiento esternu; durante u prucessu di corsa, quandu u schedariu deve esse accessu Quandu i schedari o i dispusitivi I / O in u sistema, anu ancu bisognu di s’appoghjanu nantu à l’infurmazioni in u PCB. Inoltre, secondu a lista di risorse in u PCB, tutti i risorse necessarii per u prucessu ponu esse amparatu. Pò esse vistu chì durante u ciclu di vita tutale di un prucessu, u sistema operatore sempre cuntrolla è gestisce u prucessu secondu u PCB.

(4) PCB furnisce l’infurmazioni necessarii per a pianificazione di u prucessu. Solu i prucessi in u statu prontu pò esse pianificatu per l’esekzione, è u PCB furnisce infurmazioni nantu à quale statu u prucessu hè in. Se u prucessu hè in u statu prontu, u sistema l’inserisce in a fila di prucessu prontu è aspetta chì u pianificatore per pianificà. ; in più, hè spessu necessariu di cunnosce altre infurmazione nantu à u prucessu quandu scheduling. Per esempiu, in l’algoritmu di scheduling di priorità, avete bisognu di cunnosce u prucessu di Priorità. In certi algoritmi di scheduling più ghjusti, avete ancu bisognu di sapè u tempu d’attesa di u prucessu è l’avvenimenti chì sò stati eseguiti.

(5) PCB realiza a sincronizazione è a cumunicazione cù altri prucessi. U mecanismu di sincronizazione di u prucessu hè utilizatu per realizà l’operazione coordinata di diversi prucessi. Quandu u mecanismu di u semaforu hè aduttatu, esige chì un semaforu currispundente per a sincronizazione hè stallatu in ogni prucessu. U PCB hà ancu una zona o puntatore di fila di cumunicazione per a cumunicazione di prucessu.

Informazioni in u bloccu di cuntrollu di prucessu:

In u bloccu di cuntrollu di prucessu, include principalmente l’infurmazioni seguenti:

(1) Identificatore di prucessu: L’identificatore di prucessu hè utilizatu per indicà unicu un prucessu. Un prucessu hà generalmente dui tipi di identificatori: ① identificatori esterni. Per facilità u prucessu di l’utilizatori per accede à u prucessu, un identificatore esternu deve esse stabilitu per ogni prucessu. Hè furnitu da u creatore è generalmente si compone di lettere è numeri. Per discriverà a relazione di famiglia di u prucessu, l’ID di u prucessu parentale è l’ID di u prucessu di u zitellu deve esse stabilitu. Inoltre, un ID d’utilizatore pò esse stabilitu per indicà l’utilizatore chì pussede u prucessu. ② Identificatore internu. Per facilità l’usu di u prucessu da u sistema, un identificatore internu hè stabilitu per u prucessu in u SO, vale à dì, ogni prucessu hè datu un identificatore digitale unicu, chì hè di solitu u numeru di serie di un prucessu.

(2) Statu di u processatore: L’infurmazione di u statu di u processatore hè ancu chjamatu u cuntestu di u processatore, chì hè principalmente cumpostu di u cuntenutu di diversi registri di u processatore. Questi registri includenu: ①Registri di u scopu generale, cunnisciuti ancu cum’è registri visibili d’utilizatori, chì sò accessibili da i prugrammi d’utilizatori è usati per almacenà temporaneamente l’infurmazioni. In a maiò parte di i prucessori, ci sò 8 à 32 registri di scopu generale. In l’urdinatori strutturati RISC Ci ponu esse più di 100; ②Contatore d’istruzzioni, chì guarda l’indirizzu di l’istruzzioni dopu à accede; ③Pragramma di statutu di u prugramma PSW, chì cuntene infurmazioni di statutu, cum’è codice di cundizione, modalità di esecuzione, bandiera di maschera di interruzzione, etc.; ④User stack pointer, Significa chì ogni prucessu d’utilizatore hà una o più stack di sistema cunnessi, chì sò usati per almacenà i paràmetri di u prucessu è u sistema di chjama è l’indirizzi di chjama. U puntatore di stack punta à a cima di a pila. Quandu u processatore hè in u statu d’esekzione, a maiò parte di l’infurmazioni chì sò processati sò posti in u registru. Quandu u prucessu hè cambiatu, l’infurmazione di u statu di u processatore deve esse salvata in u PCB currispundente, perchè l’esekzione pò cuntinuà da u puntu di ruptura quandu u prucessu hè ri-eseguitu.

(3) Prucessu scheduling infurmazione: Quandu u OS hè scheduling, hè necessariu di capisce u statutu di u prucessu è infurmazione circa scheduling prucessu. Queste informazioni includenu: ① U statutu di u prucessu, chì indica u statutu attuale di u prucessu, chì hè utilizatu com’è a basa per a pianificazione di u prucessu è u scambiu ② A priorità di u prucessu hè un integer utilizatu per discriverà u livellu di priorità di u prucessu cù u processatore. U prucessu cù priorità più altu deve avè u processatore prima; ③Altra infurmazione necessaria per a pianificazione di u prucessu, chì hè in relazione cù l’algoritmu di scheduling di u prucessu utilizatu Per esempiu, a summa di u tempu chì u prucessu hè aspittatu per u CPU, a summa di u tempu chì u prucessu hè statu eseguitu, etc. ④Event si riferisce à l’avvenimentu chì aspetta u prucessu per cambià da u statu di esecuzione à u statu di bloccu, vale à dì a causa di u bloccu.

(4) L’infurmazione di cuntrollu di u prucessu: si riferisce à l’infurmazioni necessarii per u cuntrollu di u prucessu, chì include: ①L’indirizzu di u prugramma è di i dati, a memoria o l’indirizzu di memoria esterna di u prugramma è i dati in l’entità di u prucessu, in modu chì pò esse pianificatu à eseguite quandu u prucessu hè eseguitu. , U prugramma è i dati ponu esse truvati da u PCB; ②Sincronizazione di u prucessu è u mecanismu di cumunicazione, chì hè un mecanismu necessariu per a sincronizazione è a cumunicazione di prucessu, cum’è punters di fila di messagi, semafori, etc., ponu esse posti in u PCB in tuttu o in parte; ③ Lista di risorse, in quale tutte e risorse (eccettu CPU) richieste da u prucessu durante u so funziunamentu sò listate, è ci hè ancu una lista di risorse attribuite à u prucessu; ④Link pointer, chì dà u prucessu (PCB) U primu indirizzu di u PCB di u prossimu prucessu in a fila.