Ir al contenido principal

Bloque de control del proceso (BCP)

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

Entradas populares de este blog

Políticas de planificación de procesos. Ventajas y desventajas

A continuación se enumeran diversas políticas de planificación. Lo habitual es utilizar políticas mixtas. Generalmente, el planificador a corto plazo utiliza round-robin, mientras que el planificador a largo plazo utiliza varias colas FIFO (First In First Out). Cada una de estas colas corresponde a una prioridad diferente.     Planificación Round-robin     Round-robin con pesos.     Prioridades monótonas en frecuencia (RMS (Rate-monotonic scheduling))     Menor tiempo de respuesta primero (EDF (Earliest deadline first scheduling))     FIFO - También conocido como FCFS "First Come, First Served".     LIFO.     SJF - Shortest Job First.     CFS - Completely Fair Scheduler (ó Planificador Completamente Justo)     SRT - Shortest Remaining Time     SPT - Shortest Process Time     Planificación mediante colas multinivel. Algunos algoritmos de Planificación Pri...

Métodos de administración del procesador

La administración del procesador es, prácticamente el tema central de la  multiprogramación. Esta administración involucra las distintas maneras a través de las cuales el sistema operativo comparte los recursos del procesador entre distintos procesos que están compitiendo por su uso. Esto implica directamente la multiprogramación y conlleva simultáneamente la sincronización de los mismos. La idea de administrar el procesador eficientemente está enfocada en dos aspectos: el primero es la cantidad de procesos por unidad de tiempo que se pueden ejecutar en un sistema; y el segundo, el que importa más al usuario, es el tiempo de respuesta de esos procesos. La idea principal de la administración del procesador tiene que ver con eltiempo que permanecerá un proceso en el procesador, ¿que proceso corre en que momento?.En un Computador personal es mas difícil encontrar el caso que un usuario necesite ejecutar dos procesos al mismo tiempo, enviar un correo y escribir un texto. Mie...