Planificacion - diseño de sistemas operativos (2812)

Anuncio
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
Descargar