15

2.5 Niveles, objetivos y criterios de planificación

  • Upload
    moral

  • View
    77

  • Download
    0

Embed Size (px)

DESCRIPTION

2.5 Niveles, objetivos y criterios de planificación. NIVELES DE PLANIFICACIÓN La planificación es el proceso por el cual el sistema operativo selecciona que proceso ejecutar. La selección del proceso se basa en alguno de los algoritmos de planificación. - PowerPoint PPT Presentation

Citation preview

Page 1: 2.5 Niveles, objetivos y criterios de planificación
Page 2: 2.5 Niveles, objetivos y criterios de planificación

2.5 Niveles, objetivos y criterios deplanificación.

• NIVELES DE PLANIFICACIÓN

• La planificación es el proceso por el cual el sistema operativo selecciona que proceso ejecutar. La selección del proceso se basa en alguno de los algoritmos de planificación.

• • La planificación de la CPU, en el sentido de conmutarla entre los distintos procesos, es una de las

funciones del sistema operativo. Este despacho es llevado a cabo por un pequeño programa llamado planificador a corto plazo o dispatcher (despachador). La misión del dispatcher consiste en asignar la CPU a uno de los procesos ejecutables del sistema, para ello sigue un determinado algoritmo.

Los acontecimientos que pueden provocar la llamada al dispatcher dependen del sistema (son un subconjunto de las interrupciones), pero son alguno de estos:

• • El proceso en ejecución acaba su ejecución o no puede seguir ejecutándose (por una E/S, operación

WAIT, etc).• Un elemento del sistema operativo ordena el bloqueo del proceso en ejecución

El proceso en ejecución agota su cuantum o cuanto de estancia en la CPU.• Un proceso pasa a estado listo.

Page 3: 2.5 Niveles, objetivos y criterios de planificación

• PLANIFICACIÓN A LARGO PLAZO• Este planificador está presente en algunos sistemas que admiten además de procesos

interactivos trabajos por lotes. Usualmente, se les asigna una prioridad baja a los trabajos por lotes, utilizándose estos para mantener ocupados a los recursos del sistema durante períodos de baja actividad de los procesos interactivos.

• Normalmente, los trabajos por lotes realizan tareas rutinarias como el cálculo de nóminas; en este tipo de tareas el programador puede estimar su gasto en recursos, indicándoselo al sistema. Esto facilita el funcionamiento del planificador a largo plazo.

• El objetivo primordial del planificador a largo plazo es el de dar al planificador de la

CPU una mezcla equilibrada de trabajos, tales como los limitados por la CPU (utilizan mucho la CPU) o la E/S.

Page 4: 2.5 Niveles, objetivos y criterios de planificación

• - PLANIFICACIÓN A MEDIANO PLAZO• En los sistemas de multiprogramación y tiempo

compartido varios procesos residen en la memoria principal. El tamaño limitado de ésta hace que el número de procesos que residen en ella sea finito. Puede ocurrir que todos los procesos en memoria estén bloqueados, desperdiciándose así la CPU. En algunos sistemas se intercambian procesos enteros (swap) entre memoria principal y memoria secundaria (normalmente discos), con esto se aumenta el número de procesos, y, por tanto, la probabilidad de una mayor utilización de la CPU.

Page 5: 2.5 Niveles, objetivos y criterios de planificación

• OBJETIVOS Y CRITERIOS DE PLANIFICACIÓN• Los objetivos del planificador se resumen en:

a) Reparto equitativo del tiempo de procesadorb) Eficiencia en el uso del procesadorc) Menor tiempo de respuesta en uso interactivod) Cumplir plazos de ejecución de los sistemas de tiempo real

Page 6: 2.5 Niveles, objetivos y criterios de planificación

• Las disciplinas de planificación pueden ser: •

• Expropiativas• No expropiativas

•Se denomina planificador al software del sistema operativo encargado de asignar los recursos de un sistema entre los procesos que los solicitan.

• Siempre que haya tomar una decisión, el planificador debe decidir cuál de los procesos que compiten por la posesión de un determinado recursos lo recibirá.

2.6 Técnicas de administración delplanificador.

Page 7: 2.5 Niveles, objetivos y criterios de planificación

• Los algoritmos (técnicas) tienen distintas propiedades según los criterios en los que se basen para su construcción, lo cual se refleja en qué tipo de procesos se puede ver favorecido frente a otro en la disputa del procesador.

• Antes de realizar la elección de un algoritmo se debe considerar las propiedades de estos frente al criterio de diseño elegido. Algunos de estos son:

•a) Eficacia: Se expresa como un porcentaje del tiempo medio de utilización. Aunque puede parecer lógico intentar mantener este parámetro próximo al 100%, con un valor tan elevado otros aspectos importante de medida del comportamiento del sistema pueden verse deteriorados, como por ejemplo el tiempo medio de espera.

•b) Rendimiento: Es una medida del numero de procesos completados por unidad de tiempo. Por ejemplo 10 procesos por segundo.

Page 8: 2.5 Niveles, objetivos y criterios de planificación

• c) Tiempo de retorno o regreso: Es el intervalo de tiempo que transcurre desde que un proceso se crea o presenta hasta que completa por el sistema.

•d) Tiempo de espera: Es el tiempo que el proceso espera hasta que se le concede el procesador. Puede resultar una medida mas adecuada de la eficiencia del sistema, ya que se elimina de la media el tiempo que tarda en ejecutarse el mismo.

•e) Tiempo de respuesta a un evento: Se denomina así el intervalo de tiempo que transcurre desde que se señala un evento hasta que se ejecuta la primera instrucción de la rutina de servicio de dicho evento. El criterio de selección de un algoritmo se suele basar en la maximización o minimización de una función de los parámetros anteriores.

Page 9: 2.5 Niveles, objetivos y criterios de planificación

2.6.1 FIFO

• FIFO es el acrónimo inglés de First In, First Out (primero en entrar, primero en salir). Un sinónimo de FIFO es FCFS, acrónimo inglés de First Come First Served ( primero en llegar, primero en ser servido). Es un método utilizado en estructuras de datos, contabilidad de costes y teoría de colas. Guarda analogía con las personas que esperan en una cola y van siendo atendidas en el orden en que llegaron, es decir, que la primera persona que entra es la primera persona que sale.

• Esquema de funcionamiento de una cola FIFO.FIFO se utiliza en estructuras de datos para implementar colas. La implementación puede efectuarse con ayuda de arrays o vectores, o bien mediante el uso de punteros y asignación dinámica de memoria.

Page 10: 2.5 Niveles, objetivos y criterios de planificación

• FIFO: First In First Out

Mecanismo de scheduling en el cual los procesos se ordenan en una fila, en la cual se ejecutan cada uno de los procesos hasta su finalización secuencialmente. Es tremendamente ineficiente.

Cuando se tiene que elegir a qué proceso asignar la CPU se escoge al que llevara más tiempo listo. El proceso se mantiene en la CPU hasta que se bloquea voluntariamente.

Para implementar el algoritmo sólo se necesita mantener una cola con los procesos listos ordenada por tiempo de llegada. Cuando un proceso pasa de bloqueado a listo se sitúa el último de la cola.

Page 11: 2.5 Niveles, objetivos y criterios de planificación

• Al igual que en el algoritmo FIFO las ráfagas se ejecutan sin interrupción, por tanto, sólo es útil para entornos batch. Su característica es que cuando se activa el planificador, éste elige la ráfaga de menor duración. Es decir, introduce una noción de prioridad entre ráfagas.

Hay que recordar que en los entornos batch se pueden hacer estimaciones del tiempo de ejecución de los procesos. La ventaja que presenta este algoritmo sobre el algoritmo FIFO es que minimiza el tiempo de finalización promedio, como puede verse en el siguiente ejemplo:

Supongamos que en un momento dado existen tres ráfagas listos R1, R2 y R3, sus tiempos de ejecución respectivos son 24, 3 y 3 ms. El proceso al que pertenece la ráfaga R1 es la que lleva más tiempo ejecutable, seguido del proceso al que pertenece R2 y del de R3.

•FIFO F = (24 + 27 + 30) / 3 = 27 ms.• SJF F = (3 + 6 + 30) / 3 = 13 ms.

2.6.2 SJF

Page 12: 2.5 Niveles, objetivos y criterios de planificación

• Cada proceso tiene asignado un intervalo de tiempo de ejecución, llamado cuantum o cuanto. Si el proceso agota su cuantum de tiempo, se elige a otro proceso para ocupar la CPU. Si el proceso se bloquea o termina antes de agotar su cuantum también se alterna el uso de la CPU.

•El round robin es muy fácil de implementar. Todo lo que necesita el planificador es mantener una lista de los procesos listos.

2.6.3 RR

Page 13: 2.5 Niveles, objetivos y criterios de planificación

• Round robin es un método para seleccionar todos los elementos en un grupo de manera equitativa y en un orden racional, normalmente comenzando por el primer elemento de la lista hasta llegar al último y empezando de nuevo desde el primer elemento. El nombre del algoritmo viene del principio de Round-Roubin conocido de otros campos, donde cada persona toma una parte de un algo compartido en cantidades parejas.

• Una forma sencilla de entender el round robin es imaginar una secuencia para "tomar turnos". En operaciones computacionales, un método para ejecutar diferentes procesos de manera concurrente, para la utilización equitativa de los recursos del equipo, es limitando cada proceso a un pequeño período (quantum), y luego suspendiendo éste proceso para dar oportunidad a otro proceso y así sucesivamente. A esto se le denomina comúnmente como Planificación Round-Robin.

Page 14: 2.5 Niveles, objetivos y criterios de planificación

• Un algoritmo de planificación multinivel particiona la cola de listos en colas separadas. Se asignan en forma permanente los trabajos a una cola, generalmente, basándose en alguna propiedad del mismo (requerimientos de memoria, tipo de trabajo), teniendo cada cola su propio algoritmo. Por ejemplo, la cola interactiva podría planificarse usando RR y la batch FIFO.

•Ningún trabajo en una cola de baja prioridad puede ejecutarse si las colas con mayor prioridad no están vacías. Si algún trabajo entra en una cola de mayor prioridad, el trabajo de otras colas es interrumpido.

2.6.4 Queves multi-level.

Page 15: 2.5 Niveles, objetivos y criterios de planificación

• En colas multinivel realimentadas los trabajos pueden moverse dentro de distintas colas. La idea es separar procesos con distintos tipos de interrupciones de la CPU. Si un trabajo consume mucho tiempo de CPU, será movido a una cola con menor prioridad.

• En forma similar, si un proceso espera demasiado tiempo en una cola de baja prioridad, lo moveremos a una cola de mayor prioridad.

•En general un planificador de este tipo esta definido por los siguientes parámetros:

• 1. El número de colas. • 2. El tipo de algoritmo de planificación de cada cola. • 3. Un método de determinación de cuando mover un trabajo a una cola de mayor

prioridad. • 4. Un método de determinación de cuando mover un trabajo a una cola de menor

prioridad. • 5. Un método de determinación de a qué cola se enviará un trabajo cuando

necesita servicio.

2.6.5 Multi-level feedback queves.