stringtranslate.com

Bloque de control de proceso

Un bloque de control de procesos ( PCB ), también llamado a veces descriptor de proceso, es una estructura de datos utilizada por un sistema operativo de computadora para almacenar toda la información sobre un proceso .

Cuando se crea un proceso (inicializado o instalado), el sistema operativo crea un bloque de control de proceso correspondiente, que especifica y rastrea el estado del proceso (es decir, nuevo, listo, en ejecución, en espera o finalizado). Dado que se utiliza para rastrear la información del proceso, la PCB desempeña un papel clave en el cambio de contexto . [1]

El núcleo de un sistema operativo almacena PCB en una tabla de procesos. [2]

El directorio de trabajo actual de un proceso es una de las propiedades que el kernel almacena en la PCB del proceso. [3]

Role

El papel de los PCB es central en la gestión de procesos : la mayoría de las empresas de servicios públicos acceden a ellos y/o los modifican, en particular aquellos involucrados en la programación y la gestión de recursos.

Estructura

En los sistemas operativos multitarea , la PCB almacena los datos necesarios para una gestión correcta y eficiente de los procesos. [4] Aunque los detalles de estas estructuras dependen del sistema, los elementos comunes se dividen en tres categorías principales:

Existen tablas de estado para cada entidad relevante, como descripciones de memoria, dispositivos de E/S, archivos y procesos.

Las tablas de memoria, por ejemplo, contienen información sobre la asignación de memoria principal y secundaria (virtual) para cada proceso, atributos de autorización para acceder a áreas de memoria compartidas entre diferentes procesos, etc. Las tablas de E/S pueden tener entradas que indiquen la disponibilidad de un dispositivo o su asignación a un proceso, el estado de las operaciones de E/S, la ubicación de los buffers de memoria utilizados para ellas, etc.

Los datos de identificación del proceso incluyen un identificador único para el proceso (casi invariablemente un número entero) y, en un sistema multiusuario y multitarea, datos como el identificador del proceso principal, el identificador del usuario, el identificador del grupo de usuarios, etc. La identificación del proceso es particularmente relevante. ya que a menudo se utiliza para hacer referencias cruzadas de las tablas definidas anteriormente, por ejemplo, mostrando qué proceso utiliza qué dispositivos de E/S o áreas de memoria.

Los datos del estado del proceso definen el estado de un proceso cuando se suspende, lo que permite que el sistema operativo lo reinicie más tarde. Esto siempre incluye el contenido de los registros de CPU de uso general, la palabra de estado del proceso de la CPU, punteros de pila y marco, etc. Durante el cambio de contexto , el proceso en ejecución se detiene y se ejecuta otro proceso. El kernel debe detener la ejecución del proceso en ejecución, copiar los valores de los registros de hardware a su PCB y actualizar los registros de hardware con los valores de la PCB del nuevo proceso.

El sistema operativo utiliza la información de control de procesos para gestionar el proceso en sí. Esto incluye:

Ubicación

La PCB debe mantenerse en un área de la memoria protegida del acceso normal al proceso. En algunos sistemas operativos, la PCB se coloca en la parte inferior de la pila de proceso . [5]

Ver también

Notas

  1. ^ "Bloque de control de procesos | Baeldung en informática". 25 de junio de 2020.
  2. ^ "Clase 9: el sistema de archivos Unix". www.usna.edu . Consultado el 9 de diciembre de 2023 .
  3. ^ "Notas de CS 537: directorios". páginas.cs.wisc.edu . Consultado el 9 de diciembre de 2023 .
  4. ^ Gagne, Abraham Silberschatz, Peter Baer Galvin, Greg (2013). Conceptos de sistemas operativos (9ª ed.). Hoboken, Nueva Jersey: Wiley. págs. 107-108. ISBN 9781118063330.{{cite book}}: Mantenimiento CS1: varios nombres: lista de autores ( enlace )
  5. ^ Yong, Zhang, "Rompiendo el número máximo de procesos", "Linux Journal", 1 de enero de 2004, [1].