Está en la página 1de 53

1 /58

Mg. Samuel Oporto Daz


Administracin de Procesos
SISTEMAS OPERATIVOS
2 /58
Tabla de contenido
Kernel
Descripcin y control de procesos
Descripcin de procesos
Control de procesos
Bloque de control de procesos
Modos de ejecucin

3 /58
KERNEL
4 /58
Estructura del Kern
El kernell est conformado por 5 grandes subsistemas.

El planificador de procesos (sched).
El administrador de memoria (mm).
El sistema del archivo virtual (vfs).
La interface de la red (net).
La comunicacin inter-procesos (ipc).

5 /58
Descomposicin Conceptual
6 /58
DESCRIPCION Y CONTROL
DE PROCESOS
7 /58
Requerimientos de un S.O en Procesos
Intercalar la ejecucin de un conjunto de procesos para
maximizar el uso del procesado para ofrecer tiempos de
respuesta razonables.
Asignar recursos a los procesos de conformidad a una
poltica especfica (ejemplo prioridades), evitando el
interbloqueo.
Soporte a la comunicacin entre procesos y la creacin
de procesos por parte del usuario.
8 /58
Proceso
Tambin son llamados tareas.
Puede ser trazado:
Lista de la secuencia de instrucciones que ejecuta.
Los procesos llevan a cabo tareas en el sistema operativo.
Es un conjunto de instrucciones almacenados en el DD, se
activan cuando se les asigna un espacio de direcciones.
Es una entidad dinmica que cambia a medida que el
procesador ejecuta las instrucciones.
Un SO es multi-proceso, en el sentido que pueden
ejecutarse varios procesos a la vez.
Un SO es multi-proceso, en el sentido que puede correr en
una mquina con varios procesadores.
9 /58
Estado de un Proceso
Un proceso es una secuencia de instrucciones que se
puede ejecutar en paralelo con otra secuencia de
instrucciones.
El procesado ejecuta las instrucciones

Traza de un proceso.
El comportamiento de un proceso se se caracteriza por
el listado de la secuencia de instrucciones que se
ejecutan para dicho proceso.
El comportamiento del procesador se puede caracterizar
mostrando la forma en que se intercalan las trazas de
dichos procesos.
10 /58
Ejemplo de Procesos en Memoria
No hay memoria virtual
Tres programas cargados
en memoria.
Cada proceso representa
a un programa.
Existe un programa que
asigna el procesador de
un proceso a otro.
Cada proceso tiene un
tiempo de ejecucin
luego de lo cual ingresa
el siguiente proceso
11 /58
Traza de los tres procesos

Invocacin
a E/S
12 /58
Traza de tres
procesos
100 direccin de inicio
para el programa
distribuidor (dispatcher)

Las reas sombreadas
indican ejecucin del
proceso dispatcher.
La primera y tercera
columna cuenta el ciclo
de instruccin
La segunda y cuarta
columna muestra la
direccin de la que se
est ejecutando.
13 /58
14 /58
ESTADOS DE UN PROCESO
15 /58
Modelo de Procesos con Dos Estados
El SO controla la ejecucin de los procesos (se necesita
saber en qu estado se encuentra cada uno).
Cada proceso puede tener dos estados:
En ejecucin.
No en ejecucin.
Abajo se presenta el diagrama de transicin de estados.
16 /58
Cola de procesos (2 estados)
17 /58
Creacin de Procesos
1. Nuevo trabajo por lotes. Creacin de un nuevo trabajo.

2. Un nuevo usuario. El usuario entra al sistema iterativo.

3. Creado por el SO para dar un servicio. Ejemplo una
impresin.

4. El proceso crea otro proceso.
18 /58
Terminacin de Procesos
Instruccin Halt incluida
en la tarea (bach).
Solicitado por el usuario
(salir de sesin).
Terminacin normal.
Salir del programa.
Terminacin del padre.
Solicitud del padre.
Tiempo lmite excedido.
No hay memoria
disponible.
Violacin de lmites.
Error de proteccin
Error aritmtico
Fallo de E/S (mximo de
intentos)
Instruccin invalidad.
Instruccin priviligeada.
Violacin de memoria.
19 /58
Necesidad de nuevos estados
No corriendo
Preparado para ser ejecutado.
Bloqueado
Esperando por E/S

El despachador (dispatcher) puede no seleccionar el
proceso que est en la cola ms tiempo por que puede
estar bloqueado
Modelo de Procesos con 5 Estados
21 /58
Modelo de Procesos con 5 Estados
Corriendo (Running). Proceso en ejecucin.
Preparado (Ready). Preparado para ser ejecutado,
cuando se le de la oportunidad.
Bloqueado (Blocked). Esperan hasta que ocurra un
evento o suceso.
Nuevo (New). Proceso nuevo pero no admitido por el
sistema
Terminado (Exit). Proceso excluido por el sistema, pero
terminado
22 /58
Usando dos colas
23 /58
Varias de colas de bloqueados
24 /58
Procesos Suspendidos
El modelo planteado de tres estados (listo, ejecucin y
bloqueado) ayuda mucho, pero no es suficiente.
Dado que para que un proceso se ejecute debe ser
cargado en memoria completamente.
Por lo que sera conveniente suspenderlos:
El procesador es ms rpido que la E/S as que todos
los procesos tendran que esperar la E/S.
Intercambiar esos procesos al disco para liberar ms
memoria.
Dos nuevos estados:
Bloqueado - suspendido.
Listo - suspendido.

25 /58
Un estado suspendido
26 /58
Dos estados suspendidos
27 /58
Razones para suspender procesos
Intercambio (swapping).
El SO necesita liberar suficiente memoria RAM para cargar un
nuevo proceso.
Otra razon del SO.
El SO puede un proceso que se sospecha causa un problema.
Solicitud del usuario.
Por tiempo.
Se ejecuta con cierta frecuencia, entonces mientras no se usa
se suspende.
Solicitud del proceso padre.
El padre desea suspenderlo para examinar o modificar el
proceso o para coordinar con otros procesos.

28 /58
DESCRIPCION DE PROCESO
29 /58
En un entorno multiprogramado muchos procesos
requieren y estn haciendo uso de recursos.







Qu informacin necesita el SO para controlar los
procesos y administrar los recursos?
Descripcin de Proceso
30 /58
Estructuras de Control del SO
Para administrar
todo lo que pasa
en el sistema el
SO construye y
mantiene tablas
de informacin
de cada entidad
que est
administrando.

31 /58
Tablas de Memoria
Se utiliza para administrar la memoria virtual y la
memoria real.
Asignacin de memoria principal a los procesos.
Asignacin de memoria secundaria a los procesos.
Atributos de proteccin para acceso a regiones de
memoria compartida.
Informacin necesaria para administrar la memoria
virtual.
32 /58
Tablas de E/S
Se utiliza para administrar los dispositivos y canales
DES:
Estado del DES: disponible o asignado.
Estado de una operacin con el DES.
Ubicacin en la memoria principal que ha sido usada
como fuente o destino de una operacin de E/S
33 /58
Tabla de Archivos
Existencia de archivos.
Ubicacin en la memoria secundaria.
Estado actual
Atributos.
A veces esta informacin es mantenida por el
sistema de administracin de archivos (file-
management system).
34 /58
Tabla de Procesos
Permite administrar la informacin de cada proceso
Donde est ubicado - proceso en memoria
- imagen del proceso

Atributos necesarios para este administrador.
Process ID
Process state
Location in memory
35 /58
Estructuras de Control
Para que el SO administre los proceso debe de conocer:

Ubicacin de proceso.

Atributos.

36 /58
Ubicacin de los Procesos
Proceso
Imagen
del
Proces
o
Memoria RAM
BCP
Programas
Programas
Programas
Variables locales
Variables globales
Constantes
Pila
Variables locales
Variables globales
Constantes
Pila
Variables locales
Variables globales
Constantes
Pila
user
37 /58
Atributos
Bloque de Control de Proceso:
Identificacin del proceso.
Identificadores
Informacin del estado del procesador.
Registros Visibles para el usuario.
Registro de control y de estado
Punteros de pila
Informacin de control del proceso.
Informacin de planificacin y de estado
Estructuracin de datos
Comunicacin entre procesos
Privilegios de los procesos
Gestin de memoria
Propiedad de los recursos y utilizacin
38 /58
BLOQUE DE CONTROL DE
PROCESO
39 /58
Identificacin del proceso
Identifiers
Identificador del proceso
Identificador del proceso que cre a este proceso
(padre)
Identificador del usuario.
40 /58
Informacin del estado del procesador
Registros Visibles al usuario
Un registro visible para el usuario es aquel que puede hacerse
referencia por medio de un lenguaje de mquina que ejecuta el
procesador.
Normalmente, existen entre 8 a 32 de estos registros, aunque
algunas implementaciones RISC tienen ms de 100.
Registros de Control y de Estado.
Son registros del procesador para controlar su funcionamiento:
Contador de programa. Siguiente instruccin.
Cdigos de condicin. Resultado de la operacin aritmtica ms
reciente (signo, cero, acarreo, igual, desbordamiento)
Informacin de estado. Habilitacin e inhabilitacin de
interrupciones y el modo de ejecucin.
PSW. Palabra de estado de programa. Cdigos de condicin.
41 /58
Palabra de estado de programa (PSW)
La PSW o condicin de programa almacena informacin
pertinente sobre el programa que este ejecutndose.
Cdigos de condicin.
Indicadores de habilitacin de traps
Nivel de prioridad de interrupciones
Modo previo
Modo actual
Pila de interrupciones
Primera parte hecha (donde se qued)
Traza pendiente (debug)

42 /58
Informacin del estado del procesador
Punteros de Pila.
Cada proceso tiene una o ms pilas FIFO del sistema
asociadas.
Las pilas se utilizan para almacenar los parmetros y las
direcciones de retorno de los procedimientos y de las llamadas
al sistema.
El puntero de pila siempre apunta a la cima de la pila.
43 /58
Informacin del control del procesador
Informacin de Planificacin y de Estado
Esta es la informacin que se necesita por el SO para ejecutar
sus funciones de planificador:
Estado del proceso. Define la disposicin del proceso para ser
planificado para ejecutar (en ejecucin, listo, esperando,
suspendido)
Prioridad. Se puede usar con uno o ms campos para describir
la prioridad de planificacin de los procesos. (pueden ser
omisin, actual, la ms alta permitida)
Informacin de planificacin. Depende del algoritmo de
planificacin utilizado (tiempo de espera, tiempo de ejecucin)
Eventos. Identidad del evento que el proceso esta esperando
antes de reanudarse.

44 /58
Informacin del control del procesador
Estructuracin de datos
Un proceso puede estar enlazado con otros procesos en una
cola, un anillo o alguna otra estructura.
Por ejemplo todos los procesos que estn en estado de espera
de un nivel determinado de prioridad pueden estar enlazados en
una cola.
Un proceso puede mostrar una relacin padre-hijo (creador-
creado) con otro proceso.
El BCP puede contener punteros a otros proceso para dar
soporte a estas estructuras.
Comunicacin entre procesos.
Puede haber varios indicadores, seales y mensajes asociados
con la comunicacin entre dos procesos independientes.
Una parte de esta informacin o toda ella se puede guardar en
el BCP

45 /58
Informacin del control del procesador
Privilegios de los proceso.
A los procesos se les otorgan privilegios en trminos de la
memoria a la que pueden acceder y el tipo de instrucciones que
pueden ejecutar. Adems, tabin se pueden aplicar privilegios al
uso de los servicios y utilidades del sistema.
Gestin de memoria.
Esta seccin puede incluir punteros a las tables de pginas y/o
segmentos que describen la memoria virtual asignada.
Propiedad de los recurso y utilizacin.
Se pueden incluir los recurso controlados por el proceso, tales
como los archivos abiertos.
Puede ser el histrico de la utilizacin del procesador o de otros
recursos.
Informacin necesaria para el planificador.

46 /58
Imagen de un proceso en Memoria
47 /58
CONTROL DE PROCESOS
48 /58
Modos de Ejecucin
Se divide en dos modos para proteger al SO y sus
tablas de ser modificadas por el usuario.

Modo usuario
Modo de menor privilegio.
Los programas de usuario se ejecutan en este modo

Modo sistema, modo control o modo kernel
Modo ms privilegiado.
Kernel del SO

49 /58
Creacin de Procesos
Cada vez que el SO crea un proceso se procede de la
siguiente manera:
Asignar un nico identificador del proceso.
Asignar espacio para el proceso. Elementos de la
imagen del proceso. Espacio de direcciones privado,
de la pila
Inicializar el BCP.
Establecer los enlaces apropiados. Colocarlo en la
lista de procesos listos o suspendidos.
Crear otras estructuras de control.
50 /58
Cundo cambiar un proceso?
Interrupcin del reloj.
Se le acab el tiempo mximo de ejecucin permitido.
Interrupcin de E/S.
Inicio de E/S o fin de E/S
Fallo de memoria.
Cuando existe un fallo de pgina (pgina que no est en
memoria)
Cepos (Trap)
Determina si el error es fatal.
Se puede terminar el proceso, reanudar o suspenderlo
Llamada del Supervisor
Cuando un programa llama al SO para ejecutar un proceso
Ejemplo abrir un archivo.

51 /58
Cambio de contexto
Se ejecuta cada vez que el procesador cambia de
proceso a ser ejecutado. El procesador hace lo
siguiente:
Salva el contexto del programa que se est ejecutando
(contador de programa y otros registros).
Modifica el BCP del proceso que se est ejecutando.
Mueve el BCP de la cola apropiada (preparada, bloqueada)
Selecciona otro proceso para su ejecucin.
Asigna al contador de programa el valor de la direccin de
comienzo del siguiente programa.
El contexto corresponde al PSW, que es parte del BCP

52 /58
Cambio de contexto
Salvar el contexto del procesador.
Actualizar el BCP actual.
en ejecucin otro estado
Mover el BCP a la cola apropiada (otro estado)
Seleccionar otro proceso para su ejecucin.
Actualizar el BCP del nuevo
otro estado en ejecucin
Actualizar la estructuras de datos de gestin de
memoria. (registros base)
Restaurar el contexto del procesador a cmo lo dejo en
el momento en que fue seleccionado la ltima vez,
cargando los valores previos del contador de programa y
otros registros
53 /58

PREGUNTAS

También podría gustarte