administraci+¦n de procesos

34
Administración de Procesos SISTEMAS OPERATIVOS DR. JOSEABEL CEGARRA.

Upload: alex-ortiz

Post on 12-Jan-2016

23 views

Category:

Documents


0 download

DESCRIPTION

Sistemas Operativos

TRANSCRIPT

Page 1: Administraci+¦n de Procesos

Administración de ProcesosSISTEMAS OPERATIVOSDR. JOSEABEL CEGARRA.

Page 2: Administraci+¦n de Procesos
Page 3: Administraci+¦n de Procesos

Administración de Procesos

• ¿Qué es un proceso?• Un proceso es un programa en

ejecución.

Bloqueado

Ejecución

Listo

Page 4: Administraci+¦n de Procesos

Administración de Procesos• Implementación de los procesos• La implementación del modelo de procesos se

logra debido a que el sistema operativo almacena en una tabla denominada tabla de control de procesos (TIP), información relativa de cada proceso que se esta ejecutando en el procesador. Cada línea de esta tabla representa a un proceso.

La información que se almacena es la siguiente:1) Identificación del proceso.2) Identificación del proceso padre.3) Información sobre el usuario y grupo.4) Estado del procesador. 5) Información de control de proceso

5.1) Información del planificador.5.2) Segmentos de memoria asignados.5.3) Recursos asignados.

Page 5: Administraci+¦n de Procesos

Creación de Procesos

• Nueva tarea en un sistema de proceso por lotes.

• Nueva conexión interactiva.• Nuevo proceso creado por el SO

para dar un servicio.• Un proceso generado por otro

ya existente.

Page 6: Administraci+¦n de Procesos

Terminación de Procesos

• Principales condiciones según Tanembaum (2003):– Terminación normal (voluntaria)– Terminación por error (voluntaria)– Error fatal (involuntaria)– Terminado por otro proceso

(involuntaria)

Page 7: Administraci+¦n de Procesos

Terminación de Procesos

• Terminación normal: Un proceso termina de ejecutar su conjunto de instrucciones y finaliza.

• Tiempo límite excedido: El proceso requiere más tiempo para completar su ejecución del que el sistema establece como máximo.

• No disponibilidad de memoria: Tiene lugar cuando un proceso necesita más memoria de la que el sistema puede proporcionar.

• Violación de límites: Ocurre cuando un proceso trata de acceder a una posición de memoria a la que no puede hacerlo.

Page 8: Administraci+¦n de Procesos

Terminación de Procesos

• Error de protección: Se produce si un proceso intenta utilizar un recurso o un archivo para el que no tiene permiso o trata de utilizarlo de forma incorrecta.

• Error aritmético: Aparece si el proceso intenta hacer un cálculo prohibido como la división por cero o trata de almacenar un número mayor del que el hardware acepta.

• Superación del tiempo máximo de espera por un recurso: En este caso, el proceso se encuentra a la espera de obtener un recurso o de que tenga lugar un determinado evento durante un tiempo que alcanza el límite establecido.

Page 9: Administraci+¦n de Procesos

Terminación de Procesos

• Fallo de dispositivo I/O: Se produce por un error en la entrada o la salida tal como la incapacidad de encontrar un archivo o la ocurrencia de un fallo de lectura o escritura después de un número máximo de intentos.

• Instrucción no válida: Se produce si un proceso intenta ejecutar una instrucción inexistente.

• Intento de acceso a una instrucción privilegiada: Se presenta si un proceso intenta utilizar una instrucción reservada para el SO.

Page 10: Administraci+¦n de Procesos

Terminación de Procesos

• Mal uso de los datos: Un elemento de dato no está inicializado o es de un tipo equivocado para la operación que se pretende realizar.

• Intervención del operador o del SO: Por alguna razón, el operador o el SO termina con el proceso. Por ejemplo, si se considera comprometido el rendimiento del sistema.

• Finalización del proceso padre: Cuando un proceso padre finaliza el SO puede diseñarse para terminar automáticamente con todos sus descendientes.

Page 11: Administraci+¦n de Procesos

Terminación de Procesos

• Solicitud del proceso padre: Un proceso padre tiene normalmente autoridad para terminar con cualquiera de sus hijos.

Page 12: Administraci+¦n de Procesos

Comunicación entre Procesos IPC (InterProcess Communication)• Condiciones de competencia. Se dan cuando dos o

más procesos intentan acceder a un mismo recurso. Según Tanembaum (2003) ocurre cuando dos o mas procesos están leyendo o escribiendo datos compartidos y el resultado final depende de quién se ejecuta y precisamente cuándo.

• Secciones críticas: Es la parte del programa en la que se tiene acceso a la memoria compartida. Si de alguna forma se pudiese evitar que los procesos entraran en regiones críticas se podría evitar condiciones de competencia.

• Condiciones para evitar condiciones de competencias:

– Dos procesos no pueden acceder al mismo tiempo dentro de sus regiones criticas.

– No pueden hacerse suposiciones acerca de la velocidad o número de CPU.

– Ningún proceso que se esté ejecutando en afuera de su region critica puede bloquear a otro procesos.

– Ningún proceso deberá tener que esperar de manera indefinida para entrar a su región critica.

Page 13: Administraci+¦n de Procesos

Comunicación entre Procesos IPC (InterProcess Communication)• Exclusión mutua: Es un modelo

para prohibir que dos procesos accedan al mismo recurso. Es decir si un proceso esta utilizando un archivo o variable compartida, los demás procesos no podrán hacer lo mismo.

• Inhabilitación de interrupciones: El método más simple para evitar las condiciones de competencia es hacer que cada proceso desactive todas sus interrupciones antes de entrar a su sección crítica y las active una vez que salga.

• Solución de Peterson.• Cena de los filósofos.

Page 14: Administraci+¦n de Procesos

Comunicación entre Procesos IPC (InterProcess Communication)• Variables de bloqueo: En éste caso se

genera una variable la cual puede tener dos valores o bien 0 (no hay ningún proceso en su sección crítica) o bien 1 (indicando que la sección crítica está ocupada). El problema aquí se presenta si dos procesos verifican al mismo tiempo que la variable cerradura o bloqueo esta en 0 e ingresan a la región crítica.

• Alternancia estricta: No bloquea el ingreso a la región crítica cuando otro proceso se esta ejecutando. El problema de ésta solución es que cuando un proceso no está en la sección crítica igualmente tiene bloqueado el acceso a la misma y por lo tanto no permite que otro proceso que requiera ingresar logre hacerlo.

• Instrucción TSL: TEST AND SET LOCK

Page 15: Administraci+¦n de Procesos

Comunicación entre Procesos IPC (InterProcess Communication)• El problema del productor y el

consumidor: Describe el hecho de que cuando hay dos o más procesos interactuando a través de un buffer común habiendo procesos que ponen información o datos y otros que los sacan se pueden llegar a dar condiciones en las cuales los procesos que ingresan los datos no puedan hacerlo debido a que el buffer ya se encuentra lleno y para el caso de los que sacan los datos del buffer intenten sacar datos cuando ya no hay nada que sacar. (Sincronización).

Page 16: Administraci+¦n de Procesos

Comunicación entre Procesos IPC (InterProcess Communication)• Señales

– Son mecanismos de comunicación que se establecen entre los procesos. Para comparar se puede decir que las señales son a los procesos lo que las interrupciones son al procesador. Cuando un proceso recibe una señal detiene su ejecución, bifurca a la rutina del tratamiento de la señal que esta en el mismo proceso y luego una vez finalizado sigue la ejecución en el punto que había bifurcado anteriormente.

– Las señales se pueden originar en un proceso o bien en el sistema operativo. Se pueden enviar entre procesos, solo los que tengan el mismo ID, o bien el sistema operativo puede enviarle una señal a un proceso, por ejemplo las excepciones de ejecución.

Page 17: Administraci+¦n de Procesos

Terminología

• Contador de programa.• Pila.• Registros.• Estado del proceso.• Dentro de la información compartida

tenemos:– Variables globales.– Archivos abiertos.– Señales.– Semáforos.

Page 18: Administraci+¦n de Procesos
Page 19: Administraci+¦n de Procesos

Administración de Procesos• Planificación de procesos: Proceso

por el cual el sistema operativo selecciona que proceso ejecutar.

• Expulsión: Característica por el cual el sistema operativo puede o no expulsar del estado de ejecución a un proceso dado. En este sentido, se tiene la planificación apropiativa en la cual el sistema operativo puede cortar en cualquier momento la ejecución de un proceso y la planificación no apropiativa en la cual una vez que el proceso esta en ejecución el sistema operativo no puede sacarlo de ese estado.

Page 20: Administraci+¦n de Procesos

Administración de Procesos• Objetivos de la planificación

– Equidad, todos los procesos deben poder ejecutarse

– Eficacia, mantener ocupada la CPU un 100% del tiempo

– Tiempo de respuesta, minimizar el tiempo de respuesta al usuario

– Tiempo de regreso, minimizar el tiempo que deben esperar los usuarios por lotes para obtener sus resultados

– Rendimiento, maximizar el número de tareas procesadas por hora.

Page 21: Administraci+¦n de Procesos
Page 22: Administraci+¦n de Procesos

Administración de Procesos• Algoritmos de planificación: Política a seguir

para que un proceso pase al estado de ejecución.• Planificación Round-Robin: Cada proceso tiene

asignado un quantum de tiempo para ejecutarse y en el caso de que no pueda terminar la ejecución en su quantum el proceso pasa de nuevo a la cola de procesos para ser ejecutado por otro quantum luego de recorrer la cola para asegurarse que todos los procesos reciban ese quantum de procesamiento.

• Planificación por prioridad: Todos los procesos son tratados con la misma prioridad. Para el caso de este tipo de planificación a cada proceso se le asigna una prioridad para su ejecución.

• Colas múltiples: Están basadas en una pila que sirve como índice de una lista de procesos que se tienen que ejecutar.

Page 23: Administraci+¦n de Procesos

Administración de Procesos• Primero el trabajo más corto: Se usa para

trabajos en batch o de procesamiento por lotes en los cuales se puede saber cual es el tiempo de duración de la ejecución de cada proceso y entonces se puede seleccionar primero el trabajo más corto. El problema que se presenta con éste algoritmo es que los grandes procesos podrían sufrir de inanición dado que cualquier proceso pequeño se “cuela” sobre uno de mayor tamaño y como resultado final se podría dar el caso que el proceso grande nunca obtenga procesamiento.

• Planificación garantizada: Se tiene en cuenta la cantidad de usuarios en el sistema y se le asigna a cada uno el tiempo de ejecución de 1/n (siendo n la cantidad total de usuarios) de esa forma el planificador tiene que llevar cuenta del tiempo de ejecución de los procesos y balancear el tiempo que están utilizando el procesador para cumplir con la ecuación previa.

Page 24: Administraci+¦n de Procesos
Page 25: Administraci+¦n de Procesos

Modelos de Estados

• Estados de un proceso.En cualquier sistema operativo, es básico conocer el comportamiento que exhibirán los distintos procesos y el conjunto de estados que pueden atravesar.

Page 26: Administraci+¦n de Procesos

Modelo de 5 estados

NUEVO

PREPARADO EJECUCIÓN

TERMINADO

BLOQUEADO

Fin de plazo

Pasar a ejecución

Ocurrencia del suceso

Espera del sucesoAdmitir

NUEVO

PREPARADO EJECUCIÓN

TERMINADO

Pasar a ejecución

Admitir

Page 27: Administraci+¦n de Procesos

Modelo de 6 estados

NUEVO

PREPARADO EJECUCIÓN

TERMINADO

BLOQUEADO

Fin de plazo

Pasar a ejecución

Ocurrencia del suceso

Espera del sucesoAdmitir

SUSPENDIDO

Page 28: Administraci+¦n de Procesos

Modelo de 7 estados

NUEVO

PREPARADO EJECUCIÓN

TERMINADO

BLOQUEADO

Fin de plazo

Pasar a ejecución

Ocurrencia del suceso

Espera del sucesoAdmitir

PREPARADO Y SUSPENDIDO BLOQUEADO

Y SUSPENDIDO

Page 29: Administraci+¦n de Procesos
Page 30: Administraci+¦n de Procesos

Aplicaciones

Page 31: Administraci+¦n de Procesos
Page 32: Administraci+¦n de Procesos

Aplicaciones

Page 33: Administraci+¦n de Procesos
Page 34: Administraci+¦n de Procesos

GRACIAS.

?