Descreva resumidamente o significado e a função do PCB

Para que cada programa participe da execução simultânea, inclusive os dados possam ser executados de forma independente, uma estrutura de dados especial deve ser configurada para ele no sistema operacional, chamada de bloco de controle de processo (PCB, Bloco de controle de processo). Há uma correspondência um a um entre o processo e o PCB, e o processo do usuário não pode ser modificado.

ipcb

O papel do PCB do bloco de controle do processo:

A fim de facilitar a descrição do sistema e o gerenciamento da operação do processo, uma estrutura de dados é definida especificamente para cada processo no núcleo do OS-Process Control Block PCB (Process Control Block). Como parte da entidade do processo, o PCB registra todas as informações necessárias ao sistema operacional para descrever a situação atual do processo e gerenciar a operação do processo. É a estrutura de dados gravada mais importante no sistema operacional. A função do PCB é fazer com que um programa (incluindo dados) que não pode ser executado independentemente em um ambiente multiprograma se torne uma unidade básica que pode ser executada de forma independente, um processo que pode ser executado simultaneamente com outros processos.

(2) O PCB pode realizar o modo de operação intermitente. Em um ambiente de multiprograma, o programa é executado em um modo de operação intermitente para e continua. Quando um processo é suspenso devido ao bloqueio, ele deve reter as informações do site da CPU quando estiver em execução. Após ter o PCB, o sistema pode salvar as informações do site da CPU no PCB do processo interrompido para uso quando o site da CPU for restaurado quando o processo for agendado para execução novamente. Portanto, pode ficar claro novamente que em um ambiente multiprograma, como um programa estático no sentido tradicional, por não possuir os meios para proteger ou salvar seu próprio local de operação, não pode garantir a reprodutibilidade de seus resultados operacionais. , perdendo assim o seu funcionamento. significado.

(3) O PCB fornece as informações necessárias para o gerenciamento do processo. Quando o planejador programa a execução de um processo, ele só pode encontrar o programa e os dados correspondentes de acordo com o ponteiro do endereço de início do programa e os dados gravados no PCB do processo na memória ou armazenamento externo; durante o processo de execução, quando o arquivo precisa ser acessado Quando os arquivos ou dispositivos de E / S no sistema, eles também precisam contar com as informações no PCB. Além disso, de acordo com a lista de recursos na PCB, todos os recursos necessários para o processo podem ser aprendidos. Percebe-se que durante todo o ciclo de vida de um processo, o sistema operacional sempre controla e gerencia o processo de acordo com o PCB.

(4) O PCB fornece as informações necessárias para a programação do processo. Apenas os processos no estado pronto podem ser agendados para execução, e o PCB fornece informações sobre em que estado o processo está. Se o processo estiver no estado pronto, o sistema o insere na fila de processo pronto e aguarda o agendador para agendar ; além disso, muitas vezes é necessário saber outras informações sobre o processo durante o agendamento. Por exemplo, no algoritmo de escalonamento de prioridade, você precisa saber a Prioridade do processo. Em alguns algoritmos de escalonamento mais justos, você também precisa saber o tempo de espera do processo e os eventos que foram executados.

(5) PCB realiza sincronização e comunicação com outros processos. O mecanismo de sincronização de processos é usado para realizar a operação coordenada de vários processos. Quando o mecanismo de semáforo é adotado, ele requer que um semáforo correspondente para sincronização seja definido em cada processo. O PCB também possui uma área ou ponteiro de fila de comunicação para comunicação de processo.

Informações no bloco de controle de processo:

No bloco de controle do processo, inclui principalmente as seguintes informações:

(1) Identificador de processo: O identificador de processo é usado para indicar exclusivamente um processo. Um processo geralmente possui dois tipos de identificadores: ① identificadores externos. A fim de facilitar o processo do usuário para acessar o processo, um identificador externo deve ser definido para cada processo. É fornecido pelo criador e geralmente consiste em letras e números. Para descrever a relação familiar do processo, o ID do processo pai e o ID do processo filho também devem ser definidos. Além disso, um ID de usuário pode ser definido para indicar o usuário que possui o processo. ② Identificador interno. Para facilitar a utilização do processo pelo sistema, um identificador interno é definido para o processo no SO, ou seja, cada processo recebe um identificador digital único, que geralmente é o número de série de um processo.

(2) Estado do processador: a informação de estado do processador também é chamada de contexto do processador, que é principalmente composta pelo conteúdo de vários registros do processador. Esses registros incluem: ① Registros de uso geral, também conhecidos como registros visíveis do usuário, que são acessíveis pelos programas do usuário e usados ​​para armazenar informações temporariamente. Na maioria dos processadores, existem de 8 a 32 registradores de uso geral. Em computadores estruturados com RISC, pode haver mais de 100; ②Contador de instruções, que armazena o endereço da próxima instrução a ser acessada; ③Palavra de status do programa PSW, que contém informações de status, como código de condição, modo de execução, sinalizador de máscara de interrupção, etc .; ④ Ponteiro de pilha do usuário, significa que cada processo do usuário tem uma ou várias pilhas do sistema relacionadas, que são usadas para armazenar os parâmetros do processo e da chamada do sistema e os endereços das chamadas. O ponteiro da pilha aponta para o topo da pilha. Quando o processador está no estado de execução, muitas das informações que estão sendo processadas são colocadas no registrador. Quando o processo é comutado, as informações de estado do processador devem ser salvas no PCB correspondente, para que a execução possa continuar a partir do ponto de interrupção quando o processo for reexecutado.

(3) Informações de agendamento do processo: Quando o SO está agendando, é necessário entender o status do processo e informações sobre o agendamento do processo. Essas informações incluem: ① Status do processo, indicando o status atual do processo, que é usado como base para o agendamento e troca do processo ②A prioridade do processo é um número inteiro usado para descrever o nível de prioridade do processo usando o processador. O processo com prioridade mais alta deve obter o processador primeiro; ③Outras informações necessárias para o escalonamento do processo, que estão relacionadas ao algoritmo de escalonamento do processo utilizado Por exemplo, a soma do tempo que o processo está esperando pela CPU, a soma do tempo que o processo foi executado, e assim por diante; ④Evento refere-se ao evento que aguarda a passagem do processo do estado de execução para o estado de bloqueio, ou seja, a causa do bloqueio.

(4) Informações de controle do processo: Refere-se às informações necessárias para o controle do processo, que inclui: ① O endereço do programa e dos dados, a memória ou o endereço da memória externa do programa e os dados na entidade do processo, de modo que possam ser agendados para executar quando o processo for executado. , O programa e os dados podem ser encontrados no PCB; ② Mecanismo de sincronização e comunicação de processos, que é um mecanismo necessário para sincronização e comunicação de processos, como ponteiros de fila de mensagens, semáforos, etc., que podem ser colocados no PCB no todo ou em parte; ③Lista de recursos, na qual estão listados todos os recursos (exceto CPU) requeridos pelo processo durante sua operação, e também há uma lista de recursos alocados ao processo; ④ Ponteiro de link, que fornece ao processo (PCB) O primeiro endereço do PCB do próximo processo na fila.