algoritmos de planificación

21
Universidad del Valle Sede Yumbo Sistemas Operativos Ing.Andrea Martínez Rivera ALGORITMOS DE PLANIFICACIÓN

Upload: anmari78

Post on 08-Nov-2014

124 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algoritmos de Planificación

Universidad del Valle Sede Yumbo

Sistemas Operativos

Ing.Andrea Martínez Rivera

ALGORITMOS DE PLANIFICACIÓN

Page 2: 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.

Page 3: Algoritmos de Planificación

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

Page 4: Algoritmos de Planificación

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

Page 5: Algoritmos de Planificación

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

Page 6: Algoritmos de Planificación

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.

Page 7: Algoritmos de Planificación

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

Page 8: Algoritmos de Planificación

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

Page 9: Algoritmos de Planificación

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.

Page 10: Algoritmos de Planificación

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

Page 11: Algoritmos de Planificación

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

Page 12: Algoritmos de Planificación

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.

Page 13: Algoritmos de Planificación

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.

Page 14: Algoritmos de Planificación

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

Page 15: Algoritmos de Planificación

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.

Page 16: Algoritmos de Planificación

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

Page 17: Algoritmos de Planificación

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

Page 18: Algoritmos de Planificación

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.

Page 19: Algoritmos de Planificación

Planificación de la cpu

WINDOWS

Windows utiliza

planificación

apropiativa basada en

colas múltiples de

prioridades (32 niveles

de colas)

Page 20: Algoritmos de Planificación

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

Page 21: Algoritmos de Planificación

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