Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Proceso TR CPU
P1 22
P2 7
P3 3
P1 P2 P3
0 22 29 32
TEP= (0+22+29)/3 =17 ms
Algoritmo SJF
Shortest job first; este algoritmo asigna a la CPU el proceso
con la ráfaga de CPU más corta.
Si existen dos o más procesos con la ráfaga de CPU iguales
se aplica FIFO entre ellos.
Se reduce el tiempo de espera medio
Proceso TR CPU
P1 5
P2 10
P3 3
P4 6
P3 P1 P4 P2
0 3 8 14 24
TEP= (3+14+0+8)/4 =6.25 ms
Algoritmo SJF
La planificación SJF se usa frecuentemente como mecanismo de
planificación a largo plazo pero eso no implica que no se pueda utilizar
como mecanismo de planificación a corto plazo.
Es complicado implementar en el nivel de la planificación de la CPU, ya
que es muy difícil conocer la duración de la siguiente ráfaga de CPU y
un método para implementar sería predecir su valor.
Puede ser cooperativo y apropiativo
Si utilizamos un algoritmo apropiativo; en el caso que llegue a la cola de
listos un proceso que tiene menor tiempo de CPU que lo que le falta por
ejecutarse al proceso que actualmente se encuentra en la CPU, entonces
se detendrá el proceso en ejecución para dar paso al proceso que llega a
la cola (interrupción).
Si utilizamos un algoritmo cooperativo o sin desalojo, el sistema dejará
que el proceso actualmente en la CPU termine de ejecutarse para luego
planificar el que llegó a la cola.
La Planificación SJF apropiativa también se denomina Planificación
con selección del proceso con tiempo restante más corto.
Algoritmo SJF apropiativo
Proceso Tiempo de TR CPU (ms)
llegada (ms)
P1 0 6
P2 2 3
P3 4 5
P4 5 8
P1 P2 P1 P3 P4
0 2 5 9 14 22
TEP= (5-2-0)+(2-2)+(9-4)+(14-5)/4 = 4,25 ms
TEP= ?
TEjeP=?
Algoritmo SJF apropiativo
Proceso Tiempo de TR CPU O E/S (ms Duración
llegada (ms) de
(ms) ejecución)
P1 3 2 1 3
P2 9 5
P3 0 6 4 6
P4 8 8
P5 2 3 2 5
P6 6 4 2 4
TEP= ?
TEjeP=?
Algoritmo SJF apropiativo
Proceso Tiempo TR CPU O E/S Duración
de (ms) (ms de
llegada ejecució
(ms) n)
P1 7 5
P2 3 3 2 3
P3 0 8 5 4
P4 11 4 2 5
P5 4 1
P6 14 6 3 2
P7 6 4
P8 15 5
TEP= ?
TEjeP=?
Algoritmo por Prioridades
El algoritmo SJF es un algoritmo de prioridades, porque asigna una prioridad al
proceso con ráfaga de CPU más corta.
A cada proceso se le asigna una prioridad y pasará a la CPU a ejecutarse el
proceso con la prioridad más alta.
Los procesos que tengan la misma prioridad se planifican como FCFS
Los números bajos serán prioridad alta los números altos serán prioridad baja.
(0 - 10)
Proceso TR CPU Prioridad
P1 4 3
P2 3 1
P3 7 2
P4 5 4
P2 P3 P1 P4
0 3 10 14 19
TEP= (10+0+3+14)/4 =6.75 ms
Algoritmo Prioridades apropiativo
Puede ser Cooperativo o Apropiativo
Si utilizamos un algoritmo apropiativo, en el caso que un proceso
llegue a la cola de listos y su prioridad es mayor que la del proceso
que actualmente se encuentra ejecutándose, entonces se expulsará
al proceso que se encuentra en la CPU para dar el control al proceso
con mayor prioridad
Si utilizamos un algoritmo cooperativo, simplemente el proceso que
llega se pondrá en la cola y esperará su planificación.
El problema que surge en este tipo de algoritmo es el bloqueo
indefinido o muerte por inanición, esto sucede cuando un
proceso de baja prioridad puede quedar indefinidamente
esperando que se le asigne la CPU.
Una solución a este problema es el envejecimiento, consiste en
aumentar gradualmente la prioridad de los procesos que estén
esperando en el sistema durante mucho tiempo
Algoritmo por prioridades
apropiativo
Proceso Tiempo R. CPU Priorida O E/S Duració
de (ms) d (ms) n (ms)
Llegada
(ms)
P1 4 4 1 2 5
3 3
P2 0 8 3
P3 16 4 1 2 4
P4 2 5 2 1 4
P5 8 7 2 3 2
P6 5 6 1 2 4
P7 9 3 1
TEP= ?
TEjeP=?
Algoritmo por prioridades
apropiativo
Proceso Tiempo R. CPU Priorida O E/S Duració
de (ms) d (ms) n (ms)
Llegada
(ms)
P1 5 4 1
P2 16 3 2
P3 3 8 3 2 4
4 3
P4 7 5 1
P5 0 6 2
P6 9 5 3 2 3
P7 2 7 1 3 2
P8 10 6 1
P9 12 9 2 3 5
TEP= ?
TEjeP=?
Algoritmo por Turno Circular
(Round Robin)
Diseñado para los Sistemas de Tiempo Compartido
Se añade la técnica de desalojo para que los procesos conmuten entre
ellos.
La Cola de procesos listos se trata como una cola circular y la
planificación de los mismos es en forma de FCFS
Se define un tiempo de ejecución del proceso denominado (quantum).
Generalmente el quantum se encuentra comprendido entre 10 y 100 ms
Puede ocurrir dos cosas:
Que la ráfaga de CPU del proceso sea mas pequeña que el quantum
definido, en este caso el proceso liberará voluntariamente la CPU.
Si la ráfaga de CPU del proceso es mayor al quantum definido, el
proceso se ejecutará hasta el temporizador definido y luego se
producirá una interrupción para que se produzca el cambio de contexto
y el proceso que sale de la CPU se coloca al final de la Cola de Listos
El TEP en este algoritmo por lo general es largo
Ningún proceso puede ejecutarse más de un quantum a la vez a no ser
que sea el único proceso de la cola de listos.
Que pasa si el quantum es muy grande ? O es muy pequeño?
Algoritmo por Turno Circular
Proceso Tiempo R. CPU Quantu O E/S Duració
de (ms) m (ms) n (ms)
Llegada
(ms)
P1 3 8 1 3
6 2
P2 0 5
P3 7 6
3
P4 2 6 2 4
P5 5 4 2 5
P6 11 7
P7 24 4
TEP= ?
TEjeP=?
Algoritmo Colas de Múltiples
Niveles
Divide la Cola de procesos listos en varias colas distintas y
los procesos se asignan a esta cola dependiendo de alguna
propiedad del proceso como: el tamaño de memoria, la
prioridad del proceso o el tipo de proceso.
Cada cola tiene su propio algoritmo de planificación.
Entre colas existe apropiación, es decir la cola denominada
de primer plano tiene mayor prioridad que las colas de
segundo plano respectivamente.
Procesos Interactivos
Apropiación Prioridad
Procesos Multimedia entre colas
entre colas
Procesos por lotes
Procesos de usuario
Algoritmo Colas de Múltiples
Niveles
Procesos T. CPU Quantum Prioridad T. llegada T. Proceso
P1 6 6 P. interactivo
P2 7 20 P. usuario
P3 4 3 2 P. sistema
P4 10 0 P. usuario
P5 6 2 9 P. en lotes
P6 3 3 30 P. sistema
P7 2 8 P.interactivo
P8 8 1 10 P. en lotes
P9 4 38 P.usuario
P10 1 3 13 P. sistema
Cola0 RR p. sistema
Cola1 SJF p. interactivo
Cola2 Prioridades p. lotes
Cola3 FCFS p. usuario
Algoritmo Colas de Múltiples
Niveles
Procesos R. CPU (ms) Quantum Prioridad T. llegada O E/S D E/S T. Proceso
(ms) (ms)
P9 3 5 2 10 P. Sistema
P11 2 9 P. Sistema
P5 5 2 6 4 10 P. Multimedia
P6 6 0 3 7 P. Interactivos
P1 6 33 2 8 P. Sistema
P8 4 2 29 P. Lotes
P3 7 3 6 8 P. Sistema
P2 5 17 1 6 P. Interactivos
P7 4 1 14 2 8 P. Multimedia
3 4
P10 1 36 P. Interactivos
P4 4 1 27 2 7 P. Multimedia
P12 6 15 P. Lotes
P1 40 2 1 8 Sistema
P2 26 5 Interactivo
P3 5 10 2 4 6 5 8 10 Sistema
P4 23 4 Sistema
P5 7 5 1 3 4 10 4 8 Sistema
P6 0 7 2 Interactivo
P7 24 3 Lotes
P8 10 4 2 1 2 5 7 Multimedia
P9 2 8 3 Multimedia
P10 16 5 2 3 Lotes
P11 30 4 1 2 6 Multimedia
P1 14 9 5 5 10
P2 3 2 1-3 5-6 5
P3 25 1 3
P4 10 3 2 3 4
P5 0 3 5 5 6 Si P > 7 entonces
P6 16 2 3 5 6 aumentar la prioridad
cada 5 ms en 1
P7 8 1 2 10 3
P8 1 2 3-5 7-5 8
P9 32 5 5
P11 19 2 1 6 5
TEP= ?
TEjeP=?
GRACIAS
M.Sc. Ing. Hernán Leonardo Torres Carrión
hlorres@unl.edu.ec
Docente CIS-UNL