Algoritmos de Planificación

Post on 08-Nov-2014

124 views 0 download

Tags:

Transcript of Algoritmos de Planificación

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