Planificación (Cap. 8 de Stallings)
Introducción En un sistema multiprogramado, la MP contiene varios procesos. Cada proceso alterna entre usar el procesador ...
Planificación La Planificación es fundamental al diseñar el sistema operativo. •  Planificación : Conjunto de políticas y ...
... •  Conceptualmente, todos los procesos tendrán, tarde o temprano, una opción para ejecutarse. En forma resumida : Siem...
... <ul><li>El afán de la planificación del procesador consiste en asignar los procesos al procesador o los procesadores p...
Tipos de Planificación En todos los sistemas, la actividad de planificación se divide en 3 funciones independientes: - Pla...
... <ul><li>- Planificador a largo plazo </li></ul><ul><ul><ul><li>Controla el grado de multiprogramación </li></ul></ul><...
... Veremos un diagrama que relaciona las funciones de planificación con el diagrama de transición de estados de un proceso.
...
... La planificación afecta al rendimiento del sistema, pues determina que proceso esperará y que proceso continuará. Esto...
...
Idea básica de Planificador Largo Plazo Funciones del planificador a largo plazo 1. Convierte programas en procesos. Deter...
Idea básica de Planificador Mediano Plazo Funciones del planificador a medio plazo 1. Se encarga de suspender y restaurar ...
Este es el más usado (más frecuentemente usado) y se le conoce como  distribuidor (dispatcher) •  Funciones y objetivos de...
Algoritmos  de  Planificación
Criterios de Planificación a Corto Plazo (PCP) El principal objetivo de la PCP es repartir el tiempo del procesador de for...
... Los criterios orientados al usuario se refieren al comportamiento del sistema como tal y como lo perciben los usuarios...
Uso de Prioridades Un tema importante en la planificación es el uso de prioridades. En los sistemas, cada proceso tiene un...
...
... Un problema de los esquemas puros de planificación por prioridades es que los procesos de prioridad m´s baja pueden su...
Políticas de Planificación Veremos algunas políticas como: - FCFS o FIFO (primero en llegar , primero en servirse)  - Turn...
Otras características son:  •   Uso CPU:  % tiempo que la CPU está ocupada. •  Productividad (Throughput):  Cantidad de tr...
... •  Tiempo de respuesta:  Para proceso interactivo es el tiempo que pasa desde que se emite una petición hasta que se p...
... Las dos primeras características que veremos se basan en la clasificación según: - la función de decisión - modo de de...
Función de Selección  La   función de selección  determina que proceso , de entre los listos, se elige para ejecutar a con...
Modo de Decisión El modo de decisión especifica los instantes de tiempo en que se aplica la función de selección. A. No ap...
... Todos los casos de políticas se verán con el siguiente ejemplo: Tiempo de servicio es el tiempo total de ejecución
Primero en Llegar, Primero en ser servido <ul><li>FIFO (First-In-First-Out) / FCFS (First-Come-First-Served) </li></ul><ul...
...
... <ul><li>•  Implementación política FIFO </li></ul><ul><li>–  Simple ->   La cola con procesos Listos para ejecutar se ...
Turno rotatorio (Round Robin o RR) Un modo sencillo de reducir l penalización que sufren los trabajos cortos con FCFS es c...
... •  División tiempo CPU en unidades de tiempo llamados quantum (cuantos). En la política RR la cuestión principal de di...
... <ul><li>•  Se utiliza junto con otra política de planificación para decidir que proceso toma la CPU, concretamente se ...
... <ul><li>•  Implementación política Round-Robin + FIFO: </li></ul><ul><li>–  La cola con procesos Listos para ejecutar ...
... <ul><li>Detalle: </li></ul><ul><li>–  Idóneo para sistemas de tiempo compartido (multiusuario). </li></ul><ul><li>–  T...
... Quantum = 1
Primero el Proceso Más Corto SPF (Shortest-Process-First) o SPN (Shortest-Process-Next)  Es una política no apropiativa en...
... Una dificultad que plantea esta política es la necesidad de conocer o estimar el tiempo exigido por cada proceso. Por ...
... •  La CPU se asigna al proceso con menor tiempo de ráfaga de CPU y sin requisamientos (política no apropiativa). •  Si...
... •  Inconvenientes –  Difícil determinar tiempo de la siguiente ráfaga de CPU de un proceso. –  Riesgo de inanición par...
... •  Implementación política SPN : –  La cola con procesos Listos para ejecutar se implementa como una lista ordenada po...
...
Menor tiempo restante SRTN (Shortest-Remain-Time-Next)/ Menor tiempo restante Es la versión apropiativa del SPN, en la que...
... Cuando se añade un nuevo proceso a la cola de Listos, puede quedarle un tiempo esperado de ejecución menor que al proc...
... Implementación política SRTN : –  La cola con procesos Listos para ejecutar se implementa como una lista ordenada por ...
... •  Ventajas –  Minimiza el tiempo medio de espera. –  Es predecible. –  Buen tiempo de retorno. •  Inconvenientes –  R...
...
Realimentación En esta política la planificación es apropiativa y se emplea un mecanismo dinámico de prioridades. Cuando u...
... Un proceso corto terminará rápidamente, sin descender demasiado en la jerarquía de las colas de Listos. Un proceso lar...
...
...
Próxima SlideShare
Cargando en…5
×

2003 Clase0610

1.024 visualizaciones

Publicado el

Publicado en: Viajes
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
1.024
En SlideShare
0
De insertados
0
Número de insertados
18
Acciones
Compartido
0
Descargas
25
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

2003 Clase0610

  1. 1. Planificación (Cap. 8 de Stallings)
  2. 2. Introducción En un sistema multiprogramado, la MP contiene varios procesos. Cada proceso alterna entre usar el procesador y esperar que se realice una operación de E/S o que ocurra algún otro suceso. El procesador (o procesadores) se mantiene ocupados ejecutando un proceso mientras los demás esperan. La clave de la multiprogramación está en la planificación. Veremos la planificación del corto, mediado y largo plazo.
  3. 3. Planificación La Planificación es fundamental al diseñar el sistema operativo. • Planificación : Conjunto de políticas y mecanismos incorporados al S.O. que gobiernan el orden en que se ejecutan los trabajos. • Planificador : Parte del S.O. que selecciona el siguiente trabajo que hay que admitir en el sistema y el siguiente proceso a ejecutar. • Objetivo planificación -> Optimizar rendimiento.
  4. 4. ... • Conceptualmente, todos los procesos tendrán, tarde o temprano, una opción para ejecutarse. En forma resumida : Siempre que la CPU este ociosa, el S.O. debe escoger uno de los procesos que están en la cola de procesos listos para ejecutarlo El proceso de selección corre por cuenta del planificador de CPU El Planificador escoge uno de los procesos que están en la memoria y listos para ejecutarse y se le asigna el CPU
  5. 5. ... <ul><li>El afán de la planificación del procesador consiste en asignar los procesos al procesador o los procesadores para que sean ejecutados en algún momento, de forma que se cumplan objetivos del sistema tales como: </li></ul><ul><li>- bajo tiempo de respuesta, </li></ul><ul><ul><li>- Minimizar el tiempo de espera </li></ul></ul><ul><ul><li>- Equidad </li></ul></ul><ul><li>- la productividad y rendimiento alto </li></ul><ul><li>- la eficiencia del procesador </li></ul><ul><li>- etc. </li></ul>
  6. 6. Tipos de Planificación En todos los sistemas, la actividad de planificación se divide en 3 funciones independientes: - Planificación a Largo Plazo - Planificación a Mediano Plazo - Planificación a Corto Plazo Los nombres hacen referencias a la frecuencia relativa con la que son ejecutadas estas funciones.
  7. 7. ... <ul><li>- Planificador a largo plazo </li></ul><ul><ul><ul><li>Controla el grado de multiprogramación </li></ul></ul></ul><ul><ul><ul><li>Decisión de añadir procesos nuevos a la reserva de procesos a ejecutar/activos </li></ul></ul></ul><ul><ul><li>- Planificador a corto plazo </li></ul></ul><ul><ul><ul><li>Decide entre los trabajos cargados en memoria y que están preparados para ejecutarse (estado Listo) cual hará uso del procesador (estado ejecutando). </li></ul></ul></ul><ul><ul><li>- Planificador a medio plazo </li></ul></ul><ul><ul><ul><li>Decide que cargar y descargar desde el disco a la memoria y de la memoria al disco en función del grado de sobrecarga del sistema. </li></ul></ul></ul><ul><ul><ul><li>Forma parte del proceso de intercambio y tiene como origen la decisión de añadir un proceso a los que se encuentran en MP y por tanto disponibles para ejecutar </li></ul></ul></ul>
  8. 8. ... Veremos un diagrama que relaciona las funciones de planificación con el diagrama de transición de estados de un proceso.
  9. 9. ...
  10. 10. ... La planificación afecta al rendimiento del sistema, pues determina que proceso esperará y que proceso continuará. Esto se visualiza en la sig. figura, que muestra las colas involucradas en las transiciones de estado de un proceso. Puede decirse, que la planificación es una gestión de dichas colas, que minimiza la espera y optimiza el rendimiento del entorno.
  11. 11. ...
  12. 12. Idea básica de Planificador Largo Plazo Funciones del planificador a largo plazo 1. Convierte programas en procesos. Determina cuales son los programas admitidos en el sistema. 2. Con esto controla y limita el grado de multiprogramación 3. Luego, añade los nuevos procesos a la cola del planificador a corto plazo.
  13. 13. Idea básica de Planificador Mediano Plazo Funciones del planificador a medio plazo 1. Se encarga de suspender y restaurar procesos hacia/desde memoria principal. 2. Limita grado de multiprogramación. • Decisiones del planificador a medio plazo 1. Qué procesos de entre los que están en estado Listo y en estado Bloqueado (preferentemente éstos últimos) deben ir a memoria secundaria. 2. Qué procesos deben volver a memoria principal. 3. Determinar en qué momentos deben realizarse las operaciones anteriores.Debe disponer de información acerca de las necesidades de memoria de los procesos fuera de memoria.
  14. 14. Este es el más usado (más frecuentemente usado) y se le conoce como distribuidor (dispatcher) • Funciones y objetivos del planificador a corto plazo – Asigna procesador entre el conjunto de procesos listos en memoria. Qué proceso va a tomar la CPU cuando ésta queda libre – Maximizar rendimiento del sistema de acuerdo con el conjunto de criterios elegidos. – Se ejecuta cuando ocurre un suceso que puede conducir a la interrupción del proceso actual o que ofrece la oportunidad de expulsar de la ejecución al proceso actual a favor de otro. Idea básica de Planificador de Corto Plazo
  15. 15. Algoritmos de Planificación
  16. 16. Criterios de Planificación a Corto Plazo (PCP) El principal objetivo de la PCP es repartir el tiempo del procesador de forma que se optimicen algunos puntos del comportamiento del sistema. Se fijan un conjunto de criterios con los que evaluar las diversas estrategias de planificación. El criterio más empleado establece 2 clasificaciones: - criterios orientados al usuario - criterios orientados al sistema
  17. 17. ... Los criterios orientados al usuario se refieren al comportamiento del sistema como tal y como lo perciben los usuarios. Ej. Tiempo de respuesta de un sistema interactivo. Para ello sería conveniente disponer de una política de planificación que ofrezca un buen servicio a los usuarios (ej. Tpo. De resp. de 2 segundos) ----------------------------- Los criterios orientados al sistema se centran en el uso efectivo y eficiente del procesador. Ej. Maximizar la productividad, es decir, el ritmo con el que los procesos terminan.
  18. 18. Uso de Prioridades Un tema importante en la planificación es el uso de prioridades. En los sistemas, cada proceso tiene una prioridad asignada y el planificador seleccionará siempre a un proceso de mayor prioridad antes que a los de menor prioridad. En la sig. figura se muestra el uso de prioridades, a través de colas en orden de prioridad descendente: RQ0,... RQn Por ende el planificador comenzará con la cola de mayor prioridad, y así sucesivamente. Si en la cola hay m´s de un proceso, se seleccionará uno mediante alguna política de planificación (por verse)
  19. 19. ...
  20. 20. ... Un problema de los esquemas puros de planificación por prioridades es que los procesos de prioridad m´s baja pueden sufrir inanición, lo que ocurre cuando hay un flujo continuo de procesos de alta prioridad. Una manera de mejorar esto es que la prioridad de un proceso pueda cambiar en función de su historial de ejecución o el tiempo de espera, etc.
  21. 21. Políticas de Planificación Veremos algunas políticas como: - FCFS o FIFO (primero en llegar , primero en servirse) - Turno rotatorio (Round Robin) - SPN (primero el proceso más corto) - SRT (menor tiempo restante) - Realimentación En cada caso se revisarán características de cada una como: Función de selección, modo de decisión, tiempo de respuesta, sobrecarga, efecto sobre procesos, inanición, etc.
  22. 22. Otras características son: • Uso CPU: % tiempo que la CPU está ocupada. • Productividad (Throughput): Cantidad de trabajo completada por unidad de tiempo. • Tiempo de retorno: Tiempo desde que se lanza un proceso para su ejecución hasta que termina. • Tiempo de servicio: Tiempo esperado para la finalización del proceso (tiempos de CPU + tiempos de E/S). • Tiempo de espera: Tiempo que un proceso pasa esperando en la cola de procesos listos para ejecutar. • Tiempo medio de espera: Tiempo medio que todos los procesos deben esperar.
  23. 23. ... • Tiempo de respuesta: Para proceso interactivo es el tiempo que pasa desde que se emite una petición hasta que se produce la primera respuesta. • Tiempo de retorno normalizado: Razón entre tiempo de retorno y tiempo de servicio (o tiempo necesario para servir un proceso). • Otros criterios: – Imparcialidad o equidad : En ausencia de otra indicación, los trabajos deben ser tratados igual y ningún proceso debe sufrir inanición. – Previsibilidad : Los trabajos deben ejecutarse más o menos en el mismo tiempo y con el mismo coste, sin importar la carga del sistema.
  24. 24. ... Las dos primeras características que veremos se basan en la clasificación según: - la función de decisión - modo de decisión
  25. 25. Función de Selección La función de selección determina que proceso , de entre los listos, se elige para ejecutar a continuación. La función puede estar basada en prioridades, necesidades de recursos o en las características de ejecución de los procesos.
  26. 26. Modo de Decisión El modo de decisión especifica los instantes de tiempo en que se aplica la función de selección. A. No apropiativo: Proceso pasa al estado Ejecutando y sigue ahí hasta que termina o se bloquea: E/S o solicita servicio del sistema B. Apropiativo: Proceso en estado Ejecutando puede ser interrumpido y pasar a estado Listo por parte del SO
  27. 27. ... Todos los casos de políticas se verán con el siguiente ejemplo: Tiempo de servicio es el tiempo total de ejecución
  28. 28. Primero en Llegar, Primero en ser servido <ul><li>FIFO (First-In-First-Out) / FCFS (First-Come-First-Served) </li></ul><ul><li>El más simple de todos los algoritmos. </li></ul><ul><li>• Trabajos se procesan por orden de llegada a la cola de Listos </li></ul><ul><li>y sin requisamientos (política no apropiativa). </li></ul><ul><ul><li>– CPU se le da a un proceso -> la mantiene hasta que la libera voluntariamente, bien porque termine o porque solicite una E/S. </li></ul></ul>
  29. 29. ...
  30. 30. ... <ul><li>• Implementación política FIFO </li></ul><ul><li>– Simple -> La cola con procesos Listos para ejecutar se gestiona como una cola FIFO. </li></ul><ul><ul><li>• Proceso entra en cola listos -> al final de la cola. </li></ul></ul><ul><ul><li>• CPU libre -> se le asigna al proceso a la cabeza de la cola y se elimina de la misma. </li></ul></ul><ul><li>• Desventaja política FIFO </li></ul><ul><ul><li>Un proceso corto puede tener que espera mucho para ejecutarse </li></ul></ul>
  31. 31. Turno rotatorio (Round Robin o RR) Un modo sencillo de reducir l penalización que sufren los trabajos cortos con FCFS es considerar apropiación dependiente de un reloj. Con RR periódicamente, se genera una interrupción de reloj. Cuando se genera la interrupción, el proceso que está en ejecución se sitúa en la cola de Listos y se selecciona el siguiente trabajo, según FIFO / FCFS. Por ello cada proceso recibe una fracción de tiempo antes de ser expulsado.
  32. 32. ... • División tiempo CPU en unidades de tiempo llamados quantum (cuantos). En la política RR la cuestión principal de diseño es la longitud del cuanto de tiempo o fracción. - Si el cuanto es muy pequeño, los procesos cortos pasan por el sistema rápidamente. Pero esto produce una sobrecarga de la gestión de interrupciones del reloj
  33. 33. ... <ul><li>• Se utiliza junto con otra política de planificación para decidir que proceso toma la CPU, concretamente se suele utilizar la política FIFO. Es siempre una política apropiativa. </li></ul><ul><ul><li>– Fin quantum -> Requisar CPU al proceso en ejecución y elegir a otro proceso de la cola de Listos según política FIFO (aunque podría utilizarse otra política). </li></ul></ul>
  34. 34. ... <ul><li>• Implementación política Round-Robin + FIFO: </li></ul><ul><li>– La cola con procesos Listos para ejecutar se gestiona como una cola FIFO. </li></ul><ul><li>– Proceso entra en cola listos -> enlaza al final de la cola. </li></ul><ul><li>– Planificador recorre la cola y asigna quantum a cada proceso. </li></ul><ul><li>– CPU libre -> se le asigna al proceso a la cabeza de la cola y se elimina de la misma. Activa temporizador para interrupción hardware cuando finalice el cuanto de tiempo. </li></ul><ul><li>– Si Rafaga CPU(P) < 1 quantum -> libera voluntariamente CPU y planificador coge siguiente de la cola de Listos. </li></ul><ul><li>– Si Ráfaga CPU(P) > 1 quamtum -> Temporizador provoca interrupción hardware y el S.O. la gestiona: </li></ul><ul><ul><li>• Cambio proceso, P pasa al final de la cola de listos. </li></ul></ul><ul><ul><li>• Planificador coge siguiente de la cola de Listos </li></ul></ul>
  35. 35. ... <ul><li>Detalle: </li></ul><ul><li>– Idóneo para sistemas de tiempo compartido (multiusuario). </li></ul><ul><li>– Tiempo medio de espera bastante grande. </li></ul><ul><li>– Rendimiento muy dependiente del tamaño del quantum. </li></ul><ul><ul><li>• Muy grande -> RR = FIFO </li></ul></ul><ul><ul><li>• Muy pequeño -> el cambio de contexto es muy gravoso (mucho overhead). </li></ul></ul><ul><li>– Tiempo de turnaround (tiempo para que un proceso vuelva a tomar la CPU) también depende del tamaño del quantum. Mayor quantum -> mayor turnaround. </li></ul>
  36. 36. ... Quantum = 1
  37. 37. Primero el Proceso Más Corto SPF (Shortest-Process-First) o SPN (Shortest-Process-Next) Es una política no apropiativa en la que se selecciona el proceso con menor tiempo esperado de ejecución. Así pues, un proceso corto saltará a la cabeza de la cola, sobrepasando a trabajos largos.
  38. 38. ... Una dificultad que plantea esta política es la necesidad de conocer o estimar el tiempo exigido por cada proceso. Por ello, se le puede asociar a cada Proceso, cada vez que pasa al estado Listo, el tiempo de su siguiente ráfaga de CPU. Este valor cambia a lo largo de la vida del proceso.
  39. 39. ... • La CPU se asigna al proceso con menor tiempo de ráfaga de CPU y sin requisamientos (política no apropiativa). • Si hay empate es posible aplicar algún otro algoritmo, como FIFO.
  40. 40. ... • Inconvenientes – Difícil determinar tiempo de la siguiente ráfaga de CPU de un proceso. – Riesgo de inanición para procesos intensivos en CPU.
  41. 41. ... • Implementación política SPN : – La cola con procesos Listos para ejecutar se implementa como una lista ordenada por el tiempo de la siguiente ráfaga de CPU de los procesos. – Proceso entra en cola listos -> enlaza en la posición que le corresponda según el tiempo de ráfaga de CPU que va a ejecutar a continuación (primero los más cortos). – CPU libre -> se le asigna al proceso primero de la lista y se elimina de la misma.
  42. 42. ...
  43. 43. Menor tiempo restante SRTN (Shortest-Remain-Time-Next)/ Menor tiempo restante Es la versión apropiativa del SPN, en la que el planificador siempre elige al proceso que le queda menos tiempo esperado de ejecución.
  44. 44. ... Cuando se añade un nuevo proceso a la cola de Listos, puede quedarle un tiempo esperado de ejecución menor que al proceso que está ejecutandose en ese momento. Por consiguiente, el planificador puede apropiarse del procesador siempre que un proceso nuevo este listo. Como en el SPN, el planificador debe disponer de una estimación del tiempo de proceso para poder llevar a cabo la función de selección, existiendo el riesgo de inanición para procesos largos.
  45. 45. ... Implementación política SRTN : – La cola con procesos Listos para ejecutar se implementa como una lista ordenada por el tiempo de la siguiente ráfaga de CPU de los procesos. • Proceso entra en cola listos -> enlaza en la posición que le corresponda según el tiempo de ráfaga de CPU que va a ejecutar a continuación (primero los más cortos). • Un proceso que entra en la cola de listos con menor tiempo de ráfaga de CPU que proceso en ejecución -> Proceso en ejecución a la cola de listos (en la posición que le corresponda). • CPU libre -> se le asigna al proceso primero de la lista y se elimina de la misma.
  46. 46. ... • Ventajas – Minimiza el tiempo medio de espera. – Es predecible. – Buen tiempo de retorno. • Inconvenientes – Riesgo de inanición para procesos intensivos en CPU. – Difícil determinar tiempo de la siguiente ráfaga de CPU de un proceso.
  47. 47. ...
  48. 48. Realimentación En esta política la planificación es apropiativa y se emplea un mecanismo dinámico de prioridades. Cuando un proceso entra por primera vez en el sistema, se sitúa en RQ0. Cuando vuelve al estado de Listo, después de su primera ejecución, se incorpora en RQ1. Así , después de cada ejecución siguiente, se le degradará al nivel inmediatamente inferior de prioridad.
  49. 49. ... Un proceso corto terminará rápidamente, sin descender demasiado en la jerarquía de las colas de Listos. Un proceso largo será gradualmente llevado hacia abajo. Así pues, se favorece a los procesos m´s nuevos y cortos antes que a los m´s viejos y largos. Se usa un simple mecanismo de FIFO dentro de cada cola, excepto en la de menor prioridad, en la que se usa Round Robin.
  50. 50. ...
  51. 51. ...

×