Anda di halaman 1dari 52

Sistemas Operativos

Tema 4: Planificacin de
Procesos

Tema 4: Planificacin de procesos

ndice:
1. Objetivos de la planificacin.
2. ndices de Evaluacin
3. Planificacin Apropiativa y No
Apropiativa

4. Mtodos no Apropiativos
5. Mtodos Apropiativos
2

Tema 4: Planificacin de procesos

ndice:
1. Objetivos de la planificacin.
2. ndices de Evaluacin
3. Planificacin Apropiativa y No
Apropiativa

4. Mtodos no Apropiativos
5. Mtodos Apropiativos
3

Tema 4: Planificacin de procesos

1. Objetivos de la planificacin
Planificacin = repartir el tiempo de CPU
Lo que hay, es lo que hay (favorecer un tipo de proceso
implica perjudicar otro)

Objetivos:
Aprovechamiento de CPU
Disminucin tiempos de espera por parte de procesos

Tema 4: Planificacin de procesos

1. Objetivos de la planificacin
Comportamiento deseable:
Imparcialidad
Repetibilidad
Predecibilidad
Eficiencia
Productividad
Sistemas no interactivos: n trabajos / unidad de tiempo
Sistemas interactivos: tiempo de respuesta

Economa
Equilibrio
Optimizar uso de recursos crticos
Degradacin progresiva
5

Tema 4: Planificacin de procesos

ndice:
1. Objetivos de la planificacin.
2. ndices de Evaluacin
3. Planificacin Apropiativa y No
Apropiativa

4. Mtodos no Apropiativos
5. Mtodos Apropiativos
6

2. ndices de Evaluacin
Tema 4: Planificacin de procesos

T
t
W

He

Hc

Ht

Tiempo de espera: W=Hc-He

Tiempo de ejecucin: t (Ojo con las operaciones E/S)


Tiempo de terminacin: T= Ht-He
7

2. ndices de Evaluacin
Tema 4: Planificacin de procesos

T
t
W

He

Hc

Tiempo perdido: M= T t

Ht

Tiempo de respuesta

ndice de penalizacin: P= T / t Tiempo del sistema


ndice de respuesta: R= t / T

Tiempo de inactividad
8

Tema 4: Planificacin de procesos

2. ndices de Evaluacin (cont.)


Evaluacin:
Anlisis
Simulacin
Experimentacin

Tema 4: Planificacin de procesos

ndice:
1. Objetivos de la planificacin.
2. ndices de Evaluacin
3. Planificacin Apropiativa y No
Apropiativa

4. Mtodos no Apropiativos
5. Mtodos Apropiativos
10

Tema 4: Planificacin de procesos

3. Planificacin Apropiativa y No Apropiativa


Planificacin no apropiativa:
Una vez asignada CPU slo se retira en caso de bloqueo
Posibilidad de devolucin explcita

Planificacin apropiativa:
El planificador puede retirar la CPU

11

Tema 4: Planificacin de procesos

3. Planificacin Apropiativa y No Apropiativa


Planificacin NO Apropiativa:
Ventajas:
Determinismo
Menor n de conmutaciones menor sobrecarga

Inconvenientes:
Proceso largo monopoliza la CPU
Baja fiabilidad

Planificacin Apropiativa:
Ventajas e inconvenientes: al revs que No Apropiativa
Necesiaria en:
Sistemas multiusuarios interactivos
En determinadas circunstancias, en sistemas en tiempo real

12

Tema 4: Planificacin de procesos

ndice:
1. Objetivos de la planificacin.
2. ndices de Evaluacin
3. Planificacin Apropiativa y No
Apropiativa

4. Mtodos no Apropiativos
5. Mtodos Apropiativos
13

Tema 4: Planificacin de procesos

4. Mtodos no apropiativos
1.

Por orden de llegada (FCFS)

2.

Siguiente el ms corto (SJN)

3.

Por mayor ndice de penalizacin (HPRN)

4.

Planificacin con conocimiento de futuro

14

Tema 4: Planificacin de procesos

4. Mtodos no apropiativos
1.

Por orden de llegada (FCFS)

2.

Siguiente el proceso ms corto (SJN)

3.

Por mayor ndice de penalizacin (HPRN)

4.

Planificacin con conocimiento de futuro

15

Tema 4: Planificacin de procesos

4.1 Planificacin por orden de llegada


Ante varios procesos preparados, CPU se asigna al
que lleva ms tiempo esperando
Ventajas:
Simplicidad
Planificacin necesita pocos recursos

Inconvenientes:
Malos resultados!

16

Tema 4: Planificacin de procesos

4.1 Planificacin por orden de llegada


He

P1

P2

100

P3

10

P4

Perjudica a procesos cortos


que llegan tras procesos
largos!

P4
P3

P4

P2

P3
P2

P1
0 1 2 3

103

113 114

17

Tema 4: Planificacin de procesos

4. Mtodos no apropiativos
1.

Por orden de llegada (FCFS)

2.

Siguiente el proceso ms corto (SJN)

3.

Por mayor ndice de penalizacin (HPRN)

4.

Planificacin con conocimiento de futuro

18

Tema 4: Planificacin de procesos

4.2 Siguiente el proceso ms corto


Ante varios procesos preparados, CPU se asigna al
proceso de menor duracin
P4
P3

P4

P2

P3
P2

P1
0 1 2 3 4

14

114

Penalizacin P4: P= 1 / 1 = 1
Penalizacin P3: P= 12 / 10 = 1,2
Penalizacin P2: P= 113 / 100 = 1,13
19

Tema 4: Planificacin de procesos

4.2 Planificacin por orden de llegada


Ventajas:
Mejora a FCFS en que no perjudica a procesos cortos que
lleguen despus de procesos largos

Inconvenientes:
A menos que el proceso largo ya se haya activado!
Cul es la duracin de nuestros procesos?
Aplazamiento indefinido procesos largos!!

20

Tema 4: Planificacin de procesos

4. Mtodos no apropiativos
1.

Por orden de llegada (FCFS)

2.

Siguiente el proceso ms corto (SJN)

3.

Por mayor ndice de penalizacin (HPRN)

4.

Planificacin con conocimiento de futuro

21

Tema 4: Planificacin de procesos

4.3 Planif. por mayor ndice de penalizacin


Ante varios procesos preparados, CPU se asigna al
que est sufriendo un mayor ndice de penalizacin

P = T / t, pero si planificacin no apropiativa, T=W+t


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

22

Tema 4: Planificacin de procesos

4.1 Planif. por mayor ndice de penalizacin


He

P1

P2

P3

P4

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


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

P1
P2,P3

P3
P2

P1

11

23

Tema 4: Planificacin de procesos

4.2 Planif. por mayor ndice de penalizacin


Ventajas:
Mejora a SJN en que no aplaza indefinidamente procesos
largos

Inconvenientes:
Sigue perjudicando procesos cortos que llegan cuando ya
ha comenzado proceso largo. Cul es la duracin de
nuestros procesos?

24

Tema 4: Planificacin de procesos

4. Mtodos no apropiativos
1.

Por orden de llegada (FCFS)

2.

Siguiente el proceso ms corto (SJN)

3.

Por mayor ndice de penalizacin (HPRN)

4.

Planificacin con conocimiento de futuro

25

Tema 4: Planificacin de procesos

4.1 Planificacin con conocimiento de futuro


Idea a aplicar en combinacin con otros criterios
Si adivinramos que tras un proceso largo llegar en
el futuro un proceso corto, obligando al largo a
esperar la llegada y terminacin del corto, podemos
mejorar el ndice medio de penalizacin!!
He

P1

100

P2

P2

P1
CPU OCIOSA!

102
26

Tema 4: Planificacin de procesos

4.1 Planificacin con conocimiento de futuro


Buena prueba de que aprovechamiento de CPU y
reduccin 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)

27

Tema 4: Planificacin de procesos

ndice:
1. Objetivos de la planificacin.
2. ndices de Evaluacin
3. Planificacin Apropiativa y No
Apropiativa

4. Mtodos no Apropiativos
5. Mtodos Apropiativos
28

Tema 4: Planificacin de procesos

5. Mtodos apropiativos
1.

Siguiente el ms corto, con apropiacin (PSJN)

2.

Planificacin por prioridades

3.

Planificacin por turno rotatorio (Round Robin)

4.

Planificacin por colas multinivel

5.

Planificacin por reparto equitativo

6.

Planificacin por peor servicio

29

Tema 4: Planificacin de procesos

5. Mtodos apropiativos
1.

Siguiente el ms corto, con apropiacin (PSJN)

2.

Planificacin por prioridades

3.

Planificacin por turno rotatorio (Round Robin)

4.

Planificacin por colas multinivel

5.

Planificacin por reparto equitativo

6.

Planificacin por peor servicio

30

Tema 4: Planificacin de procesos

5.1 Siguiente el ms corto, con apropiacin


Planificacin SJN, en la que se tambin se aplica el
criterio cada vez que llega un nuevo proceso
Si proceso que llega es ms corto que tiempo
restante de proceso activo APROPIACIN

He

P1

100

P2

10

P3

31

Tema 4: Planificacin de procesos

5.1 Siguiente el ms corto, con apropiacin


Ventajas:
He

P1

100

P2

10

P3

Ya no es problema que un proceso


corto llegue una vez activado un
proceso largo!

Inconvenientes:

P2 P3

P3

No
slo
puede
aplazar
indefinidamente el comienzo de
procesos largos, sino que adems
tambin su terminacin!

P3

P2

P2

P1
0

P1
1

12

111

32

Tema 4: Planificacin de procesos

5. Mtodos apropiativos
1.

Siguiente el ms corto, con apropiacin (PSJN)

2.

Planificacin por prioridades

3.

Planificacin por turno rotatorio (Round Robin)

4.

Planificacin por colas multinivel

5.

Planificacin por reparto equitativo

6.

Planificacin por peor servicio

33

Tema 4: Planificacin de procesos

5.2 Planificacin por prioridades


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 apropiacin
Si menor prioridad que proceso activo se inserta en lugar
correspondiente de lista de preparados
Pr=6
P1

P2

P3

Pr=2

Pr=4

Pr=5

Planificador

P4
34

5.2 Planificacin por prioridades


Tema 4: Planificacin de procesos

Peligro:
Posibilidad aplazamiento indefinido de procesos de menor
prioridad

Asignacin de prioridades es crtica!


Criterios:
Sistemas en tiempo real:
Sucesos ms importantes:
Sucesos ms rpidos:

Sistemas por lotes:


Procesos con ms E/S:

Sistemas interactivos:
35

Tema 4: Planificacin de procesos

5.2 Planificacin por prioridades


Planificacin por prioridades mixtas:
Prioridad total = prioridad esttica + prioridad dinmica

Evolucin prioridad dinmica:


Prioridad por envejecimieto
Prioridad procesos preparados se incrementa peridicamente
Si prioridad total de algn proceso preparado supera la de
proceso activo APROPIACIN
Proceso apropiado pasa a preparado con prioridad dinmica
mnima

36

Tema 4: Planificacin de procesos

5.2 Planificacin por prioridades


Evolucin prioridad dinmica (cont.):
Por tiempo continuado de ejecucin
Se establece un tiempo mximo de ejecucin continuada
A procesos que agotan 100% de dicho tiempo: prioridad
dinmica mnima
Procesos que se bloquean antes: prioridad dinmica
proporcional a tiempo sobrante.

37

Tema 4: Planificacin de procesos

5. Mtodos apropiativos
1.

Siguiente el ms corto, con apropiacin (PSJN)

2.

Planificacin por prioridades

3.

Planificacin por turno rotatorio (Round Robin)

4.

Planificacin por colas multinivel

5.

Planificacin por reparto equitativo

6.

Planificacin por peor servicio

38

Tema 4: Planificacin de procesos

5.3 Planificacin por turno rotatorio


Se establece un tiempo mximo de ejecucin
(ranura, cuanto, cuantum, q)
Se asigna la CPU por turnos de duracin mxima =
q a los procesos preparados

P4
P3
P2
P1

P1
P4
P3
P2

P2
P1
P4
P3

Planificador
P3
P2
P1
P4

39

Tema 4: Planificacin de procesos

5.3 Planificacin por turno rotatorio


Consideraciones sobre el cuanto:

Tiempo mximo empleado en una rotacin si hay N


procesos: N*q
Tiempo de respuesta (N-1)*q

40

Tema 4: Planificacin de procesos

5.3 Planificacin por turno rotatorio


Podra q ser tan pequeo como quisiramos?

P1

P2

P3

P4

P1

P2
t
41

Tema 4: Planificacin de procesos

5.3 Planificacin por turno rotatorio


Podra q ser tan pequeo como quisiramos?
Ideal: Un poco mayor que tiempo medio
entre E/S
Procesos que hacen E/S: casi no les afecta la
apropiacin.
Procesos de clculo: son apropiados

t
42

Tema 4: Planificacin de procesos

5.3 Planificacin por turno rotatorio


Deberamos compensar a los procesos que debido
a bloqueo pierden parte de su cuanto?

Acumulacin de cuantos:
La parte no consumida del cuanto se aadir al
siguiente cuanto tras terminar bloqueo
Difcil implementacin
Monopolizacin CPU!

Reinsercin intermedia
El proceso se reinserta en lista de preparado en
posicin proporcional a tiempo no consumido
43

Tema 4: Planificacin de procesos

5. Mtodos apropiativos
1.

Siguiente el ms corto, con apropiacin (PSJN)

2.

Planificacin por prioridades

3.

Planificacin por turno rotatorio (Round Robin)

4.

Planificacin por colas multinivel

5.

Planificacin por reparto equitativo

6.

Planificacin por peor servicio

44

El planificador tiene varias colas de procesos


preparados
Cada cola se planifica por turno rotatorio
Posibilidad de diversos criterios

Colas organizadas por prioridad:


P1
- prioridad +

Tema 4: Planificacin de procesos

5.4 Planificacin por colas multinivel

P2

P3

P4

P5

P6

P7

Planificador

45

Tema 4: Planificacin de procesos

5.4 Planificacin por colas multinivel


Colas multinivel con realimentacin:
Mtodo que se adapta a carcter dinmico de los procesos
4x
P1

2x

1x

P2

P3

P4

P5

P6

P7

2q

Planificador

4q

46

Tema 4: Planificacin de procesos

5.4 Planificacin por colas multinivel


Colas multinivel con realimentacin:
Mtodo que se adapta a carcter dinmico de los procesos

P1

P2

P3

P4

P5

P6

P7

2q

Planificador

4q

47

Tema 4: Planificacin de procesos

5. Mtodos apropiativos
1.

Siguiente el ms corto, con apropiacin (PSJN)

2.

Planificacin por prioridades

3.

Planificacin por turno rotatorio (Round Robin)

4.

Planificacin por colas multinivel

5.

Planificacin por reparto equitativo

6.

Planificacin por peor servicio

48

Tema 4: Planificacin de procesos

5.5 Planificacin por reparto equitativo


El problema?
1/3
1/4CPU
CPU

P1

1/3
1/4CPU
CPU

P2

1/3
1/2CPU
CPU

P3

P4

49

Tema 4: Planificacin de procesos

5.5 Planificacin por reparto equitativo


La solucin:
Crear grupos de procesos (o hilos) que reciben igual
proporcin de tiempo de CPU
Cada grupo = grupo de reparto equitativo
Si un proceso/hilo crea otro proceso/hilo, el proceso/hilo
creado pertenecer al mismo grupo de reparto equitativo.
G1
P4

G2

P1

P3
P2

G3

P5

P6

50

Tema 4: Planificacin de procesos

5. Mtodos apropiativos
1.

Siguiente el ms corto, con apropiacin (PSJN)

2.

Planificacin por prioridades

3.

Planificacin por turno rotatorio (Round Robin)

4.

Planificacin por colas multinivel

5.

Planificacin por reparto equitativo

6.

Planificacin por peor servicio

51

Tema 4: Planificacin de procesos

5.6 Planificacin por peor servicio


Definir alguna medida de cmo de beneficiado o
perjudicado est resultando un proceso en el
reparto. Ejemplos:
Tiempo que lleva en la lista de procesos preparados
Tiempo total de CPU recibido en pasado reciente
Relacin entre tiempo terico correspondiente y tiempo
recibido

El planificador asigna CPU a aquel proceso que est


siendo peor atendido
HPRN: ejemplo (no apropiativo) de implementacin
52

Anda mungkin juga menyukai