Está en la página 1de 14

Requerimientos Principales de un Sistema Operativo Descripcin y Control de Procesos

Captulo 3 Entrelazar la ejecucin de varios procesos para maximizar el uso del procesador a la vez que se mantiene un tiempo de respuesta razonable Asignar recursos a procesos siguiendo una determinada poltica Dar soporte a la comunicacin entre procesos y a la creacin de procesos de usuario

Proceso
Tambin llamado tarea Ejecucin de un programa individual Puede ser trazado
listar la secuencia de instrucciones que ejecuta

Modelo de Procesos de dos estados


El proceso puede estar en uno de dos estados
Running (ejecutandose) Not-running

Los procesos not-running en una cola

La cola es una lista enlazada de bloques de datos, cada uno de los cuales representa un objeto.

Creacin de procesos
Envo de un trabajo por lotes (batch) Conexin de usuario (log-in) Creados para proporcionar servicios como imprimir Procesos que crean otros procesos

Terminacin de procesos
Un trabajo por lotes ejecuta la instruccin Halt Un usuario se desconecta (log-out) Salir de una aplicacin Errores y condiciones de fallo

Razones para la terminacin de un proceso


Finalizacin normal Se excede el tiempo lmite No hay memoria disponible Violacin de lmites Error de proteccin
ejemplo: escribir en un fichero de slo lectura

Razones para la terminacin de un proceso


Fallo de entrada/salida (E/S) Instruccin invlida
Ocurre cuando se intenta ejecutar datos

Error aritmtico Tiempo de espera sobrepasado


un proceso espera un evento ms tiempo del mximo especificado

Instrucciones privilegiadas Uso incorrecto de datos Intervencin del Sistema Operativo


cuando se detecta un interbloqueo (deadlock)

El padre termina, as que los hijos mueren Por peticin del proceso padre

Procesos
Not-running
Listo para ejecutar

Un modelo de cinco estados


Running (en ejecucin) Ready (listo) Blocked (bloqueado) New (nuevo) Exit (salida)

Bloqueado
esperando una entrada/salida

El planificador (dispatcher) no puede seleccionar forzosamente el proceso que ms tiempo lleve en la cola porque puede estar bloqueado

Usando dos colas

Procesos suspendidos
El procesador es ms rpido que la E/S, as que todos los procesos pueden estar esperando E/S Sacar estos procesos al disco para liberar ms memoria (swap) De estado bloqueado pasa a suspendido cuando el proceso es movido al disco (swap) Dos nuevos estados
Bloqueado, suspendido Listo (ready), suspendido

Un Estado de Suspendido

Dos Estados de Suspendido

Razones para la Suspensin un Proceso

Razones para la Suspensin un Proceso


Swapping
el S.O. necesita liberar suficiente memoria principal para ubicar un proceso que est listo para ejecutar Running

Descripcin de Procesos
Blocked I/O Suspended

Otra razn del sistema operativo


el S.O. puede suspender un proceso del que sospecha que puede estar causando problemas

Peticin interactiva del usuario


un usuario puede querer suspender un proceso por motivos de depuracin, o relacionado con el uso de un recurso

Temporizacin
un proceso puede ejecutarse peridicamente (monitorizacin o contabilidad) y suspenderse hasta el siguiente intervalo de tiempo

Peticin del proceso padre


un proceso puede suspender a descendiente para examinarlo, modificarlo o coordinar la actividad de varios

qu informacin necesita el S.O. para controlar los procesos y gestionar los recursos?

Estructuras de Control del Sistema Operativo


Informacin sobre el estado actual de cada proceso y recurso Las tablas se construyen para cada entidad que gestiona el sistema operativo

Tablas de Memoria
Asignacin de memoria principal a procesos Asignacin de memoria secundaria a procesos Atributos de proteccin de acceso a regiones de memoria compartida Informacin necesaria para gestionar la memoria virtual

Tablas de E/S
Dispositivos de E/S que estn disponibles o asignados Estado de las operaciones de E/S Ubicacin en memoria principal del espacio usado como fuente o destino en una transferencia de E/S

Tablas de Ficheros
Existencia de Ficheros Ubicacin en memoria secundaria Estado actual Atributos A veces esta informacin es mantenida por el sistema de gestin de ficheros

Tabla de procesos
Dnde est ubicado un proceso Atributos necesarios para su gestion
Identificador del proceso (ID) Estado de proceso Ubicacin en memoria

Estructuras de Control del Proceso Ubicacin del proceso


El proceso incluye
Conjunto de programas a ser ejecutados Ubicacin de datos para variables locales y globales Constantes definidas Pila

Bloque de control del proceso (PCB)


Coleccin de atributos

Imagen del proceso


Coleccin del programa, datos, pila, y atributos

Atributos del Procesos Bloque de Control del Proceso (PCB)


Tambin llamado Bloque de Control de la Tarea, Descritor del Proceso o Descriptor de la Tarea Identificacin del proceso
Identificadores
Los identificadores numricos que deben ser almacenados en el PCB incluyen: El identificador de ese proceso El identificador del proceso que cre este proceso (proceso padre) Identificador del usuario

Bloque de Control del Proceso (2)


Informacin del Estado del Procesador
Registros visibles por el usuario
Un registro visible por el usuario puede ser referenciado a travs de instrucciones del lenguaje mquina que el procesador ejecuta. Normalmente hay de 8 a 32 de esos registros, aunque algunas implementaciones RISC tiene ms de 100.

Bloque de Control del Proceso (3)


Informacin del Estado del Procesador
Registros de Control y Estado
Hay una variedad de registros del procesador que se emplean para controlar el funcionamiento del procesador. Estos incluyen: Contador del Programa: Contiene la direccin dela siguiente instruccin a buscar Codigos de Condicin: El resultado de la operacin aritmtica o lgica ms reciente (p.ej., signo, cero, acarreo, desbordamiento) Information de Estado: Incluye el modo de ejecucin, flag de habilitacin/inhibicin de las interrupciones

Bloque de Control del Proceso (4)


Informacin del Estado del Procesador
Punteros a la Pila
Cada proceso tiene uno o ms pilas LIFO asociadas. La pila se usa para almacenar los parmetros y las direcciones de retorno de las llamada a procedimientos y a las funciones del sistema. El puntero de pila apunta a la cima de sta.

Bloque de Control del Proceso (5)


Informacin de Control del Proceso
Informacin de Planificacin y Estado
Es la informacin que necesita el sistema operativo para realizar su funcin de planificacin. Informacin tpica: Estado del Proceso: define la disponibilidad del proceso para que se planifique su ejecucin (p.e., running, ready, waiting, halted). Prioridad: Se pueden usar uno o ms campos para describir la prioridad de planificacin del proceso. En algunos sistemas se requieren varios valores (p.e., por defecto, actual, mayor permitido) Informacin relacionada con la planificacin: Depender del algoritmo de planificacin. Por ejemplo, el tiempo que el proceso ha estado esperando y el tiempo que estuvo ejecutandose por ltima vez. Evento: Identificador del evento que el proceso est esperando para que se pueda reanudar

Bloque de Control del Proceso (6)


Informacin de Control del Proceso
Estructuracin de los datos
Un proceso puede estar enlazado a otro proceso en una cola, anillo, u otra estructura. Por ejemplo, todos los procesos en espera de un nivel de prioridad particular estarn linkados a una cola. Un proceso puede exhibir una relacin padre-hijo (creador-creado) con otro proceso. El PCB contiene punteros a otros procesos para dar soporte a estas estructuras.

Bloque de Control del Proceso (7)


Informacin de Control del Proceso
Comunicacin Inter-procesos
Algunos flags, seales y mensajes pueden estar asociados con la comunicacin entre procesos independientes. Alguna o toda esta informacin puede estar mantenida en el PCB.

Privilegios del Proceso


Los procesos tienen unos privilegios concedidos en trminos de memoria de la que pueden disponer y tipos de instrucciones que puede ejecutar. Adems, los privilegios se pueden aplicar al uso de ciertas utilizades y servicios del sistema.

Bloque de Control del Proceso (8)


Informacin de Control del Proceso
Gestin de Memoria
Esta seccin puede incluir punteros a segmento y/o tablas de pgina que describen la memoria virtual asignada a este proceso.

Utilizacin y Propiedad de Recursos


Los recursos controlados por el proceso deben estar indicados, tales como ficheros abiertos. Un historial de utilizacin del procesador u otros recursos tambin se pueden incluir; esta informacin la puede necesitar el planificador.

Informacin del Estado del Procesador


Contenido de los registros del procesador
registros visibles por el usuario registros de control y estado punteros de pila

Registro EFLAGS del Pentium II

Palabra de Estado del Programa (PSW)


contiene informacin del estado ejemplo: el registro EFLAGS de las mquinas Pentium

Control de Proceso Modos de Ejecucin


Modo usuario
modo con menos privilegios los programas de usuario normalmente se ejecutan en este modo

Creacin del Proceso


Asignar un identificador nico Destinar espacio para el proceso Inicializar el PCB Actualizar los links adecuados
Ej.: aadir el nuevo proceso a la lista usada para la planificacin

Modo del sistema, modo de control o modo kernel


modo con ms privilegios kernel del sistema operativo

Crear o expandir otras estructuras de datos


Ej: mantener un fichero de contabilidad

Cuando Conmutar de Proceso


Interrupcin del reloj (timer)
el proceso se ha ejecutado durante el mximo periodo de tiempo permitido (time slice)

Cuando Conmutar de Proceso


Trap (excepcin)
ocurre un error puede causar que un proceso se mueva al estado de Exit

Interrupcin E/S Fallo de memoria


la direccin de memoria est en la memoria virtual y hay que traerla a la memoria principal

Llamada al Supervisor (al sistema)


tal como abrir un fichero

Cambio de Estado del Proceso


Guardar el contexto del procesador incluyendo el contador de programa y otros registros Actualizar el PCB del proceso que actualmente se est ejecutando Mover el PCB a la cola apropiada: listo, bloqueado,... Seleccionar otro proceso para ejecucin

Cambio de Estado del Proceso


Actualizar el PCB del proceso seleccionado Actualizar la estructura de datos del gestor del memoria Restaurar el contexto del proceso seleccionado

Ejecucin del Sistema Operativo


Non-process Kernel
ejecuta el kernel fuera de cualquier proceso el cdigo del sistema opertivo se ejecuta como una entidad separada que opera en modo privilegiado

Ejecucin en procesos de usuario


software del sistema operativo en el contexto de un proceso de usuario el proceso se ejecuta en modo privilegiado cuando ejecuta cdigo del sistema operativo

Ejecucin del Sistema Operativo


Sistema Operativo basado en procesos
las funciones principales del kernel son procesos individuales es til en entornos multiprocesador o multicomputador

Gestin de Procesos de UNIX SVR4


La mayora de los sistemas operativos se ejecutan en el entorno de un proceso de usuario

Estados de Procesos de UNIX

También podría gustarte