procesos - sistemas operativos

53
1 / 58 58 Administración de Procesos SISTEMAS OPERATIVOS

Upload: karolina

Post on 03-Dec-2015

22 views

Category:

Documents


2 download

DESCRIPTION

requerimientos de procesos en sistemas en sistemas operativos

TRANSCRIPT

Page 1: Procesos - Sistemas Operativos

11 /58/58

Administración de Procesos

SISTEMAS OPERATIVOS

Page 2: Procesos - Sistemas Operativos

22 /58/58

Tabla 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

Page 3: Procesos - Sistemas Operativos

33 /58/58

KERNEL

Page 4: Procesos - Sistemas Operativos

44 /58/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 comunicación inter-procesos (ipc).

Page 5: Procesos - Sistemas Operativos

55 /58/58

Descomposición Conceptual

Page 6: Procesos - Sistemas Operativos

66 /58/58

DESCRIPCION Y CONTROL DE PROCESOS

Page 7: Procesos - Sistemas Operativos

77 /58/58

Requerimientos 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.

Page 8: Procesos - Sistemas Operativos

88 /58/58

Proceso• 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.

Page 9: Procesos - Sistemas Operativos

99 /58/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.

Page 10: Procesos - Sistemas Operativos

1010 /58/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 ejecución luego de lo cual ingresa el siguiente proceso

Page 11: Procesos - Sistemas Operativos

1111 /58/58

Traza de los tres procesos

Invocacióna E/S

Page 12: Procesos - Sistemas Operativos

1212 /58/58

Traza 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.

Page 13: Procesos - Sistemas Operativos

1313 /58/58

Page 14: Procesos - Sistemas Operativos

1414 /58/58

ESTADOS DE UN PROCESO

Page 15: Procesos - Sistemas Operativos

1515 /58/58

Modelo 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.

Page 16: Procesos - Sistemas Operativos

1616 /58/58

Cola de procesos (2 estados)

Page 17: Procesos - Sistemas Operativos

1717 /58/58

Creación de Procesos

1. Nuevo trabajo por lotes. Creación 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 impresión.

4. El proceso crea otro proceso.

Page 18: Procesos - Sistemas Operativos

1818 /58/58

Terminació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.

Page 19: Procesos - Sistemas Operativos

1919 /58/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 más tiempo por que puede estar bloqueado

Page 20: Procesos - Sistemas Operativos

Modelo de Procesos con 5 Estados

Page 21: Procesos - Sistemas Operativos

2121 /58/58

Modelo 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

Page 22: Procesos - Sistemas Operativos

2222 /58/58

Usando dos colas

Page 23: Procesos - Sistemas Operativos

2323 /58/58

Varias de colas de bloqueados

Page 24: Procesos - Sistemas Operativos

2424 /58/58

Procesos 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.

Page 25: Procesos - Sistemas Operativos

2525 /58/58

Un estado suspendido

Page 26: Procesos - Sistemas Operativos

2626 /58/58

Dos estados suspendidos

Page 27: Procesos - Sistemas Operativos

2727 /58/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.

Page 28: Procesos - Sistemas Operativos

2828 /58/58

DESCRIPCION DE PROCESO

Page 29: Procesos - Sistemas Operativos

2929 /58/58

• 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?

Descripción de Proceso

Page 30: Procesos - Sistemas Operativos

3030 /58/58

Estructuras 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.

Page 31: Procesos - Sistemas Operativos

3131 /58/58

Tablas 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.

Page 32: Procesos - Sistemas Operativos

3232 /58/58

Tablas 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

Page 33: Procesos - Sistemas Operativos

3333 /58/58

Tabla 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).

Page 34: Procesos - Sistemas Operativos

3434 /58/58

Tabla 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

Page 35: Procesos - Sistemas Operativos

3535 /58/58

Estructuras de Control• Para que el SO administre los proceso debe de conocer:

– Ubicación de proceso.

– Atributos.

Page 36: Procesos - Sistemas Operativos

3636 /58/58

Ubicación de los Procesos

Proceso

Imagen del

Proceso

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

Page 37: Procesos - Sistemas Operativos

3737 /58/58

Atributos• 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

Page 38: Procesos - Sistemas Operativos

3838 /58/58

BLOQUE DE CONTROL DE PROCESO

Page 39: Procesos - Sistemas Operativos

3939 /58/58

Identificación del proceso• Identifiers

– Identificador del proceso– Identificador del proceso que creó a este proceso

(padre)– Identificador del usuario.

Page 40: Procesos - Sistemas Operativos

4040 /58/58

Informació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.

Page 41: Procesos - Sistemas Operativos

4141 /58/58

Palabra 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)

Page 42: Procesos - Sistemas Operativos

4242 /58/58

Informació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.

Page 43: Procesos - Sistemas Operativos

4343 /58/58

Informació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.

Page 44: Procesos - Sistemas Operativos

4444 /58/58

Informació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

Page 45: Procesos - Sistemas Operativos

4545 /58/58

Informació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.

Page 46: Procesos - Sistemas Operativos

4646 /58/58

Imagen de un proceso en Memoria

Page 47: Procesos - Sistemas Operativos

4747 /58/58

CONTROL DE PROCESOS

Page 48: Procesos - Sistemas Operativos

4848 /58/58

Modos 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

Page 49: Procesos - Sistemas Operativos

4949 /58/58

Creació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.

Page 50: Procesos - Sistemas Operativos

5050 /58/58

¿Cuá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.

Page 51: Procesos - Sistemas Operativos

5151 /58/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 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

Page 52: Procesos - Sistemas Operativos

5252 /58/58

Cambio 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

Page 53: Procesos - Sistemas Operativos

5353 /58/58

PREGUNTAS