Tema 4

52
1 Tema 4: Planificación de Procesos Sistemas Sistemas Operativos Operativos

Transcript of Tema 4

Page 1: Tema 4

1

Tema 4: Planificación de Procesos

Sistemas OperativosSistemas Operativos

Page 2: Tema 4

2

Índice:

1. Objetivos de la planificación.

2. Índices de Evaluación

3. Planificación Apropiativa y No Apropiativa

4. Métodos no Apropiativos

5. Métodos Apropiativos2

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s

Page 3: Tema 4

3

Índice:

1. Objetivos de la planificación.

2. Índices de Evaluación

3. Planificación Apropiativa y No Apropiativa

4. Métodos no Apropiativos

5. Métodos Apropiativos3

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s

Page 4: Tema 4

4

1. Objetivos de la planificación

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s

Planificación = repartir el tiempo de CPU“Lo que hay, es lo que hay” (favorecer un tipo de proceso

implica perjudicar otro)

Objetivos:Aprovechamiento de CPUDisminución tiempos de espera por parte de procesos

Page 5: Tema 4

5

1. Objetivos de la planificación

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s

Comportamiento deseable:ImparcialidadRepetibilidadPredecibilidadEficienciaProductividad

Sistemas no interactivos: nº trabajos / unidad de tiempoSistemas interactivos: tiempo de respuesta

EconomíaEquilibrioOptimizar uso de recursos críticosDegradación progresiva

Page 6: Tema 4

6

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s

Índice:

1. Objetivos de la planificación.

2. Índices de Evaluación

3. Planificación Apropiativa y No Apropiativa

4. Métodos no Apropiativos

5. Métodos Apropiativos

Page 7: Tema 4

7

2. Índices de Evaluación

tHe Hc Ht

W

Tiempo de espera: W=Hc-He

t

Tiempo de ejecución: t (¡Ojo con las operaciones E/S)

T

Tiempo de terminación: T= Ht-He

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s

Page 8: Tema 4

8

2. Índices de Evaluación

Tiempo perdido: M= T – t

Índice de penalización: P= T / t

Índice de respuesta: R= t / T

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s

tHe Hc Ht

W

t

T

Tiempo de respuesta

Tiempo del sistema

Tiempo de inactividad

Page 9: Tema 4

9

2. Índices de Evaluación (cont.)

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s

Evaluación:AnálisisSimulaciónExperimentación

Page 10: Tema 4

10

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s

Índice:

1. Objetivos de la planificación.

2. Índices de Evaluación

3. Planificación Apropiativa y No Apropiativa

4. Métodos no Apropiativos

5. Métodos Apropiativos

Page 11: Tema 4

11

3. Planificación Apropiativa y No Apropiativa

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s

Planificación no apropiativa:Una vez asignada CPU sólo se retira en caso de bloqueoPosibilidad de devolución explícita

Planificación apropiativa:El planificador puede retirar la CPU

Page 12: Tema 4

12

3. Planificación Apropiativa y No Apropiativa

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s Planificación NO Apropiativa:

Ventajas:•Determinismo

•Menor nº de conmutaciones → menor sobrecarga

Inconvenientes:•Proceso largo monopoliza la CPU

•Baja fiabilidad

Planificación Apropiativa:Ventajas e inconvenientes: al revés que No ApropiativaNecesiaria en:

•Sistemas multiusuarios interactivos

•En determinadas circunstancias, en sistemas en tiempo real

Page 13: Tema 4

13

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s

Índice:

1. Objetivos de la planificación.

2. Índices de Evaluación

3. Planificación Apropiativa y No Apropiativa

4. Métodos no Apropiativos

5. Métodos Apropiativos

Page 14: Tema 4

14

4. Métodos no apropiativos

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s

1. Por orden de llegada (FCFS)

2. Siguiente el más corto (SJN)

3. Por mayor índice de penalización (HPRN)

4. Planificación con conocimiento de futuro

Page 15: Tema 4

15

4. Métodos no apropiativos

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s

1. Por orden de llegada (FCFS)

2. Siguiente el proceso más corto (SJN)

3. Por mayor índice de penalización (HPRN)

4. Planificación con conocimiento de futuro

Page 16: Tema 4

16

4.1 Planificación por orden de llegada

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s Ante varios procesos preparados, CPU se asigna al que lleva más tiempo esperando

Ventajas:SimplicidadPlanificación necesita pocos recursos

Inconvenientes:¡Malos resultados!

Page 17: Tema 4

17

4.1 Planificación por orden de llegada

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s He t

P1 0 3

P2 1 100

P3 2 10

P4 3 1

P1

0

P2

P3

P4

103 113 114

¡Perjudica a procesos cortos que llegan tras procesos largos!

1

P2

2

P3

3

P4

Page 18: Tema 4

18

4. Métodos no apropiativos

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s

1. Por orden de llegada (FCFS)

2. Siguiente el proceso más corto (SJN)

3. Por mayor índice de penalización (HPRN)

4. Planificación con conocimiento de futuro

Page 19: Tema 4

19

4.2 Siguiente el proceso más corto

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s

Ante varios procesos preparados, CPU se asigna al proceso de menor duración

P1

0

P2

P3

P4

4 14 114

Penalización P4: P= 1 / 1 = 1Penalización P3: P= 12 / 10 = 1,2Penalización P2: P= 113 / 100 = 1,13

1

P2

2

P3

3

P4

Page 20: Tema 4

20

4.2 Planificación por orden de llegada

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s

Ventajas:Mejora a FCFS en que no perjudica a procesos cortos

que lleguen después de procesos largos…

Inconvenientes:… A menos que el proceso largo ya se haya activado!¿Cuál es la duración de nuestros procesos?Aplazamiento indefinido procesos largos!!

Page 21: Tema 4

21

4. Métodos no apropiativos

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s

1. Por orden de llegada (FCFS)

2. Siguiente el proceso más corto (SJN)

3. Por mayor índice de penalización (HPRN)

4. Planificación con conocimiento de futuro

Page 22: Tema 4

22

4.3 Planif. por mayor índice de penalización

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s Ante varios procesos preparados, CPU se asigna al que está sufriendo un mayor índice de penalización

P = T / t, pero si planificación no apropiativa, T=W+t

¡¡ P = (W+t) / t = W / t + 1!!

Page 23: Tema 4

23

4.1 Planif. por mayor índice de penalización

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s He t

P1 0 2

P2 1 2

P3 1 5

P4 3 2

P1

0

P3

91

P2,P3

2

P2

3

P4

P2: W/t + 1=1/2 + 1 = 1,5P3: W/t + 1=1/5 + 1 = 1,2

¡Gana P2!

P3: W/t + 1=3/5 + 1 = 1,6P4: W/t + 1=1/2 + 1 = 1,5

¡Gana P3!

4

P1

11

Page 24: Tema 4

24

4.2 Planif. por mayor índice de penalización

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s

Ventajas:Mejora a SJN en que no aplaza indefinidamente

procesos largos

Inconvenientes:Sigue perjudicando procesos cortos que llegan cuando

ya ha comenzado proceso largo. ¿Cuál es la duración de nuestros procesos?

Page 25: Tema 4

25

4. Métodos no apropiativos

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s

1. Por orden de llegada (FCFS)

2. Siguiente el proceso más corto (SJN)

3. Por mayor índice de penalización (HPRN)

4. Planificación con conocimiento de futuro

Page 26: Tema 4

26

4.1 Planificación con conocimiento de futuro

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s Idea a aplicar en combinación con otros criterios Si adivináramos que tras un proceso largo llegará en

el futuro un proceso corto, obligando al largo a esperar la llegada y terminación del corto, podemos mejorar el índice medio de penalización!!

He t

P1 0 100

P2 1 1 P2

P1

0 1 2 102¡CPU OCIOSA!

Page 27: Tema 4

27

4.1 Planificación con conocimiento de futuro

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s Buena prueba de que aprovechamiento de CPU y reducción tiempos de espera pueden ser criterios contrapuestos

¿Es posible tener conocimiento de futuro? Hay sistemas en los que no es descabellado (sistemas en tiempo real)

Page 28: Tema 4

28

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s

Índice:

1. Objetivos de la planificación.

2. Índices de Evaluación

3. Planificación Apropiativa y No Apropiativa

4. Métodos no Apropiativos

5. Métodos Apropiativos

Page 29: Tema 4

29

5. Métodos apropiativos

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s 1. Siguiente el más corto, con apropiación (PSJN)

2. Planificación por prioridades

3. Planificación por turno rotatorio (Round Robin)

4. Planificación por colas multinivel

5. Planificación por reparto equitativo

6. Planificación por peor servicio

Page 30: Tema 4

30

5. Métodos apropiativos

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s 1. Siguiente el más corto, con apropiación (PSJN)

2. Planificación por prioridades

3. Planificación por turno rotatorio (Round Robin)

4. Planificación por colas multinivel

5. Planificación por reparto equitativo

6. Planificación por peor servicio

Page 31: Tema 4

31

5.1 Siguiente el más corto, con apropiación

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s Planificación SJN, en la que se también se aplica el criterio cada vez que llega un nuevo proceso

Si proceso que llega es más corto que tiempo restante de proceso activo → APROPIACIÓN

He t

P1 1 100

P2 2 10

P3 3 1

Page 32: Tema 4

32

5.1 Siguiente el más corto, con apropiación

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s

He t

P1 0 100

P2 1 10

P3 2 1

0 1 2 3

P2

P1

P3

P1

P2

P3

12

Ventajas:Ya no es problema que un

proceso corto llegue una vez activado un proceso largo!

Inconvenientes:No sólo puede aplazar

indefinidamente el comienzo de procesos largos, sino que además también su terminación!

111

P2 P3

Page 33: Tema 4

33

5. Métodos apropiativos

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s 1. Siguiente el más corto, con apropiación (PSJN)

2. Planificación por prioridades

3. Planificación por turno rotatorio (Round Robin)

4. Planificación por colas multinivel

5. Planificación por reparto equitativo

6. Planificación por peor servicio

Page 34: Tema 4

34

5.2 Planificación por prioridades

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s A cada proceso se le asigna una prioridad Lista de procesos preparados ordenada por

prioridad El proceso activo será siempre el de mayor prioridad

Si proceso activo se bloquea → se activa el primero de lista

Cuando un proceso pasa de bloqueado a preparado:• Si mayor prioridad que proceso activo → apropiación

• Si menor prioridad que proceso activo → se inserta en lugar correspondiente de lista de preparados

P1 P2 P3 Planificador

Pr=2 Pr=4

Pr=6

P4

Pr=5

Page 35: Tema 4

35

5.2 Planificación por prioridades

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s

Peligro:Posibilidad aplazamiento indefinido de procesos de

menor prioridad

¡Asignación de prioridades es crítica!

Criterios:Sistemas en tiempo real:

• Sucesos más importantes:

• Sucesos más rápidos:

Sistemas por lotes:• Procesos con más E/S:

Sistemas interactivos:

Page 36: Tema 4

36

5.2 Planificación por prioridades

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s Planificación por prioridades mixtas:Prioridad total = prioridad estática + prioridad dinámica

Evolución prioridad dinámica:Prioridad por envejecimieto

• Prioridad procesos preparados se incrementa periódicamente

• Si prioridad total de algún proceso preparado supera la de proceso activo → APROPIACIÓN

• Proceso apropiado pasa a preparado con prioridad dinámica mínima

Page 37: Tema 4

37

5.2 Planificación por prioridades

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s Evolución prioridad dinámica (cont.):Por tiempo continuado de ejecución

• Se establece un tiempo máximo de ejecución continuada

• A procesos que agotan 100% de dicho tiempo: prioridad dinámica mínima

• Procesos que se bloquean antes: prioridad dinámica proporcional a tiempo sobrante.

Page 38: Tema 4

38

5. Métodos apropiativos

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s 1. Siguiente el más corto, con apropiación (PSJN)

2. Planificación por prioridades

3. Planificación por turno rotatorio (Round Robin)

4. Planificación por colas multinivel

5. Planificación por reparto equitativo

6. Planificación por peor servicio

Page 39: Tema 4

39

5.3 Planificación por turno rotatorio

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s Se establece un tiempo máximo de ejecución (ranura, cuanto, cuantum, q)

Se asigna la CPU por turnos de duración máxima = q a los procesos preparados

P1 P2 P3 Planificador

P4

P4 P1 P2 Planificador

P3

P3 P4 P1 Planificador

P2

P2 P3 P4 Planificador

P1

P1 P2 P3 Planificador

P4

Page 40: Tema 4

40

5.3 Planificación por turno rotatorio

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s Consideraciones sobre el cuanto:

Tiempo máximo empleado en una rotación si hay N procesos: N*q

Tiempo de respuesta ≤ (N-1)*q

Page 41: Tema 4

41

5.3 Planificación por turno rotatorio

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s ¿Podría q ser tan pequeño como quisiéramos?

P1 P2 P3 P4 P1 P2

t

Page 42: Tema 4

42

5.3 Planificación por turno rotatorio

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s ¿Podría q ser tan pequeño como quisiéramos?

t

Ideal: Un poco mayor que tiempo medio entre E/S

Procesos que hacen E/S: casi no les afecta la apropiación.

Procesos de cálculo: son apropiados

Page 43: Tema 4

43

5.3 Planificación por turno rotatorio

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s ¿Deberíamos compensar a los procesos que debido a bloqueo pierden parte de su cuanto?

Acumulación de cuantos:La parte no consumida del cuanto se añadirá al

siguiente cuanto tras terminar bloqueoDifícil implementación¡Monopolización CPU!

Reinserción intermediaEl proceso se reinserta en lista de preparado en

posición proporcional a tiempo no consumido

Page 44: Tema 4

44

5. Métodos apropiativos

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s 1. Siguiente el más corto, con apropiación (PSJN)

2. Planificación por prioridades

3. Planificación por turno rotatorio (Round Robin)

4. Planificación por colas multinivel

5. Planificación por reparto equitativo

6. Planificación por peor servicio

Page 45: Tema 4

45

5.4 Planificación por colas multinivel

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s

Planificador

El planificador tiene varias colas de procesos preparados

Cada cola se planifica por turno rotatorio Posibilidad de diversos criterios

Colas organizadas por “prioridad”:

P1 P2 P3

P4 P5

P6 P7

- p

rio

rid

ad +

Page 46: Tema 4

46

5.4 Planificación por colas multinivel

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s

Planificador

Colas multinivel con realimentación:Método que se adapta a carácter dinámico de los

procesos

P4 P5

P1 P2 P3

P6 P7

q

2q

4q

4x

2x

1x

Page 47: Tema 4

47

5.4 Planificación por colas multinivel

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s

Planificador

Colas multinivel con realimentación:Método que se adapta a carácter dinámico de los

procesos

P4 P5

P1 P2 P3

P6 P7

q

2q

4q

Page 48: Tema 4

48

5. Métodos apropiativos

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s 1. Siguiente el más corto, con apropiación (PSJN)

2. Planificación por prioridades

3. Planificación por turno rotatorio (Round Robin)

4. Planificación por colas multinivel

5. Planificación por reparto equitativo

6. Planificación por peor servicio

Page 49: Tema 4

49

5.5 Planificación por reparto equitativo

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s

P1 P2 P3

1/3 CPU 1/3 CPU 1/3 CPU

El ¿problema?

P4

1/4 CPU 1/4 CPU 1/2 CPU

Page 50: Tema 4

50

5.5 Planificación por reparto equitativo

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s La solución:Crear grupos de procesos (o hilos) que reciben igual

proporción de tiempo de CPUCada grupo = grupo de reparto equitativoSi un proceso/hilo crea otro proceso/hilo, el proceso/hilo

creado pertenecerá al mismo grupo de reparto equitativo.

G1

G2 G3P1

P2

P3

P4

P5

P6

Page 51: Tema 4

51

5. Métodos apropiativos

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s 1. Siguiente el más corto, con apropiación (PSJN)

2. Planificación por prioridades

3. Planificación por turno rotatorio (Round Robin)

4. Planificación por colas multinivel

5. Planificación por reparto equitativo

6. Planificación por peor servicio

Page 52: Tema 4

52

5.6 Planificación por peor servicio

Tem

a 4:

Pla

nif

icac

ión

de

pro

ceso

s Definir alguna medida de cómo de beneficiado o perjudicado está resultando un proceso en el reparto. Ejemplos:

Tiempo que lleva en la lista de procesos preparadosTiempo total de CPU recibido en pasado recienteRelación entre tiempo teórico correspondiente y tiempo

recibido…

El planificador asigna CPU a aquel proceso que esté siendo peor atendido

HPRN: ejemplo (no apropiativo) de implementación