Planificación de monoprocesadores DSO 2015 Índice 1) Objetivos de la Planificación 4) Políticas de Planificación • • • • • • Colas Planificación 2) Tipos de Planificación 3) Criterios Planificación Prioridades DSO 2015 2 FCFS SJF SRT Prioridades Round Robin Colas Multinivel Planificación Objetivos de la planificación Comportamiento de un proceso durante su ejecución •La ejecución típica de un proceso consta de fases en las que se alternan la ejecución en CPU y los periodos de espera debido a operaciones de entrada/salida. DSO 2015 3 Planificación Objetivos de la planificación • Se ha visto el concepto de multiprogramación como técnica para ejecutar simultáneamente varios procesos • ¿Como decide el so que proceso ejecutar en cada momento? DSO 2015 4 Planificación Objetivos de la planificación • El propósito de la planificación es asignar recursos de manera q se cumplan una serie de objetivos • • • • • • DSO 2015 Reparto de CPU equitativo (entre todos los procesos) Eficiencia (optimizar uso CPU) Mejor tiempo de respuesta en uso interactivo (consola remota) Mayor número de trabajos por unidad de tiempo Evitar la sobrecarga del sistema Optimización de diversos parámetros (tr,te,.. 5 Planificación Tipos de Planificación Existen tres tipos de planificadores de procesador Planificador a largo plazo Controla el grado de multiprogramación Planificador a corto plazo Selecciona entre los trabajos cargados en memoria y que están preparados para ejecutarse cual hará uso del procesador El planificador a corto plazo debe ser muy rápido ya que entra en juego con una frecuencia muy alta Planificador a medio plazo Carga y descarga trabajos desde el disco a la memoria y de la memoria al disco en función del grado de sobrecarga del sistema. DSO 2015 6 Planificación Planificación a largo plazo l l l DSO 2015 Determina cuáles son los programas admitidos en el sistema. Una vez admitidos se añade a listos si hay RAM, sino a SUSPENDIDOS Controla el numero de procesos en el sistema. Cuantos más procesos se crean, menor es el porcentaje de tiempo en el que cada proceso se puede ejecutar (mas se tarda en terminar). 7 Planificación Planificación a medio plazo l l DSO 2015 Forma parte de la función de intercambio. Se basa en la necesidad de controlar el grado de multiprogramación. 8 Planificación Planificación a corto plazo l También conocido como distribuidor. l Es el de ejecución más frecuente. l Se ejecuta cuando ocurre un suceso: – – – – Interrupciones del reloj. Interrupciones de E/S. Llamadas al sistema operativo. Señales • El principal objetivo es repartir el tiempo de procesador de manera que se optimicen diversos parametros: DSO 2015 9 Planificación Nuevo Planificación Planificación a largo plazo a largo plazo Listo/ suspendido Bloqueado/ suspendido Ejecutando Listo Planificación Planificación a medio plazo a corto plazo Salida Bloqueado Planificación a medio plazo Figura 9.1. Planificación y transiciones de estado de los procesos. DSO 2015 10 Planificación Planificación a largo plazo Trabajos por lotes Quantum Cola de listos Planificación a corto plazo Terminación Procesador Planificación a medio plazo Usuarios interactivos Cola de listos suspendidos Planificación a medio plazo Cola de bloqueados suspendidos Ocurre un suceso Cola de bloqueados Espera de un suceso Figura 9.3. Diagrama de colas de planificación. DSO 2015 11 Planificación Criterios de planificación • Cola de Trabajos nuevos • Trabajos a la espera de ser admitidos en el sistema • Colas de Listos • Procesos con memoria y otros recursos, a la espera de ser ejecutados en CPU • Cola de bloqueados por E/S • Procesos en espera de asignación dispositivo • Cola de Suspendidos • Procesos en memoria secundaria COMO SE ORDENAN? DSO 2015 12 Planificación Criterios de planificación Utilización del procesador Maximizar el rendimiento del procesador Rendimiento (“Throughput”) Trabajos completados por unidad de tiempo Tiempo de estancia (“Turnaround time”) Tiempo transcurrido desde que se lanza hasta que finaliza Tiempo de espera Por operaciones de E/S o por otros aspectos Tiempo de respuesta Importante en aplicaciones interactivas o de TR DSO 2015 13 Planificación Criterios de la planificación a corto plazo – Tiempo de respuesta: Tr • Tiempo q tarda un proceso en tomar el procesador despues del estado Bloqueado. – Tiempo de retorno-estancia-permanencia Tt • T transcurrido entre el lanzamiento de un proceso y su finalizacion, T q tarda en ejecutarse – Tiempo de espera Tw • Tiempo q el proceso pasa en la cola listos – Productividad • Procesos terminados por unidad de tiempo – Utlizacion de CPU DSO 2015 14 Planificación Tiempo de estancia de C DSO 2015 15 Planificación Tiempo de Espera DSO 2015 16 Planificación Tiempo de Respuesta DSO 2015 17 Planificación Políticas de Planificación Planificación FCFS Primero en entrar, primero en salir Se lleva a cabo manejando la cola de procesos preparados como una cola FIFO Es el algoritmo más sencillo de codificar Características y prestaciones: – Puede que un proceso corto tenga que esperar mucho tiempo antes de que pueda ser ejecutado. – Favorece a los procesos con carga de CPU: • Los procesos con carga de E/S tienen que esperar a que se completen los procesos con carga de CPU. DSO 2015 19 Planificación Eficiencia FIFO Los tiempos de estancia y respuesta varían fuertemente de un momento a otro Trabajo 1 Trabajo 2 0 20 Trabajo 2 0 Trabajo 3 4 Trabajo 3 24 32 Trabajo 1 10 32 Los tiempos medios de retorno son menores en el segundo caso que en el primero DSO 2015 20 Planificación Shortest Job First (SJF) Asocia de forma dinámica a cada proceso la longitud de su siguiente ráfaga de CPU Asigna la CPU al trabajo con la ráfaga más pequeña Este algoritmo es óptimo para reducir los tiempos medios de espera Su dificultad es conocer cuáles van a ser las duraciones de las próximas ráfagas de CPU de cada proceso ¿Cómo se estima la duración de la siguiente ráfaga de CPU? DSO 2015 21 Planificación Método de predicción La siguiente ráfaga de CPU se predice como una media exponencial de las longitudes medias en anteriores ráfagas Sea: tn: longitud de la n-ésima ráfaga de CPU τn: valor predicho para la n-ésima ráfaga de CPU α : parámetro de ajuste τn+1 = α tn + (1-α) τn tn: contiene la información más reciente τn: contiene la historia pasada DSO 2015 22 Planificación Shortest Job First (SJF) • Se reduce la previsibilidad de los procesos largos. • Si la estimación de tiempo del proceso no es correcta, el sistema puede abandonar el trabajo. • Posibilidad de inanición para los procesos largos. DSO 2015 23 Planificación Algoritmos de prioridad Se asocia una prioridad a cada proceso y la CPU se asigna al trabajo con la prioridad más alta Las prioridades pueden definirse de dos formas: Internamente Externamente Problema: posible inanición (“starvation”) de determinadas solicitudes DSO 2015 24 Planificación Prioridad • Las prioridades son estaticas permanecen fijas con un valor asignado previamente. Son fáciles de implementar y tienen un coste asociado bajo, aunque no son sensibles a la carga. • Las dinamicas se asignan dinamicamente. Tienen una implementación más elaborada y una sobrecarga en cambios de contexto, pero se adaptan mejor a los cambios de carga y al comportamiento de los procesos. • Los procesos de prioridad más baja pueden sufrir inanición, SOLUCION » Permitir que un proceso cambie su prioridad en función de su permanencia en la cola de listos DSO 2015 25 Planificación Algoritmos expulsores En los algoritmos anteriores, una vez que la CPU ha sido asignada a un proceso, éste la mantiene hasta que pide una E/S o termina ¿Cómo hacer que la CPU sea retirada a un proceso una vez asignada? Prioridad con requisa (“preemption”): Llega el Trabajo 2 Trabajo 1 0 DSO 2015 Trabajo 2 3 Trabajo 1 7 Trabajo 3 12 26 23 Planificación Politicas expulsoras l No expulsora: l l Una vez que el proceso pasa al estado de Ejecución, continúa ejecutandose hasta que termina o se bloquea en espera de una E/S. Expulsora: l l l DSO 2015 (No preferente-No preemptiva-) (Preferente-preemptiva) El proceso que se está ejecutando actualmente puede ser interrumpido y pasado al estado de Listos por el sistema operativo. Permiten dar un mejor servicio ya que evitan que un proceso pueda monopolizar el procesador durante mucho tiempo. La decision de apropiarse de la CPU, se lleva a cabo: § Cuando llega un nuevo proceso § Cuando un proceso pasa de estado Bloqueado a Listo § Por una interrupcion periodica 27 Planificación Algoritmos “round robin” Usados en sistemas de tiempo compartido La CPU se asigna a cada proceso preparado durante un cuanto de tiempo “q” La cola de procesos preparados es FIFO Si la ráfaga de CPU > q ⇒ Interrupción TIME-OUT Si la ráfaga de CPU < q ⇒ Liberación de CPU Prestaciones: dependen fuertemente de q q → ∞ ⇒ round-robin degenera en FCFS q → 0 ⇒ CPU/n DSO 2015 28 Planificación Algoritmos “round robin” Si “q” es muy pequeño se pierde mucho tiempo en el cambio de contexto. Disminuye la eficacia del procesador Si “q” es grande, los tiempos de respuesta aumentan Regla empírica: el 80% de las ráfagas de CPU deben ser menores que el cuanto Problema: sólo existe una cola de trabajos preparados, no distingo entre tipos de trabajos DSO 2015 29 Planificación Colas multinivel Dividen la cola de Prioridad alta preparados en colas separadas en función del tipo de trabajo Cada cola tiene su propio algoritmo de planificación Debe existir otro algoritmo para elegir la cola en cada momento Tareas del sistema Tareas interactivas Tareas de edición Tareas batch Prioridad baja DSO 2015 30 Planificación Colas multinivel realimentadas Los trabajos se mueven. Consideraciones: El algoritmo de planificación de cada cola Métodos para “ascender” y “descender” Dónde poner inicialmente a los trabajos Quantum = 10 Quantum = 20 FCFS DSO 2015 31 Planificación Diagramas de Gantt •Para simplificar la explicación de las diferentes políticas de planificación se consideran tan sólo las fases de CPU de un proceso. •La planificación de un conjunto de procesos se representa mediante los diagramas de Gantt •Un diagrama de Gantt es una secuencia de rectángulos horizontales con una escala de tiempo que comienza en cero en la izquierda y que representa la ejecución secuencial de un conjunto de procesos. •La separación entre dos rectángulos adyacentes representa la ejecución del cambio de contexto y del algoritmo de planificación DSO 2015 32 Planificación Ejemplo Diagrama Gantt DSO 2015 33 Planificación Algoritmos de planificación de procesos Proceso DSO 2015 Instante de llegada Tiempo de servicio 34 Planificación Ejemplo FCFS (I) DSO 2015 35 Planificación Ejemplo FCFS (II) Penaliza los cortos DSO 2015 36 Planificación Planificación en LINUX DSO 2015 37 Planificación