Está en la página 1de 4

3) especifique el conjunto de datos de un bloque de

procesos. Defina cada uno

Un proceso no es más que un programa en ejecución. Su estructura puede


variar según el sistema operativo, pero, en general podemos decir que se
trata de código ejecutable, datos y todo lo necesario para identificarlo
dentro del sistema. Se puede considerar que un proceso está formado por
los siguientes componentes:

 Código ejecutable.
 Datos asociados que el proceso requiere: Variables globales,
constantes, variables inicializadas y no inicializadas, variables de sólo
lectura.
 Contexto de ejecución del programa.
 Pila o stack, que registra por bloques las llamadas a procedimientos y
los parámetros pasados a estos, variables locales de la rutina
invocada, y la dirección de la siguiente instrucción a ejecutar cuando
termine la llamada. Esta zona de memoria se asigna por el sistema
operativo al cargar el proceso en la memoria principal. En caso de
auto llamadas recursivas, la pila podría desbordarse.
 Montículo o heap, una zona de memoria asignada por el sistema
operativo para datos en tiempo de ejecución. Puede aumentar o
disminuir en tiempo de ejecución del proceso
 Estado del proceso, por ejemplo, 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.
 Permisos asignados. 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 desde32
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

Supongamos que el procesador comienza a ejecutar un proceso. En


cualquier instante puntual de tiempo, mientras el proceso está en
ejecución, éste se puede caracterizar por una serie de elementos, cuyo
conjunto se llama contexto de ejecución:

 Identificación: Un identificador único asociado al proceso para


distinguirlo del resto de procesos. Puede también almacenar el
identificador del proceso padre que lo creó y el identificador del
usuario, dependiendo del sistema.
 Estado: Si el proceso está actualmente en ejecución o en otro estado,
como listo, suspendido, parado o zombi. Los estados varían según el
tipo de sistema operativo.
 Información de planificación: Nivel de prioridad relativo al resto de
procesos. Evento por el que espera el proceso mientras está
bloqueado.
 Descripción de los segmentos de memoria asignados al proceso:
Espacio de direcciones o límites de memoria asignados al proceso.
 Punteros a memoria: Incluye los punteros al código del programa y
los datos asociados a dicho proceso, además incluye cualquier bloque
de memoria compartido con otros procesos, e incluso si el proceso
utiliza memoria virtual. También se almacenan los punteros a la pila y
al montículo del proceso.
 Datos de contexto: Estos son datos que están presentes en el registro
del procesador cuando el proceso se encuentra en ejecución.
Almacena el valor de todos los registros del procesador, banderas de
estado, señales, etc. En definitiva, todo lo necesario para poder
continuar la ejecución del proceso cuando el sistema operativo lo
decida.
 Información de estado E/S y recursos asignados: Incluye las
peticiones de E/S pendientes, dispositivos de E/S asignados a ese
proceso, una lista de ficheros en uso, etc.
 Comunicación entre procesos: Puede haber varios indicadores,
señales y mensajes asociados con la comunicación entre dos procesos
independientes.
 Información de auditoría: Puede incluir la cantidad de tiempo de
procesador y de tiempo de reloj utilizados, así como los límites de
tiempo, registros contables, etc.

Con respecto a la identificación del proceso, en casi todos los sistemas


operativos se le asigna a cada proceso un identificador numérico único (ID).
Este identificador nos servirá para localizarlo dentro de la tabla de
procesos. Cuando se permite que los procesos creen otros procesos, se
utilizan identificadores para señalar al padre y a los descendientes de cada
proceso. Además de estos, un proceso también puede tener asignado un
identificador de usuario que indica a quién pertenece el proceso (UID).

También podría gustarte