1. Sistemas Operativos
Intercambio del CPU
Proceso 1 Sistema Operativo Proceso 2
En ejecución
Salvar registros Inactivo
Sistemas Operativos Profesor: Interrupción o
Dispatcher
Planificador
Your picture here llamada al sistema
Ciclo 2012-1 Diaz Muñante Jorge Restaurar registros
Inactivo En ejecución
Salvar registros
Dispatcher Interrupción o
Planificacion del Procesador Planificador
llamada al sistema
Restaurar registros Inactivo
En ejecución
Planificador políticas
Dispatcher mecanismos
Planificador / Despachador Objetivos
Planificador. 1. Ser justa
Selecciona cual de todos los procesos cargados en 2. Elevar al máximo la producción o rendimiento
memoria se encuentra listo para ejecutarse, con la 3. Aumentar al máximo el número de usuarios interactivos
intención de asignarle el procesador. 4. Ser predecible
Despachador.
5. Reducir al mínimo el gasto extra
Es el módulo encargado de dar el control del CPU al
proceso seleccionado por el planificador, lo que involucra: 6. Equilibrar el aprovechamiento de recursos
Cambio de contexto. 7. Lograr equilibrio entre la respuesta y el aprovechamiento
Cambio a modo usuario. 8. Evitar esperas infinitas
Saltar a una punto específico del programa de usuario para
continuar con la ejecución. 9. Imponer prioridades
Latencia de despacho. 10. Dar preferencia a procesos que ocupan recursos decisivos
Tiempo invertido por el despachador en detener un proceso y reiniciar
otro. 11. Dar mejor trato a procesos que muestren un comportamiento deseable.
12. Degradarse paulatinamente de cargas pesadas
Objetivos Objetivos
1. Ser justa 2. Elevar al máximo la productividad o rendimiento.
Debe tratar a todos los procesos de la misma forma y no aplazar Maximizar el numero de trabajos procesados por unidad de tiempo.
indefinidamente ningun proceso. Se evita mediante alguna técnica
de envejecimiento.
Diaz Muñante Jorge 1
2. Sistemas Operativos
Criterios de planificación Modelos de evaluacion
Uso CPU: % tiempo que la CPU está ocupada Suponer que tenemos los procesos A, B, y C, que llegan en el tiempo 0
– Tipicamente entre 40 a 90 % Nosotros deseas calcular el tiempo de respuesta, tiempo de espera y
Productividad (Throughput): Cantidad de trabajo completada por unidad tiempo de retorno del proceso A
de tiempo
– Depende la duracion de los procesos
Tiempo de retorno: Tiempo desde que se lanza un proceso para su
ejecución hasta que termina 26
T. Retorno
– Es la suma del tiempo que esta en la cola de listo, ejecución y
bloqueado 7 6 4 = 17
T. Espera + +
Tiempo de espera. Tiempo que un proceso pasa esperando en la cola de 3 5 2 3 2 4 1 4 2 3
procesos listos para ejecutar. T. Respuesta = 0 A B C A B C A C A C
Tiempo
Tiempo medio de espera. Tiempo medio que todos los procesos deben
esperar. Diagrama de Gantt : visualiza como los procesos se ejecutan
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
Modelos de evaluacion Modelos de evaluacion
Ahora deseamos calcular el tiempo de respuesta, tiempo de espera y Ahora deseamos calcular el tiempo de respuesta, tiempo de espera y
tiempo de retorno del proceso B tiempo de retorno del proceso C
T. Retorno T. Retorno
T. Espera + T. Espera + + +
T. respuesta T. Respuesta
3 5 2 3 2 4 1 4 2 3 3 5 2 3 2 4 1 4 2 3
A B C A B C A C A C Tiempo A B C A B C A C A C Tiempo
Criterios de planificación Objetivos
Concepto de “racha (burst) de CPU” de un proceso: 4. Ser predecible
– tiempo que usará la CPU hasta que se bloquea
– procesos limitados por la CPU (CPU-bound): rachas largas Un proceso debe ejecutarse aproximadamente en el
mismo tiempo y casi al mismo costo con independencia de
– procesos limitados por la E/S (I/0-bound): rachas cortas la carga del sistema.
Tipos de procesos:
– Interactivos: I/0-bound, interacción con usuarios
– De cómputo: CPU-bound, no interacción
– Con E/S pero no de usuario: I/0-bound, no interacción
– Tiempo real: garantía en tiempo de respuesta de un proceso
Tendencia general: Favorecer trabajos con rachas cortas
– Se favorece procesos interactivos
– También mejora tiempo de espera medio
• Teoría de colas: servir primero peticiones más cortas
– SS.OO. favorecen proc. con mucha E/S aunque no sea interactivo
Diaz Muñante Jorge 2
3. Sistemas Operativos
Prioridades estáticas y dinámicas
Administracion Apropiada y No Apropiada
No apropiada Prioridades estáticas
– Una vez que el CPU se le asignó al proceso, ya no se le puede Prioridades estáticas no cambian
arrebatar
Son fáciles de llevar a la práctica
– Útil sistemas procesos alta prioridad requieren atención inmediata,
(sistemas tiempo real) No responden a cambios en el ambiente
– Los trabajos largos atrasan a los cortos, pero el tratamiento es más
justo
Prioridades dinámicas
Responden a los cambios (inanición es solucionado con una política de
Apropiada envejecimiento)
– Al proceso se le puede arrebatar el CPU Prioridad inicial tiene una duración corta, después de lo cual se ajusta a
– Útil sistemas tiempo compartido: garantizar tiempos de respuesta un valor más apropiado
aceptables
- Esquemas más complejos
– Costo: cambio de contexto implica gasto extra
- Gasto extra justificado: aumento en la sensibilidad del sistema
Prioridades compradas
FCFS o PEPS
First-Come, First-Served (FCFS) o PEPS
- Debe proporcionar un servicio competente y razonable a una gran Tambien “First In, First Out” (FIFO)
• En los primeros sistemas, un proceso era planificado
comunidad de usuarios. • Hasta que finalizaba (incluyendo I/O)
• Ahora, mantiene el CPU hasta que se bloquea
Ejemplo: Proceso Tiempo Racha
- Debe manejar las situaciones en las cuales un miembro de la P1 24
comunidad necesite un trato especial P2 3
P3 3
Suponga que los procesos arriban en este orden: P1 , P2 , P3
Ell diagrama de Gantt es :
- Trabajo urgente => dispuesto a pagar extra:
comprar prioridad
P1 P2 P3
(nivel más alto de servicio)
0 24 27 30
Tiempo de espera para P1 = 0; P2 = 24; P3 = 27
Tiempo promedio de espera: (0 + 24 + 27)/3 = 17
- Pago extra obligatorio Tiempo promedio terminado: (24 + 27 + 30)/3 = 27
puede ser necesario arrebatar recursos a otros usuarios que Efecto Convoy procesos largos hacen esperara a los pequeños
también pagan
FCFS … Round Robin o por Turnos
Otro ejemplo:
Supongamos que este sea el orden de llegada: P2 , P3 , P1
El diagrama de Gantt seria: Politica
– Cada proceso obtiene una pequeño tiempo para uso del CPU
(Quantum), usualmente 10-100 milisegundos
P2 P3 P1
– Si el quantum expira, el proceso es interrumpido y enviado al final de la
cola.
0 3 6 30
Tiempo de espera para P1 = 6; P2 = 0; P3 = 3
Tiempo promedio de espera: (6 + 0 + 3)/3 = 3
Tiempo promedio de terminado: (3 + 6 + 30)/3 = 13
En el segundo caso:
Tiempo promedio de espera es mucho mejor (antes era 17) Desempeño
Tiempo promedio de terminado es mejor (antes era 27) – q es grande ⇒ FCFS
Pro y Cons :
– q es pequeño ⇒ Excesivo gasto extra
Simple (+)
Proceso corto tiene que llegar antes (-) – q debe ser lo suficiente grande para que la mayoria de los procesos
interactivos acaben en una sola racha
Diaz Muñante Jorge 3
4. Sistemas Operativos
Ejemplo con diferentes q
Ejemplo de RB con q = 20
Process Burst Time
P1 53 33 13 0 P2 P4 P1 P3
P2 08
+ FCFS: [8] [24] [53] [68]
0
P3 68 48 28 8 0 0 8 32 85 153
P4 24 4 0 Quantu P1 P2 P3 P4 Promd
Gantt chart: (Time Quantum = 20) m
+ FCFS 32 0 85 8 31¼
Q=1 84 22 85 57 62
P1 P2 P3 P4 P1 P3 P4 P1 P3 P3 Tiempo
Q=5 82 20 85 58 61¼
De
0 20 28 48 68 88 108 112 125 145 153 Q=8 80 8 85 56 57¼
Espera
Q = 10 82 10 85 68 61¼
Tiempo de espera para P1=(68-20)+(112-88)=72
Q = 20 72 20 85 88 66¼
P2=(20-0)=20
P3=(28-0)+(88-48)+(125-108)=85 - FCFS 68 145 0 121 83½
P4=(48-0)+(108-68)=88 + FCFS 85 8 153 32 69½
Tiempo Promedio de espera = (72+20+85+88)/4=66¼ Q=1 137 30 153 81 100½
Tiempo promedio de terminado = (125+28+153+112)/4 = 104½ Tiempo Q=5 135 28 153 82 99½
Pros and Cons: terminad Q=8 133 16 153 80 95½
Mejor para los procesos cortos (+) o
Q = 10 135 18 153 92 99½
Tiempo cambio de contexto hay que sumarlo para los procesos largos (-) Q = 20 125 28 153 112 104½
• Por lo general es 0.1ms – 1ms – alrededor de 1% de sobrecarga
- FCFS 121 153 68 145 121¾
Colas Multinivel Planificación con colas multinivel
Colas multinivel realimentadas
Objetivo: Diferenciar entre distintos tipos de trabajos Técnicas adaptativas
Existen colas separadas en función del tipo de trabajo – Los trabajos cambian de prioridad y de cola
Cada cola tiene su propio algoritmo de planificación Consideraciones:
Debe existir otro algoritmo para elegir la cola en cada momento – El algoritmo de planificación de cada cola
– Métodos para ascender y descender entre colas
Prioridad alta Tareas del sistema
– Dónde poner inicialmente a los trabajos
+ Tareas de TR
Tareas interactivas
Prioridad Quantum = 10
Tareas de edición
Quantum = 20
Prioridad baja Tareas batch
FCFS
–
Multicolas Proceso mas corto (SJF)
- Disciplina no apropiada
- Se ejecuta primero el proceso en espera que tiene el menor tiempo estimado
de ejecución hasta terminar
- Reduce el tiempo de espera promedio de PEPS
- Favorece procesos cortos a expensas de los largos
- Selecciona procesos asegurandose que el siguiente proceso se completará
y saldrá del sistema lo antes posible
- Conocimiento tiempo de ejecución de un proceso:
se basa en los tiempos de ejecución estimados por el usuario (
PELIGRO!!!!!)
- No resulta útil en sistemas de tiempo compartido
Diaz Muñante Jorge 4
5. Sistemas Operativos
Ejemplo del algoritmo Admon. por el tiempo restante más corto
(SRT)
Cuatro tareas:
A: tiempo ejecución 8 minutos
B: tiempo ejecución 4 minutos - La contraparte de la anterior
C: tiempo ejecución 4 minutos
- Util en tiempo compartido
D: tiempo ejecución 4 minutos
D C B A - El proceso con el menor tiempo estimado de ejecución para terminar es el
primero en ejecutarse, (incluyendo procesos nuevos)
- Un proceso en ejecución puede ser desposeído por uno nuevo con menor
Tiempos regreso, ejecución en ese orden: tiempo de ejecución estimado
A: 8 mins, B: 12 mins, C: 16 mins, D: 20 mins
Promedio: 14 mins - También requiere estimaciones
- Implica un mayor gasto extra:
Cambiando el orden, (más corto primero):
pendiente del trabajo en ejecución
A D C B
manejar apropiaciones ocasionales
Tiempos regreso: - Procesos pequeños se ejecutan casi de inmediato
B: 4 mins, C: 8 mins, D: 12 mins, A: 20 mins
- Procesos grandes cuentan con un tiempo promedio de espera más grande, y
Promedio: 11 mins tiempos de espera más variados que en SJF
SJF vs SRT SJF vs SRT
SJF (Proceso mas corto)
Proceso Tiempo Llegada Uso CPU
P1 0 8 P1=8 P2=4 P4=5 P3=9
P2 1 4 0 1 2 3 8 12 17 26
P3 2 9
P2 Cola de listo = (P2)
P4 3 5 P3 Cola de listo = (P2,P3)
P4 Cola de listo = (P2,P4,P3)
TeP1=0 TfP1=8
TeP2=7 TfP2=11 TfProm = 14.5 ms
TeP3=15 TfP3=24
TeP4=9 TfP4=14
SJF vs SRT Por loteria
SRT (Tiempo restante mas corto) Carácter aleatorio
P1=8 P2=4 P4=5 P1=7 P3=9 Cada proceso posee un “billete” de lotería
0 1 23 5 10 17 26 Planificador: escoge billete y selecciona al premiado
Procesos “importantes” pueden tener varios billetes
P2 Cola de listo = (P1)
Procesos cooperantes pueden intercambiarse billetes:
P3 Cola de listo = (P1,P3)
P4 Cola de listo = (P4,P1,P3) – Proceso cliente una vez hecha la petición puede
ceder sus billetes al servidor
TeP1=9 TfP1=17
TeP2=0 TfP2=4 Tfprom = 13 ms
TeP3=15 TfP3=24
TeP4=2 TfP4=7
Diaz Muñante Jorge 5
6. Sistemas Operativos
Planificación Procesos Unix Procesos Unix … cont..
Diseñado para dar una buena respuesta a los procesos interactivos Bajo nivel utiliza varias colas, cada cola esta asociada a un
Algoritmo de dos niveles: valor de prioridad
bajo nivel : elige dentro del conjunto de procesos en memoria y Procesos a ejecutar en modo usuario tienen valores positivos
listos para ejecutarse
alto nivel : desplaza los procesos entre la memoria y el disco,
Proceso en modo núcleo tienen valores negativos
(procesos tiene oportunidad de estar en memoria y ejecutarse). Valores negativos tienen máxima prioridad, y positivos
tienen la mínima
En las colas se encuentran sólo los procesos que estan en
memoria listos para su ejecución.
Procesos Unix … cont.. Procesos Unix … cont..
Admon. busca colas que comienzan en máxima prioridad: Cada segundo se vuelven a calcular prioridades procesos:
– - elige primer proceso cola y lo incia – se dividen entre 2 los contadores de uso CPU (procesos
– - permite ejecución durante un quantum, (~ no tienen castigo por uso anterior CPU)
100mseg) – se calcula la prioridad de cada proceso:
Si proceso agota su quantum: Nueva prioridad = base + uso CPU
– se coloca al final de la cola En general base=0
– se ejecuta el algoritmo de planificación de nuevo – usuario que prefiera un servicio peor que el normal:
asignarle valor positivo mediante llamada nice()
– procesos con igual prioridad comparten CPU con
un algoritmo de round-robin – solo un superusuario puede pedir un servicio mejor
Procesos Unix … cont.. Planificacion del cpu - UNIX
Mínima procesos formados en el
Cuando proceso se bloquea porque espera un resultado de una llamada prioridad nivel de prioridad 3
de sistema, se le elimina de la cola puesto que no se puede ejecutar: :
:
– - ocurre el evento: se le coloca en una cola con procesos en
3 Prioridad del usuario 3 modo usuario
valor negativo 2 Prioridad del usuario 2 en espera
1 Prioridad del usuario 1
– - idea: sacar procesos del núcleo de manera
0 Prioridad del usuario 0
rápida
-1 En espera del hijo para concluir
-2 En espera de la salida de la terminal
-3 En espera de la entrada de la terminal
procesos en
-4 En espera del buffer del disco modo núcleo
-5 En espera de E/S del disco en espera
Máxima :
prioridad :
Diaz Muñante Jorge 6
7. Sistemas Operativos
Planificador de Solaris Planificación de Solaris
Prioridad Quantum Expira Regresa de
Quantum bloqueado
0 200 0 50
5 200 0 50
10 160 0 51
15 160 5 51
20 120 10 52
25 120 15 52
30 80 20 53
35 80 25 54
40 40 30 55
45 40 35 56
50 40 40 57
55 40 45 58
59 20 49 59
Planificacion de Solaris Planificacion de Solaris
Basada en prioridades. 4 clases: Los procesos interactivos suelen tener la prioridad más alta,
– 1. Tiempo real los procesos limitados por al CPU tienen la prioridad más
baja. Esta política de planificación proporciona un buen
– 2. Sistema tiempo de respuesta para los procesos interactivos y una
– 3. Tiempo compartido buena tasa de procesamiento para la clase de tiempo
compartido.
– 4. Interactiva.
La clase predeterminada es la de tiempo compartido.
– modifica dinámicamente las prioridades y asigna Q de
diferente duración usando colas multinivel realimentadas.
– Existe una relación inversa entre las prioridades y los Q.
Cuando más alta sea la prioridad, más pequeño será el Q y
cuando menor sea la prioridad, más larga será la franja.
Diaz Muñante Jorge 7