2015 gestión de procesos
TRANSCRIPT
GESTIÓN DE PROCESOS
PROCESO
Programa o parte de un programa en ejecución.
Programa:entidad estáticaProceso:entidad dinámica
GESTIÓN DE PROCESOS
ELEMENTOS DE UN PROCESO
Un proceso está formado por:
Un programa ejecutableDatosContexto de ejecuciónRegistros de CPUOtra información
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
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
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
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
GESTIÓN DE PROCESOS
ESTADOS DE LOS PROCESOSModelo de dos estados.
Es el más simple, posee dos estados.
Ejecución yNo ejecución
GESTIÓN DE PROCESOS
ESTADOS DE LOS PROCESOSModelo de cinco estados.
NuevoEjecuciónListoBloqueadoTerminado
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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
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
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
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
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
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.
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.
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.
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
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
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
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.
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
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
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.
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.
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.
GESTIÓN DE PROCESOS
HILOS DE EJECUCIÓN – THREADS -
Unidad propietaria de recursos
Unidad de ejecución o despacho
Partes de un proceso:
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.
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.
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
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
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.
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.
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.
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
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
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
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.
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 -
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
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
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.
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:
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
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.
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
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 -
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.
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.
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.
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.
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.
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.
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.
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.
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