Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Interrupción o
Dispatcher
Planificador
llamada al sistema
Restaurar registros
Inactivo En ejecución
Salvar registros
Dispatcher Interrupción o
Planificador
llamada al sistema
Restaurar registros Inactivo
En ejecución
Planificador políticas
Dispatcher mecanismos
Planificador / Despachador
Planificador.
Selecciona cual de todos los procesos cargados en
memoria se encuentra listo para ejecutarse, con la
intención de asignarle el procesador.
Despachador.
Es el módulo encargado de dar el control del CPU al
proceso seleccionado por el planificador, lo que involucra:
Cambio de contexto.
Cambio a modo usuario.
Saltar a una punto específico del programa de usuario para
continuar con la ejecución.
Latencia de despacho.
Tiempo invertido por el despachador en detener un proceso y reiniciar
otro.
Objetivos
1. Ser justa
2. Elevar al máximo la producción o rendimiento
3. Aumentar al máximo el número de usuarios interactivos
4. Ser predecible
5. Reducir al mínimo el gasto extra
6. Equilibrar el aprovechamiento de recursos
7. Lograr equilibrio entre la respuesta y el aprovechamiento
8. Evitar esperas infinitas
9. Imponer prioridades
10. Dar preferencia a procesos que ocupan recursos decisivos
11. Dar mejor trato a procesos que muestren un comportamiento deseable.
12. Degradarse paulatinamente de cargas pesadas
Objetivos
1. Ser justa
Debe tratar a todos los procesos de la misma forma y no aplazar
indefinidamente ningun proceso. Se evita mediante alguna técnica
de envejecimiento.
Objetivos
31
T. Retorno
11 8 3 = 22
T. Espera + +
4 6 5 2 3 5 2 3 1 7
T. Respuesta = 0 A B C A B C A C A C
Tiempo
T. Retorno
T. Espera +
T. respuesta
4 5 2 3 1 7
6 5 2 3
A B C A B C A C A C Tiempo
T. Retorno
T. Espera + + +
T. Respuesta
4 5 2 3 1 7
6 5 2 3
A B C A B C A C A C Tiempo
4. Ser predecible
Un proceso debe ejecutarse aproximadamente en el
mismo tiempo y casi al mismo costo con independencia de
la carga del sistema.
Administracion Apropiada y No Apropiada
No apropiada
– Una vez que el CPU se le asignó al proceso, ya no se le puede
arrebatar
– Útil sistemas procesos alta prioridad requieren atención inmediata,
(sistemas tiempo real)
– Los trabajos largos atrasan a los cortos, pero el tratamiento es más
justo
Apropiada
– Al proceso se le puede arrebatar el CPU
– Útil sistemas tiempo compartido: garantizar tiempos de respuesta
aceptables
– Costo: cambio de contexto implica gasto extra
Prioridades estáticas y dinámicas
Prioridades estáticas
Prioridades estáticas no cambian
Son fáciles de llevar a la práctica
No responden a cambios en el ambiente
Prioridades dinámicas
Responden a los cambios (inanición es solucionado con una política de
envejecimiento)
Prioridad inicial tiene una duración corta, después de lo cual se ajusta a
un valor más apropiado
- Esquemas más complejos
- Gasto extra justificado: aumento en la sensibilidad del sistema
Prioridades compradas
P1 P2 P3
0 24 27 30
Tiempo de espera para P1 = 0; P2 = 24; P3 = 27
Tiempo promedio de espera: (0 + 24 + 27)/3 = 17
Tiempo promedio terminado: (24 + 27 + 30)/3 = 27
Efecto Convoy procesos largos hacen esperara a los pequeños
FCFS …
Otro ejemplo:
Supongamos que este sea el orden de llegada: P2 , P3 , P1
El diagrama de Gantt seria:
P2 P3 P1
0 3 6 30
Politica
– Cada proceso obtiene una pequeño tiempo para uso del CPU
(Quantum), usualmente 10-100 milisegundos
– Si el quantum expira, el proceso es interrumpido y enviado al final de la
cola.
Desempeño
– q es grande FCFS
– q es pequeño Excesivo gasto extra
– q debe ser lo suficiente grande para que la mayoria de los procesos
interactivos acaben en una sola racha
Ejemplo de RB con q = 20
Process Burst Time
P1 53 33 13 0
P2 08 0
P3 68 48 28 8 0
P4 24 4 0
Gantt chart: (Time Quantum = 20)
P1 P2 P3 P4 P1 P3 P4 P1 P3 P3
0 20 28 48 68 88 108 112 125 145 153
Tiempo de espera para P1=(68-20)+(112-88)=72
P2=(20-0)=20
P3=(28-0)+(88-48)+(125-108)=85
P4=(48-0)+(108-68)=88
Tiempo Promedio de espera = (72+20+85+88)/4=66¼
Tiempo promedio de terminado = (125+28+153+112)/4 = 104½
Pros and Cons:
Mejor para los procesos cortos (+)
Tiempo cambio de contexto hay que sumarlo para los procesos largos (-)
• Por lo general es 0.1ms – 1ms – alrededor de 1% de sobrecarga
Ejemplo con diferentes q
P2 P4 P1 P3
+ FCFS: [8] [24] [53] [68]
0 8 32 85 153
Quantu P1 P2 P3 P4 Promd
m
+ FCFS 32 0 85 8 31¼
Q=1 84 22 85 57 62
Tiempo
Q=5 82 20 85 58 61¼
De
Q=8 80 8 85 56 57¼
Espera
Q = 10 82 10 85 68 61¼
Q = 20 72 20 85 88 66¼
- FCFS 68 145 0 121 83½
+ FCFS 85 8 153 32 69½
Q=1 137 30 153 81 100½
Tiempo Q=5 135 28 153 82 99½
terminad Q=8 133 16 153 80 95½
o
Q = 10 135 18 153 92 99½
Q = 20 125 28 153 112 104½
- FCFS 121 153 68 145 121¾
Colas Multinivel
Tareas interactivas
Tareas de edición
Técnicas adaptativas
– Los trabajos cambian de prioridad y de cola
Consideraciones:
– El algoritmo de planificación de cada cola
– Métodos para ascender y descender entre colas
– Dónde poner inicialmente a los trabajos
+ Tareas de TR
Prioridad Quantum = 10
Quantum = 20
– FCFS
Multicolas
B
Planificación en Android
Descripción de la prioridad procesos …
Tipo Descripción
Foreground Actividad ejecutada en primer plano en la pantalla del usuario y con
Process la cuál está interactuando ahora mismo. Por lo regular son pocos
procesos de este tipo corriendo a la vez y son aquellos que se
eliminarán como última opción si la memoria es tan baja que ni
matando al resto de procesos tenemos los recursos necesarios
Visible Activity que no se está ejecutando en primer plano (es decir, su
Process método onPause() ha sido llamado). Un ejemplo puede ser la
aplicación de correo en la cuál demos click en algún enlace de
interés, este pasaría a ser el Foreground Process dejando a la
aplicación de correo en el concepto de Visible Process. Se cerrarán
únicamente cuando el sistema no tenga los recursos necesarios
para mantener corriendo todos los procesos que estén en primer
plano
Service Un Service ha sido invocado. Estan hacen cosas en segundo plano
Process que normalmente son importantes para el usuario (conexión con
servidores, actualización del GPS, reproductor de música, etc.), el
sistema nunca va a liquidar un servicio a menos que sea necesario
para mantener vivos todos los Visible y Foreground.
Descripción de la prioridad procesos
Tipo Descripción
Background Activity que actualmente no es visible por el usuario y que ya no
Process tienen demasiada importancia. Por ejemplo, los programas que
arrancó el usuario hace tiempo y no los ha vuelto a usar, pasan a
estar en background. Por eso es importante que cuando nuestra
aplicación pase a Background, el sistema libere, en la medida de lo
posible, todos los recursos que pueda para que su rendimiento sea
óptimo
Empty Es un proceso que no aloja ningún tipo de componente. Su razón
Process de ser es el de tener una caché disponible para la próxima
aplicación que lance el usuario. Es común que el sistema elimine
este tipo de procesos con frecuencia para así poder obtener
memoria disponible.
Proceso mas corto (SJF)
- Disciplina no apropiada
Cuatro tareas:
A: tiempo ejecución 8 minutos
B: tiempo ejecución 4 minutos
C: tiempo ejecución 4 minutos
D: tiempo ejecución 4 minutos
D C B A
A D C B
Tiempos regreso:
B: 4 mins, C: 8 mins, D: 12 mins, A: 20 mins
Promedio: 11 mins
Admon. por el tiempo restante más corto
(SRT)
- La contraparte de la anterior
- Util en tiempo compartido
- 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
tiempo de ejecución estimado
- También requiere estimaciones
- Implica un mayor gasto extra:
pendiente del trabajo en ejecución
manejar apropiaciones ocasionales
- Procesos pequeños se ejecutan casi de inmediato
- Procesos grandes cuentan con un tiempo promedio de espera más grande, y
tiempos de espera más variados que en SJF
SJF vs SRT
TeP1=0 TfP1=8
TeP2=7 TfP2=11 TfProm = 14.5 ms
TeP3=15 TfP3=24
TeP4=9 TfP4=14
SJF vs SRT
TeP1=9 TfP1=17
TeP2=0 TfP2=4 Tfprom = 13 ms
TeP3=15 TfP3=24
TeP4=2 TfP4=7
Por loteria
Carácter aleatorio
Cada proceso posee un “billete” de lotería
Planificador: escoge billete y selecciona al premiado
Procesos “importantes” pueden tener varios billetes
Procesos cooperantes pueden intercambiarse billetes:
Máxima :
prioridad :
Planificador 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
Planificación de Solaris
Planificacion de Solaris