sábado, 2 de julio de 2016

Bloques de control de procesos y colas


Cada proceso en el sistema está representado por una estructura de datos, conocidas como bloque de control de procesos (PCB). Contiene la información básica sobre la tarea, incluyendo lo que es, dónde va, cuánto de su procesamiento se ha completado, dónde está almacenada y cuánto ha gastado en recursos.


El bloque de control de procesos (PCB) de un trabajo se crea cuando el planificador de trabajos lo acepta y se actualiza conforme éste avanzada desde el principio hasta el final de su ejecución.

Las colas utilizan los PCB para llevar el control de los trabajos. El PCB contiene los datos del trabajo necesarios para que el sistema operativo administre el procesamiento de éste. Estos están vinculados para formar las colas.

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.
  • 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.
Algunos sistemas de multiprogramación incluyen información de mantenimiento con el propósito de facturar a los usuarios individuales el tiempo de procesador, el almacenamiento, las operaciones de E/S y otras utilizaciones de recursos.
Una vez creado, el BCP se rellena con los atributos definidos como parámetros que se hallan en la plantilla del proceso o que son especificados como parámetros de la llamada al sistema operativo crear_proceso. En ese momento el sistema operativo suele asignar valores a otros campos. Por ejemplo, cuando se crea un proceso, los registros e indicadores hardware se fijan a los valores proporcionados por el cargador/enlazador. Cada vez que un proceso queda suspendido, el contenido de los registros del procesador es generalmente guardado en la pila, y el puntero al marco de la pila en cuestión se almacena en el BCP. De este modo los valores de los registros son restaurados cuando el proceso es seleccionado para ejecutarse nuevamente


No hay comentarios:

Publicar un comentario