2015 gestión de procesos

66
GESTIÓN DE PROCESOS PROCESO Programa o parte de un programa en ejecución. Programa: entidad estática Proceso: entidad dinámica

Upload: michael-ramirez

Post on 10-Feb-2017

414 views

Category:

Education


0 download

TRANSCRIPT

Page 1: 2015 gestión de procesos

GESTIÓN DE PROCESOS

PROCESO

Programa o parte de un programa en ejecución.

Programa:entidad estáticaProceso:entidad dinámica

Page 2: 2015 gestión de procesos

GESTIÓN DE PROCESOS

ELEMENTOS DE UN PROCESO

Un proceso está formado por:

Un programa ejecutableDatosContexto de ejecuciónRegistros de CPUOtra información

Page 3: 2015 gestión de procesos

GESTIÓN DE PROCESOS

CREACIÓN Y TERMINACIÓN DE LOS PROCESOS

La creación de un proceso consta de dos etapas:

Creación de estructuras de controlAsignación de espacio de memoria

Page 4: 2015 gestión de procesos

GESTIÓN DE PROCESOS

CREACIÓN Y TERMINACIÓN DE LOS PROCESOS

La terminación de un proceso consta de dos etapas:

Liberación del espacio de memoriaDestrucción de la estructura

Page 5: 2015 gestión de procesos

GESTIÓN DE PROCESOS

CREACIÓN Y TERMINACIÓN DE LOS PROCESOS

Causas para la terminación de un proceso:

Debido a erroresPor petición del proceso padreIntento de acceso a una zona de memoria sin tener permisoPor que finaliza su ejecuciónIntento de acceso a un recurso sin derecho o de forma indebidaIntento de realizar una operación aritmética no permitida

Page 6: 2015 gestión de procesos

GESTIÓN DE PROCESOS

ESTADOS DE LOS PROCESOSEl sistema Operativo ve al proceso como una unidad que se va ejecutando y evolucionando entre distintos estados.

El estado global de Sistema está constituido por el estado en que se encuentran todos los procesos y

recursos del sistema

Page 7: 2015 gestión de procesos

GESTIÓN DE PROCESOS

ESTADOS DE LOS PROCESOSModelo de dos estados.

Es el más simple, posee dos estados.

Ejecución yNo ejecución

Page 8: 2015 gestión de procesos

GESTIÓN DE PROCESOS

ESTADOS DE LOS PROCESOSModelo de cinco estados.

NuevoEjecuciónListoBloqueadoTerminado

Page 9: 2015 gestión de procesos

GESTIÓN DE PROCESOS

ESTADOS DE LOS PROCESOS

Modelo de cinco estados.

Nuevo. El proceso acaba de ser creado, pero aún no se le ha asignado memoria. Todavía no ha sido admitido por el sistema.

Page 10: 2015 gestión de procesos

GESTIÓN DE PROCESOS

ESTADOS DE LOS PROCESOS

Modelo de cinco estados.

Ejecución. El proceso tiene el dominio de la CPU en ese momento y se está ejecutando.

Page 11: 2015 gestión de procesos

GESTIÓN DE PROCESOS

ESTADOS DE LOS PROCESOS

Modelo de cinco estados.

Listo. El proceso se está preparando y en disposición de usar la CPU, si hubiere una libre.

Page 12: 2015 gestión de procesos

GESTIÓN DE PROCESOS

ESTADOS DE LOS PROCESOS

Modelo de cinco estados.

Bloqueado. El proceso está a la espera de que ocurra algún evento.

Page 13: 2015 gestión de procesos

GESTIÓN DE PROCESOS

ESTADOS DE LOS PROCESOS

Modelo de cinco estados.

Terminado. El proceso ha terminado su ejecución y liberado la memoria, pero aún no se han destruido sus estructuras de datos.

Page 14: 2015 gestión de procesos

GESTIÓN DE PROCESOS

TRANSICIONES DE ESTADOS DE LOS PROCESOS

Un proceso cambia de estado a lo largo de su vida.

Despacho: Listo - EjecuciónTiempo excedido: Ejecución - ListoBloqueo: Ejecución - BloqueadoDespertar: Bloqueado - Listo

La única transición iniciada por el propio proceso es la de bloqueo.Este modelo puede ser completado con un estado de suspendido.

Page 15: 2015 gestión de procesos

GESTIÓN DE PROCESOS

ESTRUCTURAS DE CONTROL

El sistema Operativo necesita una serie de estructuras de datos que le permitan controlar el estado de los procesos y de los recursos, como:

Tablas de memoriaTablas de E/STablas de archivosTablas de procesos

Page 16: 2015 gestión de procesos

GESTIÓN DE PROCESOS

IMAGEN DE UN PROCESO

Físicamente un proceso requiere cargar en memoria:

Un código. Programa que va a ser ejecutadoUnos datos. Datos del usuario requeridos para la ejecución del programa.Una pila. Pila del usuario y pila del sistema utilizada para llamadas a procesos y al sistema.Unos atributos. Bloques de control de los procesos, formados por la información requerida por el sistema para controlar los procesos.

Page 17: 2015 gestión de procesos

GESTIÓN DE PROCESOS

BLOQUES DE CONTROL DE LOS PROCESOS

La estructura de datos que contiene la información a cerca de un proceso se denomina Bloque de Control de Procesos – BCP -.

Un BCP es la representación de un proceso durante su ejecución.

Un BCP se crea cuando se crea su proceso asociado.

Los BCP son accedidos y mantenidos por rutinas del Sistema Operativo.

Page 18: 2015 gestión de procesos

GESTIÓN DE PROCESOS

ELEMENTOS DEL BLOQUE DE CONTROL DE PROCESOS

Identificación de los procesos.

Información del estado de los procesos.

Información de control de los procesos.

Page 19: 2015 gestión de procesos

GESTIÓN DE PROCESOS

ELEMENTOS DEL BLOQUE DE CONTROL DE PROCESOS

Identificación de los procesos.

Identificación única del proceso.Identificación del proceso padre.Identificación del usuario.

Page 20: 2015 gestión de procesos

GESTIÓN DE PROCESOS

ELEMENTOS DEL BLOQUE DE CONTROL DE PROCESOS

Información del estado de los procesos.

Registros de control y estadoRegistros visibles al usuarioPunteros de pila

Page 21: 2015 gestión de procesos

GESTIÓN DE PROCESOS

ELEMENTOS DEL BLOQUE DE CONTROL DE PROCESOS

Información de control de los procesos.

Información sobre planificación y estado

Información útil para la planificación de la CPU: prioridad del proceso, punteros a colas, cantidad de tiempo en espera, en ejecución ,etc.

Eventos pendientes

Page 22: 2015 gestión de procesos

GESTIÓN DE PROCESOS

ELEMENTOS DEL BLOQUE DE CONTROL DE PROCESOS

Información de control de los procesos.

Gestión de memoria

Límite superior e inferior de memoria asignada

Lista de bloques asignados

Page 23: 2015 gestión de procesos

GESTIÓN DE PROCESOS

ELEMENTOS DEL BLOQUE DE CONTROL DE PROCESOS

Información de control de los procesos.

Apuntador a la tabla de segmentos o de página

Información de contabilidad: Tiempo de CPU y tiempo real

Page 24: 2015 gestión de procesos

GESTIÓN DE PROCESOS

ELEMENTOS DEL BLOQUE DE CONTROL DE PROCESOS

Información de control de los procesos.

Información del estado de los dispositivos y operaciones de E/S: lista de dispositivos asignados, archivos.

Apuntadores para asignar recursos

Comunicación entre procesos

Page 25: 2015 gestión de procesos

GESTIÓN DE PROCESOS

ELEMENTOS DEL BLOQUE DE CONTROL DE PROCESOS

El BCP permite al sistema Operativo localizar toda la información clave sobre los procesos.

El conjunto de BCP forman las tablas de procesos.

El id del proceso se usa como índice en las tablas de los procesos.

Page 26: 2015 gestión de procesos

GESTIÓN DE PROCESOS

CREACIÓN DE UN PROCESO.

Cuando se crea un proceso, el Sistema Operativo realiza los siguientes pasos:

Asigna un identificador único al proceso. Se crea el BCP, pero sólo se llena el campo del identificador.

Asigna memoria al proceso.

Inicializa el BCP.

Page 27: 2015 gestión de procesos

GESTIÓN DE PROCESOS

CREACIÓN DE UN PROCESO.

Cuando se crea un proceso, el Sistema Operativo realiza los siguientes pasos:

Insertar el proceso en la lista de procesos que corresponda. Por ejemplo en la lista de procesos listos.

Otras operaciones, como actualizar las estructuras de control que mantenga el Sistema Operativo.

Page 28: 2015 gestión de procesos

GESTIÓN DE PROCESOS

CREACIÓN DE UN PROCESO.

Un proceso puede ser creado por:

Un usuario que lo solicita

El Sistema Operativo

Otro proceso

Page 29: 2015 gestión de procesos

GESTIÓN DE PROCESOS

INTERRUPCIÓN DE UN PROCESO.

MECANISMO CAUSA USO

InterrupciónExterna a la ejecución de la instrucción actual

Reacción a un evento externo asíncrono

TrampaExcepciones

Asociado con la ejecución de la instrucción actual

Manejo de errores o de condiciones de excepciones

Petición de un servicio-Llamadas al sistema -

Petición explícitaLlamada a una función del Sistema Operativo

Page 30: 2015 gestión de procesos

GESTIÓN DE PROCESOS

TERMINACIÓN DE UN PROCESO.

Para terminar – destruir - un proceso:

Se devuelven sus recursos al sistema

Se borran las listas y tablas del sistema

Se borra su BCP

Page 31: 2015 gestión de procesos

GESTIÓN DE PROCESOS

TERMINACIÓN DE UN PROCESO.

Un proceso puede ser destruido por:

Completar su ejecución

Exceder el límite de tiempo asignado al proceso

No disponer de la memoria que el proceso solicita.

Page 32: 2015 gestión de procesos

GESTIÓN DE PROCESOS

TERMINACIÓN DE UN PROCESO.

Un proceso puede ser destruido por:

Violación de protección de memoria

Error de protección al intentar acceder a un recurso no asignado

Error aritmético

Page 33: 2015 gestión de procesos

GESTIÓN DE PROCESOS

TERMINACIÓN DE UN PROCESO.

Un proceso puede ser destruido por:

Instrucción inválida

Fallo de E/S

Intervención del usuario o del Sistema Operativo

Page 34: 2015 gestión de procesos

GESTIÓN DE PROCESOS

SUSPENDER/REANUDAR UN PROCESO.

Suspender un proceso consiste en detener un proceso, esté en el estado que esté.

El proceso puede salir o no de memoria.

Page 35: 2015 gestión de procesos

GESTIÓN DE PROCESOS

CARACTERÍSTICAS DE UN PROCESO SUSPENDIDO

El proceso que está suspendido, no está inmediatamente disponible para su ejecución.

La condición de bloqueado, es independiente de la suspendido.

Page 36: 2015 gestión de procesos

GESTIÓN DE PROCESOS

CARACTERÍSTICAS DE UN PROCESO SUSPENDIDO

El proceso puede ser situado en estado se suspendido, por el mismo, el proceso padre, el Sistema Operativo o el usuario.

Un proceso sólo puede salir del estado de suspendido, si se le aplica una orden externa. El propio proceso no puede reanudarse.

Page 37: 2015 gestión de procesos

GESTIÓN DE PROCESOS

HILOS DE EJECUCIÓN – THREADS -

Unidad propietaria de recursos

Unidad de ejecución o despacho

Partes de un proceso:

Page 38: 2015 gestión de procesos

GESTIÓN DE PROCESOS

HILOS DE EJECUCIÓN – THREADS -

En los procesos tradicionales existe un solo espacio de direcciones y un solo hilo de ejecución. Procesos Pesados.

Hay situaciones en que es deseable tener más de un hilo de ejecución, que compartan un único espacio de

direcciones, pero que se puedan ejecutar de modo más o menos simultáneo. A estos flujos de control se les

denomina hebras o hileras de ejecución. Procesos ligeros.

Page 39: 2015 gestión de procesos

GESTIÓN DE PROCESOS

HILOS DE EJECUCIÓN – THREADS -

Las hebras son como mini-procesos.

Ventajas:

Cuando una hebra se bloquea, puede ejecutarse otra hebra del mismo proceso.Es menos costoso crear/terminar una hebra que un proceso.Es monos costoso intercambiar dos hebras que dos procesos.La comunicación entre hebras dentro de una misma tarea no requiere la intervención del núcleo del sistema.Cada hebra se puede estar ejecutando en un procesador simultáneamente.

Page 40: 2015 gestión de procesos

GESTIÓN DE PROCESOS

PLANIFICACIÓN DE LA CPU

La multiprogramación produce un aumento de la utilización de la CPU y una mayor productividad del sistema.

La planificación permite el manejo de colas para minimizar el tiempo de retraso en la colas y aumentar el rendimiento del sistema.

La planificación de la CPU es necesaria en los sistemas multiprogramados debido a que el número de procesos que se requiere ejecutar supera el número de procesadores existentes en el sistema.

Planificador de Procesos

Page 41: 2015 gestión de procesos

GESTIÓN DE PROCESOS

PLANIFICACIÓN DE LA CPU

Planificador a largo plazo.Planificador a mediano plazoPlanificador a corto plazo

Niveles de Planificacióndel Procesador

Page 42: 2015 gestión de procesos

GESTIÓN DE PROCESOS

PLANIFICACIÓN DE LA CPU

Planificador a largo plazo.

Niveles de Planificación del Procesador

Decide cuando se termina/comienza un proceso.

Determina que trabajo se admite en el sistema para su procesamiento. Decide cuántos trabajos acepta y qué trabajos.

Page 43: 2015 gestión de procesos

GESTIÓN DE PROCESOS

PLANIFICACIÓN DE LA CPU

Planificador a largo plazo.

Niveles de Planificación del Procesador

Decide cuando se termina/comienza un proceso.

Controla el grado de multiprogramación del sistema.

Page 44: 2015 gestión de procesos

GESTIÓN DE PROCESOS

PLANIFICACIÓN DE LA CPU

Planificador a largo plazo.

Niveles de Planificación del Procesador

Determina que trabajo se admite en el sistema para su procesamiento. Decide cuántos trabajos acepta y qué trabajos.

Puede basarse en diferentes criterios:

Prioridad. Puede elegir entre los orientados a E/S y los orientados a CPU.

FIFO. Primero en entrar – Primero en salir.

Page 45: 2015 gestión de procesos

GESTIÓN DE PROCESOS

PLANIFICACIÓN DE LA CPU

Planificador a corto plazo.

Niveles de Planificación del Procesador

El próximo proceso a ejecutarse se selecciona entre los trabajos que están en la cola de listos. Se ejecuta cada vez que ocurre un evento que puede causar un cambio de proceso, como:

Interrupción de relojInterrupción de E/SLlamadas al sistemaSeñales

Page 46: 2015 gestión de procesos

GESTIÓN DE PROCESOS

PLANIFICACIÓN DE LA CPU

Planificador a corto plazo.

Niveles de Planificación del Procesador

Posee un módulo despachador que se encarga de:

Cambiar de procesosCambiar de modo: kernel/usuarioSeleccionar la instrucción que va a ejecutarse

Al tiempo que tarde en realizar estas operaciones se le denomina latencia de despacho

Page 47: 2015 gestión de procesos

GESTIÓN DE PROCESOS

PLANIFICACIÓN DE LA CPU

Características del Planificador a corto plazo

Criterios para implementar un planificador a corto plazo:

Criterios orientados al usuarioCriterios orientados al sistema

Page 48: 2015 gestión de procesos

GESTIÓN DE PROCESOS

PLANIFICACIÓN DE LA CPU

Características del Planificador a corto plazo

Criterios orientados al usuario – Relacionados con el rendimiento.

Tiempo de Respuesta: tiempo que transcurre desde que se envía un trabajo al sistema hasta que se empieza a atender – Sistemas Interactivos – o tiempo que transcurre desde que el proceso entra en la cola de listos hasta obtener la primera atención de la CPU.

Page 49: 2015 gestión de procesos

GESTIÓN DE PROCESOS

PLANIFICACIÓN DE LA CPU

Características del Planificador a corto plazo

Criterios orientados al usuario – Relacionados con el rendimiento.

Tiempo de Retorno: tiempo total que emplea el proceso desde que entra en el sistema hasta que termina su ejecución – sistemas bach -

Page 50: 2015 gestión de procesos

GESTIÓN DE PROCESOS

PLANIFICACIÓN DE LA CPU

Características del Planificador a corto plazo

Criterios orientados al sistema – Relacionados con el rendimiento.

Rendimiento: El número de trabajos que se ejecuta por unidad de tiempo – Throutput – debe ser el máximo posible.

Utilización del Procesador: porcentaje de tiempo que el procesador está ocupado

Page 51: 2015 gestión de procesos

GESTIÓN DE PROCESOS

PLANIFICACIÓN DE LA CPU

Características del Planificador a corto plazo

Criterios orientados al sistema – Relacionados con el rendimiento.

Equidad: en ausencia de criterios externos, todos los procesos deberían ser tratados de igual forma.

Prioridades: el algoritmo debe favorecer a los procesos con mayor prioridad

Page 52: 2015 gestión de procesos

GESTIÓN DE PROCESOS

PLANIFICACIÓN DE LA CPU

Elementos del Planificador a corto plazo

Debe contener los siguientes aspectos:

Un modo de decisiónUna función de selecciónUna regla de arbitraje.

Page 53: 2015 gestión de procesos

GESTIÓN DE PROCESOS

PLANIFICACIÓN DE LA CPUElementos del Planificador a corto plazo

Modo de decisión

Indica en que instante en el tiempo se aplica la función de selección.

Las necesidades del planificador deben efectuarse en una de las cinco circunstancias siguientes:

Page 54: 2015 gestión de procesos

GESTIÓN DE PROCESOS

PLANIFICACIÓN DE LA CPUElementos del Planificador a corto plazo

Modo de decisión

1. Cuando un proceso cambia del estado de ejecución al estado de bloqueado.

2. Cuando un proceso cambia del estado de ejecución al estado de listo.

3. Cuando un proceso cambia del estado de bloqueado al estado de listo

4. Cuando llega un proceso nuevo. Del estado de nuevo al estado listo

5. Cuando termina un proceso

Page 55: 2015 gestión de procesos

GESTIÓN DE PROCESOS

PLANIFICACIÓN DE LA CPUElementos del Planificador a corto plazo

Modo de decisión

Cuando la planificación tiene lugar únicamente en las situaciones 1º y 5º, decimos que el esquema de planificación es no apropiativa. Solo pierde el control del proceso cuando se bloquea por una operación de E/S o porque ha terminado.

Page 56: 2015 gestión de procesos

GESTIÓN DE PROCESOS

PLANIFICACIÓN DE LA CPU

Elementos del Planificador a corto plazo

Planificación apropiativa

El proceso que se está ejecutando puede ser interrumpido en cualquier momento y movido a la cola de listos, antes de completar su ejecución

Page 57: 2015 gestión de procesos

GESTIÓN DE PROCESOS

PLANIFICACIÓN DE LA CPU

Elementos del Planificador a corto plazo

Planificación no apropiativa

Una vez asignada la CPU a un proceso, no se le puede retirar hasta que la libera, ya sea por que termina la ejecución o por que cambia a un estado de espera – se auto bloquea -

Page 58: 2015 gestión de procesos

GESTIÓN DE PROCESOS

ALGORITMOS DE PLANIFICACIÓN

Primero en llegar primero en salir – FIFO -

Los procesos acceden a la CPU en el mismo orden de llegada.

Es no apropiativo. No es útil en sistemas interactivos, al no garantizar buenos tiempos de respuesta; los procesos largos hacen esperar a los procesos cortos.

Page 59: 2015 gestión de procesos

GESTIÓN DE PROCESOS

ALGORITMOS DE PLANIFICACIÓN

El trabajo más corto primero.

Se le asigna la CPU al proceso que tenga un tiempo estimado de ejecución más corto, los procesos cortos pasan a la cabeza de la cola de listos.

Reduce el tiempo de espera. Favorece a los procesos cortos frente a los más largos. No es apropiado para tiempo compartido por ser no apropiativo.

Es difícil calcular cuanto tiempo va a durar cada proceso.

Page 60: 2015 gestión de procesos

GESTIÓN DE PROCESOS

ALGORITMOS DE PLANIFICACIÓN

El tiempo restante más corto.

El siguiente proceso en ser ejecutado es el de tiempo estimado de ejecución menor para llegar a su terminación.

Es una variante apropiativa del anterior. Los procesos cortos de ejecutan casi que inmediatamente y los largos tienen un mayor retardo.

Page 61: 2015 gestión de procesos

GESTIÓN DE PROCESOS

ALGORITMOS DE PLANIFICACIÓN

Prioridades.

Consiste en asignarle a cada proceso una prioridad. Las prioridades pueden determinarse internamente por el sistema y externamente por el usuario.

Page 62: 2015 gestión de procesos

GESTIÓN DE PROCESOS

ALGORITMOS DE PLANIFICACIÓN

Prioridades.

Las prioridades pueden ser:

Estáticas: una vez que se le asigna una al proceso, esta no cambia.

Dinámicas: las prioridades cambian, adaptándose al ambiente.

Page 63: 2015 gestión de procesos

GESTIÓN DE PROCESOS

ALGORITMOS DE PLANIFICACIÓN

Prioridades.

El mayor problema de las prioridades es la inanición.

Una solución es la técnica del envejecimiento que consiste en que cada cierto periodo de tiempo de espera, se le aumenta la prioridad al proceso.

Page 64: 2015 gestión de procesos

GESTIÓN DE PROCESOS

ALGORITMOS DE PLANIFICACIÓN

Asignación en rueda – Round Robin -

Se denomina una pequeña unidad de tiempo denominada quantum. A cada proceso se le asigna un quantum de tiempo. Si el proceso no termina en ese tiempo, el control de la CPU pasa al siguiente proceso de la cola.

Page 65: 2015 gestión de procesos

GESTIÓN DE PROCESOS

ALGORITMOS DE PLANIFICACIÓN

Asignación en rueda – Round Robin -

La cola de procesos en estado de listo se organiza según un esquema FIFO.

Es un sistema con modo de decisión apropiativo basado en el reloj.

Es apropiativo para sistemas de tiempo compartido. El problema es determinar el tamaño del quantum.

Page 66: 2015 gestión de procesos

GESTIÓN DE PROCESOS

ALGORITMOS DE PLANIFICACIÓN

Razón de Respuesta más alta.

Se selecciona el proceso de la cola que tenga un valor de RR más alto. Es apropiativo.

RR = Tw + Ts Tw = Tiempo de espera estimado

Ts Ts = Tiempo de servicio estimado