Tabla03 Salling

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 13

Tabla 3.

1 Razones para la creación de procesos

Nuevo trabajo por lotes


El sistema operativo se proporciona con un flujo de
control de trabajo por lotes, generalmente en cinta o
disco. Cuando el sistema operativo esté preparado para
asumir nuevos trabajos, leerá la siguiente secuencia de
comandos de control de trabajos.

Inicio de sesión interactivo Un usuario en un terminal inicia sesión en el sistema.

Creado por OS para proporcionar El sistema operativo puede crear un proceso para realizar
un servicio una función en nombre de un programa de usuario, sin
que el usuario tenga que esperar (por ejemplo, un
proceso para controlar la impresión).

Generado por el proceso existente Para fines de modularidad o para explotar el paralelismo,
un programa de usuario puede dictar la creación de una
serie de procesos.
Tabla 3.2 Razones para la terminación del proceso

Finalización normal El proceso ejecuta una llamada al servicio del sistema operativo para indicar
que ha terminado de ejecutarse.

Límite de tiempo excedido El proceso se ha ejecutado más tiempo que el límite de tiempo total
especificado. Hay una serie de posibilidades para el tipo de tiempo que se
mide. Estos incluyen el tiempo total transcurrido ("tiempo del reloj de pared"),
la cantidad de tiempo dedicado a la ejecución y, en el
caso de un proceso interactivo, la cantidad de tiempo desde la última vez que
el usuario proporcionó cualquier entrada.

Memoria no disponible El proceso requiere más memoria de la que el sistema puede proporcionar.

El proceso intenta acceder a una ubicación de memoria a la que no se le permite


Violación de límites acceder.

El proceso intenta utilizar un recurso o un archivo que no está permitido usar, o


Error de protección intenta usarlo de manera incorrecta, como escribir en un archivo de solo
lectura.

Error aritmético El proceso intenta un cálculo prohibido, como la división por cero, o intenta
almacenar números más grandes de lo que el hardware puede acomodar.

Exceso de tiempo El proceso ha esperado más de un máximo especificado para que se produzca
un determinado evento.

Se produce un error durante la entrada o la salida, como la incapacidad de


Error de E/ S encontrar un archivo, el error de
leer o escribir después de un número máximo especificado de intentos
(cuando, por ejemplo, se encuentra un área defectuosa en una cinta) u
operación no válida (como leer desde la impresora de línea).

Instrucción no válida El proceso intenta ejecutar una instrucción inexistente (a menudo como
resultado de ramificarse en un área de datos e intentar ejecutar los datos).

Instrucción privilegiada El proceso intenta utilizar una instrucción reservada para el sistema operativo.

Uso indebido de datos Un dato es del tipo incorrecto o no se inicializa.

Intervención del operador o


del sistema operativo Por alguna razón, el operador o el sistema operativo ha terminado el proceso
(por ejemplo, si existe un punto muerto).

Cuando un padre termina, el sistema operativo puede terminar


Terminación de los padres automáticamente todos
de la descendencia de ese progenitor.

Un proceso de padres generalmente tiene la autoridad para terminar con


Solicitud de los padres cualquiera de sus descendientes.

Tabla 3.3 Razones para la suspensión del proceso

Intercambio
El sistema operativo necesita liberar suficiente memoria
principal para incorporar un proceso que esté listo para
ejecutarse.

Otra razón del sistema El sistema operativo puede suspender un proceso en


operativo segundo plano o de utilidad o un proceso sospechoso de
causar un problema.

Solicitud de usuario
interactiva Un usuario puede desear suspender la ejecución de un
programa con fines de depuración o en relación con el uso
de un recurso.

Cronometraje Un proceso puede ejecutarse periódicamente (por


ejemplo, un proceso de contabilidad o monitoreo del
sistema) y puede suspenderse mientras se espera el
próximo intervalo de tiempo.

Solicitud de proceso de Un proceso padre puede desear suspender la ejecución


padres de un descendiente para examinar o modificar el proceso
suspendido, o para coordinar la actividad de varios
descendientes.

Tabla 3.4 Elementos típicos de una imagen de proceso


Datos del usuario
La parte modificable del espacio de usuario. Puede incluir datos de programa, un área
de pila de usuarios y programas que pueden modificarse.

Programa de usuario
El programa a ejecutar.

Pila del sistema


Cada proceso tiene una o más pilas de sistema de último en entrar, primero en salir
(LIFO) asociadas con él. Una pila se utiliza para almacenar parámetros y direcciones de
llamada para llamadas a procedimientos y sistemas.

Bloque de control de procesos


Datos que necesita el sistema operativo para controlar el proceso (véase el cuadro 3.6).
Tabla 3.5 Elementos típicos de un bloque de control de procesos (página 1 de 2)

Identificación de procesos

Identificadores
Los identificadores numéricos que se pueden almacenar con el bloque de control de procesos
incluyen
•Identificador de este proceso
•Identificador del proceso que creó este proceso (proceso padre)
•Identificador de usuario

Información sobre el estado del procesador

Registros visibles para el usuario


Un registro visible para el usuario es aquel al que se puede hacer referencia por medio del lenguaje
de máquina que el
procesador ejecuta. Por lo general, hay de 8 a 32 de estos registros, aunque algunas
implementaciones de RISC tienen más de 100.

Registros de control y estado


Estos son una variedad de registros de procesador que se emplean para controlar el funcionamiento
del procesador.
Estos incluyen:
•Contador de programa: contiene la dirección de la siguiente instrucción que se va a obtener
•Códigos de condición: Resultado de la operación aritmética o lógica más reciente (por ejemplo,
signo, cero, acarreo, igual, desbordamiento)
•Información de estado: incluye indicadores de interrupción habilitados/deshabilitados, modo de
ejecución

Punteros de pila
Cada proceso tiene una o más pilas de sistema de último en entrar, primero en salir (LIFO) asociadas con
él. Se utiliza una pila
para almacenar parámetros y direcciones de llamada para llamadas a procedimientos y sistemas. El
puntero de pila apunta a la parte superior de la pila.

Tabla 3.5 Elementos típicos de un bloque de control de procesos (página 2 de 2)


Información de control de procesos

Programación e información estatal


Esta es la información que necesita el sistema operativo para realizar su función de programación.
Elementos típicos de información:
•Estado del proceso: define la preparación del proceso que se programará para su ejecución (por
ejemplo, en ejecución,
listo, esperando, detenido).
•Prioridad: Se pueden utilizar uno o más campos para describir la prioridad de programación del
proceso. En algunos sistemas, se requieren varios valores (por ejemplo, predeterminado, actual,
más permitido)
•Información relacionada con la programación: Esto dependerá del algoritmo de programación
utilizado. Algunos ejemplos son la cantidad de tiempo que el proceso ha estado esperando y la
cantidad de tiempo que el proceso se ejecutó la última vez que se ejecutó.

•Evento: Identidad del evento que el proceso está esperando antes de que pueda reanudarse.

Estructuración de datos
Un proceso puede estar vinculado a otro proceso en una cola, anillo o alguna otra estructura. Por
ejemplo, todos los procesos en un estado de espera para un nivel de prioridad particular pueden
estar vinculados en una cola. Un proceso puede exhibir una relación padre-hijo (creado por el
creador) con otro proceso. El bloque de control de procesos
puede contener punteros a otros procesos para soportar estas estructuras.

Comunicación entre procesos


Varias banderas, señales y mensajes pueden estar asociados con la comunicación entre dos
procesos independientes. Parte o toda esta información puede mantenerse en el bloque de control
de procesos.

Privilegios de proceso
A los procesos se les otorgan privilegios en términos de la memoria a la que se puede acceder y los
tipos de instrucciones que se pueden ejecutar. Además, pueden aplicarse privilegios al uso de las
utilidades del sistema y
servicios.

Administración de memoria
Esta sección puede incluir punteros a tablas de segmentos y/o páginas que describen la memoria
virtual asignada a este proceso.
Propiedad y utilización de los recursos
Se pueden indicar los recursos controlados por el proceso, como los archivos abiertos. También se
puede incluir un historial de utilización del procesador u otros recursos; Esta información puede ser
necesaria para el
programador.

Tabla 3.7 Funciones típicas del kernel de un sistema operativo

Gestión de Procesos

•Creación y terminación de procesos


•Programación y despacho de procesos
•Conmutación de procesos
•Sincronización de procesos y soporte para comunicación entre procesos
•Gestión de bloques de control de procesos

Administración de memoria

•Asignación de espacio de direcciones a los procesos


•Intercambio
•Gestión de páginas y segmentos

Gestión de E/S

•Gestión de búferes
•Asignación de canales y dispositivos de E/S a los procesos

Funciones de soporte

•Manejo de interrupciones
•Contabilidad
•Monitoreo
Tabla 3.8 Mecanismos para interrumpir la ejecución de un proceso
Mecanismo causa uso

Interrumpir Externo a la ejecución de la Reacción a un evento


instrucción actual externo asincrónico
Trampa
Asociado a la ejecución de la Manejo de un error o una
instrucción actual condición de excepción
Llamada a un sistema
Llamada del supervisor Solicitud explícita operativo
función
Tabla 3.9 Estados de proceso UNIX

Usuario en ejecución Ejecución en modo usuario.

Kernel en ejecución Ejecución en modo kernel.

Listo para ejecutar, en


Listo para ejecutarse tan pronto como el kernel lo programe.
memoria
Dormido en la memoria
No se puede ejecutar hasta que se produce un evento; el proceso
está en la memoria principal (un estado bloqueado).

Listo para ejecutar, El proceso está listo para ejecutarse, pero el intercambiador debe
intercambiado intercambiar el proceso en la memoria principal antes de que el
kernel pueda programarlo para que se ejecute.
Dormir, Intercambiado
El proceso está a la espera de un evento y se ha cambiado al
almacenamiento secundario (un estado bloqueado).

Adelantarse El proceso regresa del kernel al modo de usuario, pero el kernel


se adelanta a él y realiza un cambio de proceso para programar
otro proceso.
El proceso es de nueva creación y aún no está listo para
Creado
ejecutarse.

Zombi El proceso ya no existe, pero deja un registro para su padre


proceso para cobrar.

Tabla 3.10 Imagen de proceso UNIX

Contexto a nivel de usuario

Texto de proceso Instrucciones de máquina ejecutable del programa


Datos de proceso Datos accesibles por el programa de este proceso
Pila de usuarios Contiene los argumentos, las variables locales y los punteros de
las funciones que se ejecutan en modo de usuario
Memoria compartida Memoria compartida con otros procesos, utilizada para la
comunicación entre procesos

Contexto de registro

Contador de programas
Dirección de la siguiente instrucción a ejecutar; puede estar en el
kernel o en el espacio de memoria del usuario de este proceso
Registro de estado del Contiene el estado del hardware en el momento de la
procesador preferencia; el contenido y el formato dependen del hardware

Puntero de pila Apunta a la parte superior del kernel o pila de usuarios,


dependiendo del modo de operación en el momento o
preferencia
Registros de uso general Dependiente del hardware

Contexto a nivel de sistema

Entrada de tabla de procesos


Define el estado de un proceso; El sistema operativo siempre
tiene acceso a esta información
Área U (usuario) Información de control de procesos a la que solo se debe acceder
en el contexto del proceso

Tabla por región de proceso Define la asignación de direcciones virtuales a físicas; También
contiene un campo de permisos que indica el tipo de acceso
permitido al proceso: sólo lectura, lectura-escritura o lectura-
ejecución
Pila de kernel Contiene el marco de pila de los procedimientos del kernel a
medida que el proceso se ejecuta en modo kernel

Tabla 3.11 Entrada de tabla de procesos UNIX

Estado del proceso Estado actual del proceso.


Punteros Al área U y al área de memoria de proceso (texto, datos, pila).

Tamaño del proceso


Permite al sistema operativo saber cuánto espacio asignar al
proceso.

Identificadores de usuario
El ID de usuario real identifica al usuario que es responsable del
proceso en ejecución. El ID de usuario efectivo puede ser
utilizado por un proceso para obtener privilegios temporales
asociados con un programa en particular; mientras ese programa
se ejecuta como parte del proceso, el proceso opera con el ID de
usuario efectivo.
Identificadores de proceso Identificación de este proceso; ID del proceso padre. Estos se
configuran cuando el proceso entra en el estado Creado durante
la llamada al sistema de bifurcación.
Descriptor de eventos Válido cuando un proceso está en estado de sueño; cuando se
produce el evento, el proceso se transfiere a un estado listo para
ejecutar.

Prioridad Se utiliza para la programación de procesos.

Enumera las señales enviadas a un proceso pero que aún no se


Señal
han gestionado.
Temporizadores Incluya el tiempo de ejecución del proceso, la utilización de
recursos del kernel y el temporizador establecido por el usuario
utilizado para enviar señal de alarma a un proceso.
P_enlace
Puntero al siguiente enlace de la cola lista (válido si el proceso
está listo para ejecutarse).

Indica si la imagen de proceso está en la memoria principal o


Estado de la memoria intercambiada
fuera. Si está en la memoria, este campo también indica si se
puede intercambiar o si se bloquea temporalmente en la
memoria principal.
Tabla 3.12 Área UNIX U

Puntero de tabla de Indica la entrada que corresponde al área U.


procesos
ID de usuario reales y efectivos. Se utiliza para determinar los
Identificadores de usuario
privilegios de usuario.
Temporizadores
Registre el tiempo que el proceso (y sus descendientes) pasaron
ejecutándose en modo usuario y en modo kernel.

Matriz de manipuladores de
señal Para cada tipo de señal definida en el sistema, indica cómo
reaccionará el proceso a la recepción de esa señal (salir, ignorar,
ejecutar la función de usuario especificada).

Control Terminal Indica el terminal de inicio de sesión para este proceso, si existe.

Campo de error Registra los errores encontrados durante una llamada al sistema.

Valor devuelto Contiene el resultado de las llamadas al sistema.

Parámetros de E/S Describa la cantidad de datos que se van a transferir, la dirección


de la matriz de datos de origen (o destino) en el espacio de
usuario y los desplazamientos de archivo para E/S.
Parámetros de archivo
El directorio actual y la raíz actual describen el entorno del
sistema de archivos del proceso.

Tabla de descriptores de
Registra los archivos que el proceso tiene abiertos.
archivos de usuario
Restrinja el tamaño del proceso y el tamaño de un archivo que
Limitar campos
puede escribir.
Configuración del modo de máscara en los archivos que crea el
Campos modos de permiso proceso.

Tabla 3.13 Estados del proceso VAX/VMS

Condición deproceso de estado de proceso

Ejecución actual Proceso de ejecución.

Computable (residente) Listo y residente en la memoria principal.

Computable (outswapped) Listo, pero intercambiado de la memoria principal.


Espera de error de página
El proceso ha hecho referencia a una página que no está en la
memoria principal y debe esperar a que se lea la página.

Pérdida de página colisionada El proceso ha hecho referencia a una página compartida que es
la causa de una espera de error de página existente en otro
proceso, o a una página privada que está en proceso de ser
leída o escrita.
Espera de eventos comunes Esperando el indicador de evento compartido (los indicadores
de evento son mecanismos de señalización entre procesos de
un solo bit).
Espera de página gratis
A la espera de que se agregue una página libre en la memoria
principal a la colección de páginas en la memoria principal
dedicadas a este proceso (el conjunto de trabajo del proceso).

Hibernar En espera (residente) El proceso se pone en un estado de espera.

El proceso de hibernación se intercambia fuera de la memoria


Hibernate Wait (superado)
principal.
Espera de evento local
(residente) Proceso en la memoria principal y a la espera de la marca de
evento local (generalmente finalización de E/S).

Espera de evento local El proceso en espera de eventos locales se intercambia fuera de


(superado) la memoria principal.

Espera suspendida (residente) El proceso se pone en un estado de espera por otro proceso.

El proceso suspendido se intercambia fuera de la memoria


Espera suspendida (superada)
principal.

Espera de recursos Proceso en espera de recursos varios del sistema.

También podría gustarte