algoritmos de planificación
Post on 08-Nov-2014
121 Views
Preview:
TRANSCRIPT
Universidad del Valle Sede Yumbo
Sistemas Operativos
Ing.Andrea Martínez Rivera
ALGORITMOS DE PLANIFICACIÓN
Criterios de Planificación
Utilización de la CPU: Lo que busca el algoritmo es que nuestra CPU sea utilizada el mayor tiempo posible. Podemos tener 1, 2 ó más CPU.
Tasa de procesamiento: Esta nos indica el número de procesos que podemos ejecutar en un determinado tiempo.
Tiempo de ejecución: El tiempo en el que el proceso se va a ejecutar.
Tiempo de espera: Son los intervalos en que el proceso va a esperar para que le asignen la CPU
Tiempo de respuesta: El tiempo en que se va a demorar en dar respuesta a la solicitud del usuario.
ALGORITMOS DE PLANIFICACIÓN
Los algoritmos pueden ser clasificados en:
No Expulsivos: Las tareas NO son
expulsadas del procesador antes de concluir
su ejecución. Ej. FIFO, SJF.
Expulsivos: Las tareas pueden ser
expulsadas del procesador antes de concluir
su ejecución. Ej: SRTF, Round Robin,
planificación basada en prioridades.
Sistemas Operativos
Ing.Andrea Martínez Rivera
Planificación de la CPU-FIFO o FCFS
Proceso Tiempo de
llegada
Tiempo de
Ejecución
P1 0 7
P2 2 4
P3 3 3
P4 5 2
p1 p2 p3 p4
Diagrama de Gantt
0 7 11 14 16
T.Espera : (T.F.Proc-T.Lleg-T.E) T.Retorno = (T.F.P-T.Llegada)
P1=(7-0-7)= 0 P1= (7-0) = 7
P2=(11-2-4)= 5 P2=(11-2) = 9
P3=(14-3-3)=8 P3=(14-3) = 11
P4=(16-5-2)=9 P4=(16-5)=11
T.P.E = (0+5+8+9)/4= 22/4 T.P.R = (7+9+11+11)/4 = 9.5
T.P.E = 5.5
FIFO
Proceso Tiempo de
llegada
Tiempo de
Ejecución
P1 5 6
P2 2 4
P3 0 3
P4 3 7
P3 P2 P4 P1
0 3 7 14 20
T.Espera T.E=(9+1+0+4) = 14 T.Retorno
P1=(20-5-6)=9 Pro.T.E=14/4 = 3,5 ms P1=(20-5)=15
P2=(7-2-4)=1 P2=(7-2)= 5 P.T.R=(34/4)=8.5
P3=(3-0-3)=0 P3=(3-0)=3
P4=(14-3-7)=4 P4=(14-3)=11
Proceso Tiempo de llegada Tiempo de Ejecución
P1 0 4
P2 0 3
P3 3 2
P4 3 3
P5 7 1
•Muestre la planificación FIFO mediante un diagrama de Gantt
•Indique los tiempos de espera y respuesta.
SJF (Shortest Job First)
Este algoritmo asocia con cada proceso la
duración de la siguiente ráfaga de CPU del
proceso.
Seleccionar el proceso con menor tiempo
de ejecución
En caso de empate, aplicar FIFO.
No es aplicable si se desconoce la duración
de los procesos
Punto fuerte: Minimizar tiempo de espera.
Sistemas Operativos
Ing.Andrea Martínez Rivera
Ejemplo:
Diagrama de Gantt
Tiempo de Espera
P1= (7-0-7)= 0 Tiempo Medio Espera= (0+10+6+2)/4 = 18/4= 4.5 ms
P2= (16-2-4)=10 Tiempo Retorno= (7+14+9+4)= 34/4 = 8.5 ms
P3=(12-3-3)=6
P4=(9-5-2)= 2
Proceso Tiempo de llegada Tiempo de Ejecución
P1 0 7
P2 2 4
P3 3 3
P4 5 2
p1 p4 p3 p2
0 7 9 12 16
Proceso Tiempo de llegada Tiempo de Ejecución
P1 0 4
P2 0 3
P3 3 2
P4 3 3
P5 7 1
• Muestre la planificación SJF mediante un diagrama de Gantt
•Indique los tiempos de espera y respuesta.
Planificación por prioridad
Cada proceso tiene asignada una
prioridad(número entero)
Asignar la CPU al proceso más
prioritario.
En caso de empate aplicar FIFO
Asume mayor prioridad con menor
número entero
Algoritmo Expulsivo o No Expulsivo
Ejemplo:
Nota: Orden de llegada (en instante 0) a cola de procesos listos: P1,P2,P3,P4,P5
Diagrama de Gantt para planificación
Tiempo de Espera
P1= (16-0-10)= 6 Tiempo Medio Espera= (6+0+16+18+1)/5 = 41/5= 8,2 ms
P2= (1-0-1)=0 Tiempo Retorno= (16+1+18+19+6)= 60/5 = 12 ms
P3=(18-0-2)=16
P4=(19-0-1)= 18
P5=(6-0-5)=1
Proceso Prioridad Tiempo de Ejecución
P1 3 10
P2 1 1
P3 3 2
P4 4 1
P5 2 5
P2 P5 P1 P3 P4
0 1 6 16 18 19
Proceso Prioridad Tiempo de
Llegada
Tiempo de
Ejecución
P1 4 0 7
P2 2 2 4
P3 1 3 3
P4 3 5 2
• Muestre la planificación Por prioridades mediante un diagrama de Gantt
•Indique los tiempos de espera y respuesta.
Round Robin o Por Turnos
Especialmente diseñado para sistemas de tiempo compartido.
Va dando tiempo de ejecución a c/ proceso que esté en espera.
Establece a cada proceso un tiempo de posesión de CPU (Quantum Q)
Tras el Quantum, el proceso en ejecución se expulsa de la CPU y se pasa al final de la cola de procesos listos, para dar paso al siguiente.
Algoritmo expulsivo cada Quantum q de tiempo.
Punto fuerte: Ofrecer repartición equitativa.
Ejemplo:
Quantum = 5 Tiempo de llegada = 0
Diagrama de Gantt para planificación
Tiempo de Espera
P1= (39-0-12)= 27
P2= (32-0-8)= 24 Tiempo de Retorno
P3=(14-0-4)=10 P1=39 , P2=32, P3=14, P4=37, P5=24
P4=(37-0-10) = 27 T. R= (39+32+14+37+24)=146/5= 29,2 ms
P5= (24-0-5)=19
T.E = 107/5=21,4 ms
Proceso Tiempo de Ejecución
P1 12
P2 8
P3 4
P4 10
P5 5
P1 P2 P3 P4 P5 P1 P2 P4 P1
0 5 10 14 19 24 29 32 37 39
Proceso Tiempo de
llegada
Tiempo de
Ejecución
P1 0 7
P2 2 4
P3 3 3
P4 5 2
• Muestre la planificación RR mediante un diagrama de Gantt
•Indique los tiempos de espera y respuesta.
SRTF(Shortest Remaining Time First)
Es la versión expulsiva del algoritmo SJF.
Este algoritmo va seleccionando de los procesos
que están en espera al que le quede menor tiempo
para terminar. En caso de empate se utiliza FIFO.
Proceso Tiempo de llegada Tiempo de Ejecución
P1 0 7
P2 2 4
P3 4 1
P4 5 4
P1 P2 P3 P2 P4 P1
0 2 4 5 7 11 16
T.E=(Tiemp.fin.pro-Tiempo.llegada-Ti.Ejec)
T.E=(16-0-7)=9, (7-2-4)=1, (5-4-1)=0, (11-5-4)=2
T.E =(9+1+0+2)/4=12/4=3ms
TR= (Tiem. Fin.proc- tiem.lleg)
P1=(16-0)=16
P2=(7-2) = 5
P3=(5-4)=1
P4=(11-5)=6
T.R= 28/4 = 7 ms
Proceso Tiempo de
llegada
Tiempo de
Ejecución
P1 0 7
P2 2 5
P3 3 3
P4 6 2
• Muestre la planificación SRTF mediante un diagrama de Gantt
•Indique los tiempos de espera y respuesta.
Planificación de la cpu
WINDOWS
Windows utiliza
planificación
apropiativa basada en
colas múltiples de
prioridades (32 niveles
de colas)
UNIX
Utilización planificación por prioridades
Ken Thompson Y Dennis Ritchie
seleccionaron los algoritmos por su
sencillez sin preocuparse por su velocidad
o complejidad
LINUX
Linux emplea un algoritmo de
prioridades basado en créditos
Cada proceso tiene un cierto número de créditos de planificaciones
Se selecciona el proceso con más créditos
Cada vez que ocurre una interrupción de temporizador, el proceso que estaba montado pierde un crédito
top related