Describa brevemente el significado y la función de PCB

Para que cada programa que participe en la ejecución concurrente, incluidos los datos, se pueda ejecutar de forma independiente, se debe configurar una estructura de datos especial para ello en el sistema operativo, denominado bloque de control de procesos (PCB, Bloque de control de procesos). Existe una correspondencia uno a uno entre el proceso y la PCB, y el proceso del usuario no se puede modificar.

ipcb

El papel de la PCB del bloque de control de proceso:

Con el fin de facilitar la descripción del sistema y la gestión de la operación del proceso, se define específicamente una estructura de datos para cada proceso en el núcleo del OS-Process Control Block PCB (Process Control Block). Como parte de la entidad de proceso, PCB registra toda la información que necesita el sistema operativo para describir la situación actual del proceso y gestionar la operación del proceso. Es la estructura de datos registrada más importante del sistema operativo. La función de PCB es hacer que un programa (incluidos los datos) que no se puede ejecutar de forma independiente en un entorno de varios programas se convierta en una unidad básica que se puede ejecutar de forma independiente, un proceso que se puede ejecutar al mismo tiempo que otros procesos.

(2) PCB puede realizar el modo de operación intermitente. En un entorno de varios programas, el programa se ejecuta en un modo de funcionamiento intermitente de parada y marcha. Cuando un proceso se suspende debido a un bloqueo, debe conservar la información del sitio de la CPU cuando se está ejecutando. Después de tener la placa de circuito impreso, el sistema puede guardar la información del sitio de la CPU en la placa de circuito impreso del proceso interrumpido para usarla cuando el sitio de la CPU se restaure cuando el proceso esté programado para su ejecución nuevamente. Por lo tanto, se puede aclarar nuevamente que en un entorno multiprograma, como programa estático en el sentido tradicional, debido a que no tiene los medios para proteger o salvar su propio sitio operativo, no puede garantizar la reproducibilidad de sus resultados operativos. , perdiendo así su funcionamiento. significado.

(3) PCB proporciona la información necesaria para la gestión de procesos. Cuando el programador programa la ejecución de un proceso, solo puede encontrar el programa y los datos correspondientes de acuerdo con el puntero de la dirección de inicio del programa y los datos registrados en la PCB del proceso en la memoria o almacenamiento externo; durante el proceso de ejecución, cuando es necesario acceder al archivo Cuando los archivos o dispositivos de E / S en el sistema, también deben confiar en la información de la PCB. Además, de acuerdo con la lista de recursos en la PCB, se pueden aprender todos los recursos necesarios para el proceso. Se puede observar que durante todo el ciclo de vida de un proceso, el sistema operativo siempre controla y gestiona el proceso de acuerdo con la PCB.

(4) PCB proporciona la información necesaria para la programación del proceso. Solo los procesos en el estado listo se pueden programar para su ejecución, y la PCB proporciona información sobre el estado en el que se encuentra el proceso. Si el proceso está en el estado listo, el sistema lo inserta en la cola de proceso listo y espera a que el programador lo programe. ; Además, a menudo es necesario conocer otra información sobre el proceso al programar. Por ejemplo, en el algoritmo de programación de prioridades, necesita conocer la Prioridad del proceso. En algunos algoritmos de programación más justos, también es necesario conocer el tiempo de espera del proceso y los eventos que se han ejecutado.

(5) PCB realiza sincronización y comunicación con otros procesos. El mecanismo de sincronización de procesos se utiliza para realizar la operación coordinada de varios procesos. Cuando se adopta el mecanismo de semáforo, se requiere que se establezca un semáforo correspondiente para la sincronización en cada proceso. La PCB también tiene un puntero de cola de área o comunicación para la comunicación del proceso.

Información en el bloque de control de procesos:

En el bloque de control de procesos, incluye principalmente la siguiente información:

(1) Identificador de proceso: el identificador de proceso se utiliza para indicar de forma única un proceso. Un proceso suele tener dos tipos de identificadores: ① identificadores externos. Para facilitar que el proceso del usuario acceda al proceso, se debe establecer un identificador externo para cada proceso. Lo proporciona el creador y generalmente consta de letras y números. Para describir la relación familiar del proceso, también se deben establecer el ID del proceso principal y el ID del proceso secundario. Además, se puede configurar un ID de usuario para indicar el usuario que es propietario del proceso. ② Identificador interno. Para facilitar el uso del proceso por parte del sistema, se establece un identificador interno para el proceso en el sistema operativo, es decir, a cada proceso se le asigna un identificador digital único, que suele ser el número de serie de un proceso.

(2) Estado del procesador: La información del estado del procesador también se denomina contexto del procesador, que se compone principalmente del contenido de varios registros del procesador. Estos registros incluyen: ①Registros de propósito general, también conocidos como registros visibles para el usuario, a los que pueden acceder los programas del usuario y que se utilizan para almacenar información temporalmente. En la mayoría de los procesadores, hay de 8 a 32 registros de propósito general. En computadoras con estructura RISC Puede haber más de 100; ②Contador de instrucciones, que almacena la dirección de la siguiente instrucción a la que se accede; ③ Palabra de estado del programa PSW, que contiene información de estado, como código de condición, modo de ejecución, bandera de máscara de interrupción, etc .; ④Puntero de pila de usuario, significa que cada proceso de usuario tiene una o varias pilas de sistema relacionadas, que se utilizan para almacenar procesos y parámetros de llamada del sistema y direcciones de llamada. El puntero de la pila apunta a la parte superior de la pila. Cuando el procesador está en el estado de ejecución, gran parte de la información que se procesa se coloca en el registro. Cuando se conmuta el proceso, la información del estado del procesador debe guardarse en el PCB correspondiente, de modo que la ejecución pueda continuar desde el punto de interrupción cuando se vuelva a ejecutar el proceso.

(3) Información de programación del proceso: cuando el sistema operativo está programando, es necesario comprender el estado del proceso y la información sobre la programación del proceso. Esta información incluye: ① Estado del proceso, que indica el estado actual del proceso, que se utiliza como base para la programación y el intercambio del proceso. ② La prioridad del proceso es un número entero que se utiliza para describir el nivel de prioridad del proceso que utiliza el procesador. El proceso con mayor prioridad debe obtener el procesador primero; ③Otra información requerida para la programación de procesos, que está relacionada con el algoritmo de programación de procesos utilizado. Por ejemplo, la suma del tiempo que el proceso ha estado esperando a la CPU, la suma del tiempo que se ha ejecutado el proceso, etc. ④Evento se refiere al evento que espera que el proceso pase del estado de ejecución al estado de bloqueo, es decir, la causa del bloqueo.

(4) Información de control de proceso: Se refiere a la información necesaria para el control de proceso, que incluye: ① La dirección del programa y los datos, la dirección de memoria o memoria externa del programa y los datos en la entidad de proceso, para que pueda ser programado para ejecutar cuando se ejecuta el proceso. , El programa y los datos se pueden encontrar en la PCB; ②Mecanismo de sincronización y comunicación de procesos, que es un mecanismo necesario para la sincronización y comunicación de procesos, tales como punteros de cola de mensajes, semáforos, etc., pueden colocarse en la PCB en su totalidad o en parte; ③Lista de recursos, en la que se enumeran todos los recursos (excepto CPU) requeridos por el proceso durante su operación, y también hay una lista de recursos asignados al proceso; ④Puntero de enlace, que le da al proceso (PCB) La primera dirección de la PCB del siguiente proceso en la cola.