Title: Mg. Samuel Oporto D
1Administración de Procesos
SISTEMAS OPERATIVOS
Lima, 14 de mayo 2005
2Tabla de contenido
- Kernel
- Descripción y control de procesos
- Descripción de procesos
- Control de procesos
- Bloque de control de procesos
- Modos de ejecución
3KERNEL
4Estructura 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 comunicación inter-procesos (ipc).
5Descomposición Conceptual
6DESCRIPCION Y CONTROL DE PROCESOS
7Requerimientos de un S.O en Procesos
- Intercalar la ejecución 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 polÃtica especÃfica (ejemplo prioridades),
evitando el interbloqueo. - Soporte a la comunicación entre procesos y la
creación de procesos por parte del usuario.
8Proceso
- También 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 dinámica 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 máquina con varios procesadores.
9Estado 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.
10Ejemplo 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 ejecución luego
de lo cual ingresa el siguiente proceso
11Traza de los tres procesos
Invocación a E/S
12Traza de tres procesos
- 100 dirección de inicio para el programa
distribuidor (dispatcher) - Las áreas sombreadas indican ejecución del
proceso dispatcher. - La primera y tercera columna cuenta el ciclo de
instrucción - La segunda y cuarta columna muestra la dirección
de la que se está ejecutando.
13(No Transcript)
14ESTADOS DE UN PROCESO
15Modelo de Procesos con Dos Estados
- El SO controla la ejecución de los procesos (se
necesita saber en qué estado se encuentra cada
uno). - Cada proceso puede tener dos estados
- En ejecución.
- No en ejecución.
- Abajo se presenta el diagrama de transición de
estados.
16Cola de procesos (2 estados)
17Creación de Procesos
- Nuevo trabajo por lotes. Creación de un nuevo
trabajo. - Un nuevo usuario. El usuario entra al sistema
iterativo. - Creado por el SO para dar un servicio. Ejemplo
una impresión. - El proceso crea otro proceso.
18Terminación de Procesos
- Instrucción Halt incluida en la tarea (bach).
- Solicitado por el usuario (salir de sesión).
- Terminación normal.
- Salir del programa.
- Terminación del padre.
- Solicitud del padre.
- Tiempo lÃmite excedido.
- No hay memoria disponible.
- Violación de lÃmites.
- Error de protección
- Error aritmético
- Fallo de E/S (máximo de intentos)
- Instrucción invalidad.
- Instrucción priviligeada.
- Violación de memoria.
19Necesidad 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 más tiempo por que
puede estar bloqueado
20Modelo de Procesos con 5 Estados
21Modelo de Procesos con 5 Estados
- Corriendo (Running). Proceso en ejecución.
- 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
22Usando dos colas
23Varias de colas de bloqueados
24Procesos Suspendidos
- El modelo planteado de tres estados (listo,
ejecución 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 serÃa conveniente suspenderlos
- El procesador es más rápido que la E/S asà que
todos los procesos tendrÃan que esperar la E/S. - Intercambiar esos procesos al disco para liberar
más memoria. - Dos nuevos estados
- Bloqueado - suspendido.
- Listo - suspendido.
25Un estado suspendido
26Dos estados suspendidos
27Razones 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.
28DESCRIPCION DE PROCESO
29Descripción de Proceso
- En un entorno multiprogramado muchos procesos
requieren y están haciendo uso de recursos. - Qué información necesita el SO para controlar
los procesos y administrar los recursos?
30Estructuras de Control del SO
- Para administrar todo lo que pasa en el sistema
el SO construye y mantiene tablas de información
de cada entidad que esté administrando.
31Tablas de Memoria
- Se utiliza para administrar la memoria virtual y
la memoria real. - Asignación de memoria principal a los procesos.
- Asignación de memoria secundaria a los procesos.
- Atributos de protección para acceso a regiones de
memoria compartida. - Información necesaria para administrar la memoria
virtual.
32Tablas de E/S
- Se utiliza para administrar los dispositivos y
canales DES - Estado del DES disponible o asignado.
- Estado de una operación con el DES.
- Ubicación en la memoria principal que ha sido
usada como fuente o destino de una operación de
E/S
33Tabla de Archivos
- Existencia de archivos.
- Ubicación en la memoria secundaria.
- Estado actual
- Atributos.
- A veces esta información es mantenida por el
sistema de administración de archivos
(file-management system).
34Tabla de Procesos
- Permite administrar la información de cada
proceso - Donde está ubicado ? - proceso en memoria
- - imagen del proceso
- Atributos necesarios para este administrador.
- Process ID
- Process state
- Location in memory
35Estructuras de Control
- Para que el SO administre los proceso debe de
conocer - Ubicación de proceso.
- Atributos.
36Ubicación de los Procesos
Proceso
Imagen del Proceso
Memoria RAM
37Atributos
- Bloque de Control de Proceso
- Identificación del proceso.
- Identificadores
- Información del estado del procesador.
- Registros Visibles para el usuario.
- Registro de control y de estado
- Punteros de pila
- Información de control del proceso.
- Información de planificación y de estado
- Estructuración de datos
- Comunicación entre procesos
- Privilegios de los procesos
- Gestión de memoria
- Propiedad de los recursos y utilización
38BLOQUE DE CONTROL DE PROCESO
39Identificación del proceso
- Identifiers
- Identificador del proceso
- Identificador del proceso que creó a este proceso
(padre) - Identificador del usuario.
40Información 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 máquina que ejecuta el procesador. - Normalmente, existen entre 8 a 32 de estos
registros, aunque algunas implementaciones RISC
tienen más de 100. - Registros de Control y de Estado.
- Son registros del procesador para controlar su
funcionamiento - Contador de programa. Siguiente instrucción.
- Códigos de condición. Resultado de la operación
aritmética más reciente (signo, cero, acarreo,
igual, desbordamiento) - Información de estado. Habilitación e
inhabilitación de interrupciones y el modo de
ejecución. - PSW. Palabra de estado de programa. Códigos de
condición.
41Palabra de estado de programa (PSW)
- La PSW o condición de programa almacena
información pertinente sobre el programa que este
ejecutándose. - Códigos de condición.
- Indicadores de habilitación de traps
- Nivel de prioridad de interrupciones
- Modo previo
- Modo actual
- Pila de interrupciones
- Primera parte hecha (donde se quedó)
- Traza pendiente (debug)
42Información del estado del procesador
- Punteros de Pila.
- Cada proceso tiene una o más pilas FIFO del
sistema asociadas. - Las pilas se utilizan para almacenar los
parámetros 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.
43Información del control del procesador
- Información de Planificación y de Estado
- Esta es la información que se necesita por el SO
para ejecutar sus funciones de planificador - Estado del proceso. Define la disposición del
proceso para ser planificado para ejecutar (en
ejecución, listo, esperando, suspendido) - Prioridad. Se puede usar con uno o más campos
para describir la prioridad de planificación de
los procesos. (pueden ser omisión, actual, la más
alta permitida) - Información de planificación. Depende del
algoritmo de planificación utilizado (tiempo de
espera, tiempo de ejecución) - Eventos. Identidad del evento que el proceso esta
esperando antes de reanudarse. -
44Información del control del procesador
- Estructuración 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 están en
estado de espera de un nivel determinado de
prioridad pueden estar enlazados en una cola. - Un proceso puede mostrar una relación padre-hijo
(creador-creado) con otro proceso. - El BCP puede contener punteros a otros proceso
para dar soporte a estas estructuras. - Comunicación entre procesos.
- Puede haber varios indicadores, señales y
mensajes asociados con la comunicación entre dos
procesos independientes. - Una parte de esta información o toda ella se
puede guardar en el BCP -
45Información del control del procesador
- Privilegios de los proceso.
- A los procesos se les otorgan privilegios en
términos de la memoria a la que pueden acceder y
el tipo de instrucciones que pueden ejecutar.
Además, tabién se pueden aplicar privilegios al
uso de los servicios y utilidades del sistema. - Gestión de memoria.
- Esta sección puede incluir punteros a las tables
de páginas y/o segmentos que describen la memoria
virtual asignada. - Propiedad de los recurso y utilización.
- Se pueden incluir los recurso controlados por el
proceso, tales como los archivos abiertos. - Puede ser el histórico de la utilización del
procesador o de otros recursos. - Información necesaria para el planificador.
-
46Imagen de un proceso en Memoria
47CONTROL DE PROCESOS
48Modos de Ejecución
- 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 más privilegiado.
- Kernel del SO
49Creación 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.
50Cuándo cambiar un proceso?
- Interrupción del reloj.
- Se le acabó el tiempo máximo de ejecución
permitido. - Interrupción de E/S.
- Inicio de E/S o fin de E/S
- Fallo de memoria.
- Cuando existe un fallo de página (página 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.
51Cambio 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 ejecución.
- Asigna al contador de programa el valor de la
dirección de comienzo del siguiente programa. - El contexto corresponde al PSW, que es parte del
BCP
52Cambio de contexto
- Salvar el contexto del procesador.
- Actualizar el BCP actual.
- en ejecución ? otro estado
- Mover el BCP a la cola apropiada (otro estado)
- Seleccionar otro proceso para su ejecución.
- Actualizar el BCP del nuevo
- otro estado ? en ejecución
- Actualizar la estructuras de datos de gestión de
memoria. (registros base) - Restaurar el contexto del procesador a cómo lo
dejo en el momento en que fue seleccionado la
última vez, cargando los valores previos del
contador de programa y otros registros
53