Describe brevemente o significado e a función do PCB

Para que cada programa que participe na execución simultánea, incluídos os datos, poida executarse de forma independente, debe configurarse unha estrutura de datos especial para iso no sistema operativo, chamada bloque de control de procesos (PCB, Bloque de control de procesos). Hai unha correspondencia un a un entre o proceso e o PCB, e o proceso do usuario non se pode modificar.

ipcb

O papel do bloque de control de proceso PCB:

Co fin de facilitar a descrición do sistema e a xestión do funcionamento do proceso, defínese especificamente unha estrutura de datos para cada proceso no núcleo do PCB (Process Control Block) do bloque de control do sistema operativo. Como parte da entidade do proceso, PCB rexistra toda a información que precisa o sistema operativo para describir a situación actual do proceso e xestionar o funcionamento do proceso. É a estrutura de datos rexistrada máis importante do sistema operativo. O papel de PCB é facer que un programa (incluíndo os datos) que non se poida executar de forma independente nun ambiente multiprograma se converta nunha unidade básica que se pode executar de forma independente, un proceso que se pode executar simultaneamente con outros procesos.

(2) O PCB pode realizar o modo de operación intermitente. Nun entorno de varios programas, o programa execútase nun modo de operación intermitente de parar e ir. Cando un proceso se suspende debido ao bloqueo, debe conservar a información do sitio da CPU cando estea en execución. Despois de ter a PCB, o sistema pode gardar a información do sitio da CPU na PCB do proceso interrompido para usala cando se restaure o sitio da CPU cando o proceso estea programado para a súa execución de novo. Polo tanto, pódese deixar claro de novo que nun entorno multiprograma, como programa estático no sentido tradicional, ao non contar con medios para protexer ou salvar o seu propio lugar de explotación, non pode garantir a reproducibilidade dos seus resultados operativos. , perdendo así o seu funcionamento. importancia.

(3) PCB proporciona información necesaria para a xestión do proceso. Cando o programador programa a execución dun proceso, só pode atopar o programa e os datos correspondentes segundo o punteiro do enderezo de inicio do programa e os datos rexistrados na PCB do proceso na memoria ou almacenamento externo; Durante o proceso de execución, cando se debe acceder ao ficheiro. Cando os ficheiros ou dispositivos de E/S do sistema, tamén necesitan confiar na información da PCB. Ademais, segundo a lista de recursos do PCB, pódense aprender todos os recursos necesarios para o proceso. Pódese ver que durante todo o ciclo de vida dun proceso, o sistema operativo sempre controla e xestiona o proceso segundo o PCB.

(4) PCB proporciona a información necesaria para a programación do proceso. Só se poden programar para a súa execución os procesos no estado listo, e a PCB proporciona información sobre o estado no que se atopa o proceso. Se o proceso está no estado listo, o sistema insíreo na cola de proceso listo e agarda a que o programador o programe. ; ademais, moitas veces é necesario coñecer outra información sobre o proceso á hora de programar. Por exemplo, no algoritmo de programación de prioridades, cómpre coñecer a Prioridade do proceso. Nalgúns algoritmos de programación máis xusto, tamén cómpre coñecer o tempo de espera do proceso e os eventos que se executaron.

(5) PCB realiza a sincronización e comunicación con outros procesos. O mecanismo de sincronización de procesos úsase para realizar a operación coordinada de varios procesos. Cando se adopta o mecanismo do semáforo, esixe que se estableza un semáforo correspondente para a sincronización en cada proceso. O PCB tamén ten un punteiro de área ou de cola de comunicación para a comunicación do proceso.

Información no bloque de control de procesos:

No bloque de control de procesos, inclúe principalmente a seguinte información:

(1) Identificador de proceso: o identificador de proceso úsase para indicar un proceso de forma única. Un proceso adoita ter dous tipos de identificadores: ① identificadores externos. Co fin de facilitar ao usuario o proceso de acceso ao proceso, debe establecerse un identificador externo para cada proceso. Proporciona o creador e normalmente consta de letras e números. Para describir a relación familiar do proceso, tamén se deben establecer o ID do proceso principal e o ID do proceso fillo. Ademais, pódese establecer un ID de usuario para indicar o usuario propietario do proceso. ②Identificador interno. Co fin de facilitar o uso do proceso por parte do sistema, establécese un identificador interno para o proceso no SO, é dicir, a cada proceso recibe un identificador dixital único, que adoita ser o número de serie dun proceso.

(2) Estado do procesador: a información do estado do procesador tamén se denomina contexto do procesador, que está composto principalmente polo contido de varios rexistros do procesador. Estes rexistros inclúen: ①Rexistros de propósito xeral, tamén coñecidos como rexistros visibles do usuario, aos que os programas de usuario acceden e se utilizan para almacenar información temporalmente. Na maioría dos procesadores, hai de 8 a 32 rexistros de propósito xeral. En ordenadores estruturados en RISC Pode haber máis de 100; ②Contador de instrucións, que almacena o enderezo da seguinte instrución á que se debe acceder; ③Programar a palabra de estado PSW, que contén información de estado, como código de condición, modo de execución, bandeira de máscara de interrupción, etc.; ④Punto de pila de usuarios: significa que cada proceso de usuario ten unha ou varias pilas de sistema relacionadas, que se usan para almacenar os parámetros de chamadas do proceso e do sistema e enderezos de chamada. O punteiro de pila apunta á parte superior da pila. Cando o procesador está no estado de execución, gran parte da información que se está a procesar colócase no rexistro. Cando se conmuta o proceso, a información do estado do procesador debe gardarse na PCB correspondente, para que a execución poida continuar desde o punto de interrupción cando se reexecute o proceso.

(3) Información de programación do proceso: cando o SO está a programar, é necesario comprender o estado do proceso e información sobre a programación do proceso. Esta información inclúe: ① Estado do proceso, que indica o estado actual do proceso, que se usa como base para a programación e o intercambio do proceso. ②A prioridade do proceso é un número enteiro usado para describir o nivel de prioridade do proceso que utiliza o procesador. O proceso con maior prioridade debería obter primeiro o procesador; ③Outra información necesaria para a programación do proceso, que está relacionada co algoritmo de programación do proceso utilizado. Por exemplo, a suma do tempo que o proceso estivo esperando pola CPU, a suma do tempo que se executou o proceso, etc. ④O evento refírese ao evento que espera a que o proceso cambie do estado de execución ao estado de bloqueo, é dicir, a causa do bloqueo.

(4) Información de control do proceso: Refírese á información necesaria para o control do proceso, que inclúe: ①O enderezo do programa e os datos, a dirección da memoria ou da memoria externa do programa e os datos da entidade do proceso, para que se poida programar para executar cando se executa o proceso. , O programa e os datos pódense atopar no PCB; ②Mecanismo de sincronización e comunicación de procesos, que é un mecanismo necesario para a sincronización e a comunicación de procesos, como punteiros de fila de mensaxes, semáforos, etc., poden colocarse no PCB en todo ou en parte; ③Lista de recursos, na que se listan todos os recursos (excepto a CPU) necesarios polo proceso durante o seu funcionamento, e tamén hai unha lista de recursos asignados ao proceso; ④Link pointer, que dá ao proceso (PCB) O primeiro enderezo do PCB do seguinte proceso na cola.