El bloque de control del proceso (BCP) o en inglés PCB (Process Control Block) es un registro especial donde el sistema operativo agrupa toda la información que necesita conocer respecto a un proceso particular. Cada vez que se crea un proceso el sistema operativo crea el BCP correspondiente para que sirva como descripción en tiempo de ejecución durante toda la vida del proceso.
Cuando el proceso termina, su BCP es borrado y el registro puede ser utilizado para otros procesos. Un proceso resulta conocido para el sistema operativo y por tanto elegible para competir por los recursos del sistema sólo cuando existe un BCP activo asociado a él. El bloque de control de proceso es una estructura de datos con campos para registrar los diferentes aspectos de la ejecución del proceso y de la utilización de recursos. La información almacenada en un BCP incluye típicamente algunos o todos los campos siguientes:
- Identificador del proceso (Process Identificator -PID-, de sus siglas en inglés).
- Estado del proceso. Por ej.: listo, en espera, bloqueado.
- Contador de programa: dirección de la próxima instrucción a ejecutar.
- Valores de registro de CPU. Se utilizan también en el cambio de contexto.
- Espacio de direcciones de memoria.
- Prioridad en caso de utilizarse dicho algoritmo para planificación de CPU.
- Lista de recursos asignados (incluyendo descriptores de archivos y sockets abiertos).
- Estadísticas del proceso.
- Datos del propietario (owner).
- Permisos asignados.
- Signals pendientes de ser servidos. (Almacenados en un mapa de bits).
Esta lista es simplemente indicativa, cada sistema operativo tiene su propio diseño de BCP, con el conjunto de metadatos necesarios para la administración. Puede medir desde 32 bits a 1024. Su denominación cambia según el sistema operativo, por ej. en IBM se designa PSW por palabra de estado de proceso. Difiere significativamente entre los sistemas de procesamiento por lotes (BATCH) y los sistemas interactivos.
El BCP Es una estructura de datos con campos para registrar los diferentes aspectos de ejecución del proceso así como la de la utilización de los recursos. La información del BCP se agrupa generalmente en las siguientes categorías:
Identificación del proceso.
La información correspondiente a la identificación consiste en un conjunto de identificadores que incluyen:
a) El identificador del proceso (PID): Consiste en un número entero asignado por el sistema.
b) Identificador del proceso padre.
c) La identificación del usuario: Es una cadena de caracteres.
Informacion del estado del proceso: La información relativa al estado de microprocesador consta de :
a) Registros Visibles para el usuario: Son los registros utilizados por el proceso para almacenar datos de entrada y resultados.
b) Registros de control y estado: entre los cuales se incluyen el contador de programa (PC), los registros de códigos de condición, los registros con indicadores de habilitación o inhabilitación de interrupciones y modo de ejecución.
c) Puntero de pila del proceso: El proceso utiliza una estructura para almacenar parámetros y direcciones de retorno de funciones y procedimientos.
Información de control y gestión del proceso: La Información de control y gestión del proceso incluye:
a) Información de planificación y estado: esta información es necesaria para el SO lleve a cabo sus funciones de planificación. Los elementos típicos de esta información son los siguientes:
1. Estado del proceso (Ejecución, preparado , etc).
2. Prioridad de planificación (se utilizaran algoritmos de planificación que usara esta información).
3. Información para la planificación: esta depende del algoritmo de planificación utilizado.
4. Suceso por el que se encuentre esperando el suceso para reanudar su ejecución.
b) Estructuracion de datos: Un proceso puede estar enlazado a otros procesos formando una cola, unanillo o algun otra estructura o alguna otra estructura.
c) Comunicacion entre Procesos: en el BCP pueden ubicarse indicadores, señales y mensajes asociados con la comunicacion entre procesos independientes.
d) Privilegios de los recursos: A los procesos le otorgan privilegios en términos de la memoria a la que pueden acceder y los tipos de instrucciones que pueden ejecutar. Además, también se pueden aplicar privilegios al uso de servicios y utilidades del sistema.
e) Gestión de memoria: Esta sección incluye punteros a las tablas de las paginas y/o segmentos que describen la memoria asignada al proceso.
f) Recursos en propiedad y utilizacion de los procesos. Se incluyen los recursos controlados por el proceso tales como los ficheros abiertos por éste. También se suele incluir un historico de la utilización del procesador o de otro recurso.
Esta información puede ser necesaria para el planificador.
Fuentes
- http://edwinborda.blogspot.com/2011/04/bloque-de-control-de-procesos.html
- https://es.wikipedia.org/wiki/Bloque_de_control_del_proceso
Comentarios
Publicar un comentario