Apunte de la clase de scheduling

Anuncio
Apunte de la clase de scheduling
Sistemas operativos
Verano - 2009
1.
Comparando schedulers
Usaremos los siguientes procesos:
Proceso
P1
P2
P3
P4
P5
Procesamiento
40 ms
20 ms
70 ms
10 ms
30 ms
Llegada
0 ms
0 ms
30 ms
40 ms
60 ms
Prioridad
2
2
1
3
2
Graficaremos el uso del procesador según pasa el tiempo para distintos tipos de scheduler.
También calcularemos el tiempo de espera promedio. El tiempo de espera de una tarea es la cantidad de
tiempo que pasa desde que una tarea “llega” al sistema hasta que recibe el procesador. En caso de que una
tarea sea desalojada (por ejemplo en round robin o en prioridades con desalojo), debe también considerarse como
tiempo de espera aquel tiempo que pasa desde que la tarea es desalojada hasta que vuelve a recibir el procesador.
1.1.
FIFO (first in first out)
También conocido como FCFS (first come first served ). Se trata de una simple cola de procesos listos, los
cuales se ejecutan en orden de llegada. La ejecución de cada proceso se realiza hasta que éste termina, sin ningún
tipo de interrupción.
Tiempo de espera promedio para FIFO:
P1
P2
P3
P4
P5
z}|{ z}|{ z}|{ z}|{ z}|{
0 + 40 + 30 + 90 + 80
= 48
5
1.2.
SJF (shortest job first)
Se tiene un conjunto de procesos listos. Se ejecuta primero el que requiera menor tiempo de ejecución. No
hay ningún tipo de desalojo; cada proceso ejecuta hasta terminar.
Tiempo de espera promedio para SJF:
P1
P2
P3
P4
P5
z}|{ z}|{ z}|{ z}|{ z}|{
20 + 0 + 70 + 20 + 10
= 24
5
1
Figura 1: FIFO
Figura 2: SJF
1.3.
SRT (shortest remaining time)
Tal como en SJF, se tiene un conjunto de procesos listos y se ejecuta el que requiera menor tiempo de
ejecución. Si ingresa un nuevo proceso listo mientras se está ejecutando otro, se evalúa cuánto le queda al proceso
actual por terminar y cuánto requiere el proceso nuevo. Si el proceso recién ingresado requiere menos, se desaloja
al proceso actual y se ejecuta al recién llegado. Tener en cuenta que para realizar todos los cálculos se usa el
tiempo que resta para finalizar la ejecución, el cual se calcula restándole el tiempo que ya se ejecutó un
proceso a su tiempo total requerido (dado en la tabla).
Tiempo de espera promedio para SRT:
P1
P2
P3
P4
P5
z }| { z}|{ z}|{ z}|{ z}|{
20 + 10 + 0 + 70 + 0 + 10
' 18,33
6
2
Figura 3: SRT
1.4.
Round robin
En un esquema round robin se tiene una cola de procesos listos y una ventana de tiempo llamada quantum.
Se ejecuta el primer proceso de la cola hasta que este termine o se agote su quantum, lo que suceda primero. Si
el proceso no terminó su ejecución se lo ubica al final de la cola y se prosigue con el siguiente proceso.
Figura 4: Round Robin con un quantum de 10 ms
Tiempo de espera promedio para RR con quantum de 10 ms:
P1
P2
P3
P4
P5
z
}|
{ z }| { z
}|
{ z}|{ z
}|
{
0 + 10 + 10 + 20 + 10 + 10 + 20 + 20 + 10 + 10 + 10 + 20 + 30 + 10 + 10
' 13,33
15
Tiempo de espera promedio para RR con quantum de 20 ms:
P1
P2
P3
P4
P5
z }| { z}|{ z
}|
{ z}|{ z }| {
0 + 20 + 20 + 30 + 30 + 10 + 40 + 30 + 20
' 22,22
9
3
Figura 5: Round Robin con un quantum de 20 ms
Figura 6: Round Robin con un quantum de 50 ms
Tiempo de espera promedio para RR con quantum de 50 ms:
P1
P2
P3
P4
P5
z}|{ z}|{ z }| { z}|{ z}|{
0 + 40 + 30 + 40 + 70 + 60
= 40
6
1.5.
Prioridades sin desalojo
Cada proceso tiene una prioridad dada por un número; cuanto menor el número, mayor prioridad. Se tiene
un conjunto de procesos listos. Se ejecuta de todos ellos, el de mayor prioridad1 . No hay desalojo.
Tiempo de espera promedio para prioridades sin desalojo:
P1
P2
P3
P4
P5
z}|{ z}|{ z}|{ z}|{ z}|{
0 + 40 + 30 + 120 + 70
= 52
5
1 En
caso de haber más de uno, se desempata usando otro criterio, por ejemplo, orden de llegada (FIFO).
4
Figura 7: Prioridades sin desalojo
1.6.
Prioridades con desalojo
Similar al esquema anterior. La diferencia radica en que si arriba al sistema un nuevo proceso cuya prioridad
es mayor al proceso en ejecución, se desaloja éste y se ubica en su lugar al proceso recién llegado.
Figura 8: Prioridades con desalojo
Tiempo de espera promedio para prioridades con desalojo:
P1
P2
P3
P4
P5
z }| { z}|{ z}|{ z}|{ z}|{
0 + 90 + 100 + 0 + 120 + 70
' 63,33
6
5
2.
2.1.
Diseño de schedulers de uso especı́fico
iCHONG
El nuevo iCHONG es un teléfono de última generación. A sus usuarios les encanta jugar juegos, leer documentos o sacar fotos, sin embargo es vital que si ingresa una llamada mientras se realizan una de estas tareas,
la misma sea recibida correctamente y de forma inmediata. Al finalizar la llamada el usuario prosigue con lo que
estaba haciendo, como si nada hubiera sucedido.
Diseñar un scheduler que contemple estas restricciones.
¿Es necesario que un proceso del sistema operativo chequee si hay nuevas llamadas entrantes a intervalos
regulares? Si su solución involucraba este mecanismo, mejórela para evitar el uso innecesario del procesador.
Tips para la solución: ¿La solución requiere un scheduler apropiativo o uno cooperativo? Para la segunda
parte, recordar el taller de IPC y las formas de evitar la espera activa.
6
Descargar