Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Prioridad
Multicolas
A
B
- Disciplina no apropiada
- Se ejecuta primero el proceso en espera que tiene el menor tiempo estimado
de ejecucin 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 ejecucin de un proceso:
se basa en los tiempos de ejecucin estimados por el usuario (
PELIGRO!!!!!)
- No resulta til en sistemas de tiempo compartido
Proceso mas corto (SJF)
Sistemas Operativos
Diaz Muante Jorge 9
Cuatro tareas:
A: tiempo ejecucin 8 minutos
B: tiempo ejecucin 4 minutos
C: tiempo ejecucin 4 minutos
D: tiempo ejecucin 4 minutos
D C B A
Tiempos regreso, ejecucin en ese orden:
A: 8 mins, B: 12 mins, C: 16 mins, D: 20 mins
Promedio: 14 mins
Cambiando el orden, (ms corto primero):
D C B A
Tiempos regreso:
B: 4 mins, C: 8 mins, D: 12 mins, A: 20 mins
Promedio: 11 mins
Ejemplo del algoritmo
Admon. por el tiempo restante ms corto
(SRT)
- La contraparte de la anterior
- Util en tiempo compartido
- El proceso con el menor tiempo estimado de ejecucin para terminar es el
primero en ejecutarse, (incluyendo procesos nuevos)
- Un proceso en ejecucin puede ser desposedo por uno nuevo con menor
tiempo de ejecucin estimado
- Tambin requiere estimaciones
- Implica un mayor gasto extra:
pendiente del trabajo en ejecucin
manejar apropiaciones ocasionales
- Procesos pequeos se ejecutan casi de inmediato
- Procesos grandes cuentan con un tiempo promedio de espera ms grande, y
tiempos de espera ms variados que en SJF
SJF vs SRT
Proceso Tiempo Llegada Uso CPU
P1 0 8
P2 1 4
P3 2 9
P4 3 5
Sistemas Operativos
Diaz Muante Jorge 10
SJF vs SRT
P1=8 P2=4 P4=5 P3=9
0 1 2 3 8
P2 Cola de listo = (P2)
SJF (Proceso mas corto)
TeP1=0
TeP2=7
TeP3=15
TeP4=9
TfP1=8
TfP2=11
TfP3=24
TfP4=14
12 17 26
P3 Cola de listo = (P2,P3)
P4 Cola de listo = (P2,P4,P3)
TfProm = 14.5 ms
SJF vs SRT
P1=8 P2=4 P4=5 P3=9
0 1
P2 Cola de listo = (P1)
SRT (Tiempo restante mas corto)
TeP1=9
TeP2=0
TeP3=15
TeP4=2
TfP1=17
TfP2=4
TfP3=24
TfP4=7
10 17 26
P3 Cola de listo = (P1,P3)
P4 Cola de listo = (P4,P1,P3)
P1=7
2 3 5
Tfprom = 13 ms
Por loteria
Carcter aleatorio
Cada proceso posee un billete de lotera
Planificador: escoge billete y selecciona al premiado
Procesos importantes pueden tener varios billetes
Procesos cooperantes pueden intercambiarse billetes:
Proceso cliente una vez hecha la peticin puede
ceder sus billetes al servidor
Sistemas Operativos
Diaz Muante Jorge 11
Planificacin Procesos Unix
Diseado para dar una buena respuesta a los procesos interactivos
Algoritmo de dos niveles:
bajo nivel : elige dentro del conjunto de procesos en memoria y
listos para ejecutarse
alto nivel : desplaza los procesos entre la memoria y el disco,
(procesos tiene oportunidad de estar en memoria y ejecutarse).
Procesos Unix cont..
Bajo nivel utiliza varias colas, cada cola esta asociada a un
valor de prioridad
Procesos a ejecutar en modo usuario tienen valores positivos
Proceso en modo ncleo tienen valores negativos
Valores negativos tienen mxima prioridad, y positivos
tienen la mnima
En las colas se encuentran slo los procesos que estan en
memoria listos para su ejecucin.
Procesos Unix cont..
Admon. busca colas que comienzan en mxima prioridad:
- elige primer proceso cola y lo incia
- permite ejecucin durante un quantum, (~
100mseg)
Si proceso agota su quantum:
se coloca al final de la cola
se ejecuta el algoritmo de planificacin de nuevo
procesos con igual prioridad comparten CPU con
un algoritmo de round-robin
Sistemas Operativos
Diaz Muante Jorge 12
Procesos Unix cont..
Cada segundo se vuelven a calcular prioridades procesos:
se dividen entre 2 los contadores de uso CPU (procesos
no tienen castigo por uso anterior CPU)
se calcula la prioridad de cada proceso:
Nueva prioridad = base + uso CPU
En general base=0
usuario que prefiera un servicio peor que el normal:
asignarle valor positivo mediante llamada nice()
solo un superusuario puede pedir un servicio mejor
Procesos Unix cont..
Cuando proceso se bloquea porque espera un resultado de una llamada
de sistema, se le elimina de la cola puesto que no se puede ejecutar:
- ocurre el evento: se le coloca en una cola con
valor negativo
- idea: sacar procesos del ncleo de manera
rpida
Mxima
prioridad
Mnima
prioridad
Prioridad del usuario 3
Prioridad del usuario 2
Prioridad del usuario 1
Prioridad del usuario 0
En espera del hijo para concluir
En espera de la salida de la terminal
En espera de la entrada de la terminal
En espera del buffer del disco
En espera de E/S del disco
:
:
:
:
3
2
1
-5
0
-4
-3
-2
-1
procesos en
modo usuario
en espera
procesos en
modo ncleo
en espera
procesos formados en el
nivel de prioridad 3
Planificacion del cpu - UNIX
Sistemas Operativos
Diaz Muante Jorge 13
Planificador de Solaris
Prioridad Quantum Expira
Quantum
Regresa de
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
Planificacin de Solaris
Planificacion de Solaris
Basada en prioridades. 4 clases:
1. Tiempo real
2. Sistema
3. Tiempo compartido
4. Interactiva.
La clase predeterminada es la de tiempo compartido.
modifica dinmicamente las prioridades y asigna Q de
diferente duracin usando colas multinivel realimentadas.
Existe una relacin inversa entre las prioridades y los Q.
Cuando ms alta sea la prioridad, ms pequeo ser el Q y
cuando menor sea la prioridad, ms larga ser la franja.
Sistemas Operativos
Diaz Muante Jorge 14
Planificacion de Solaris
Los procesos interactivos suelen tener la prioridad ms alta,
los procesos limitados por al CPU tienen la prioridad ms
baja. Esta poltica de planificacin proporciona un buen
tiempo de respuesta para los procesos interactivos y una
buena tasa de procesamiento para la clase de tiempo
compartido.