so-06-Planificacion de procesossopa.dis.ulpgc.es/fso/teoria/pdf/Old/so-02-2-Planificacion de...

25
Sistemas Operativos Tema 6. Planificación de procesos 1 © 1998-2012 José Miguel Santos – Alexis Quesada – Francisco Santana

Transcript of so-06-Planificacion de procesossopa.dis.ulpgc.es/fso/teoria/pdf/Old/so-02-2-Planificacion de...

Page 1: so-06-Planificacion de procesossopa.dis.ulpgc.es/fso/teoria/pdf/Old/so-02-2-Planificacion de proceso… · ejemplo de diagrama de Gantt Proceso Duración P1 9 P2 4 P3 2 P1 P2 P3 Tiempos

Sistemas Operativos Tema 6. Planificación de

procesos

1

© 1998-2012 José Miguel Santos – Alexis Quesada – Francisco Santana

Page 2: so-06-Planificacion de procesossopa.dis.ulpgc.es/fso/teoria/pdf/Old/so-02-2-Planificacion de proceso… · ejemplo de diagrama de Gantt Proceso Duración P1 9 P2 4 P3 2 P1 P2 P3 Tiempos

Contenido

n  Modelo del sistema y criterios de rendimiento n  Algoritmo FCFS n  Algoritmo SJF n  Métodos basados en prioridades n  Turno rotatorio (Round-Robin) n  Métodos multicolas n  Multiprocesadores

2

Page 3: so-06-Planificacion de procesossopa.dis.ulpgc.es/fso/teoria/pdf/Old/so-02-2-Planificacion de proceso… · ejemplo de diagrama de Gantt Proceso Duración P1 9 P2 4 P3 2 P1 P2 P3 Tiempos

Planificación de procesos

n  El sistema operativo decide: q  qué proceso entra en la CPU cuando ésta queda

libre; q  en qué momento el proceso que está en

ejecución debe abandonar la CPU. è En otras palabras:

è  El S.O. debe aplicar una política de planificación de procesos

3

Page 4: so-06-Planificacion de procesossopa.dis.ulpgc.es/fso/teoria/pdf/Old/so-02-2-Planificacion de proceso… · ejemplo de diagrama de Gantt Proceso Duración P1 9 P2 4 P3 2 P1 P2 P3 Tiempos

¿Qué buscamos?

n  Podemos definir múltiples políticas de planificación de procesos: en orden de llegada, primero la tarea más breve, por orden de prioridad…

n  ¿Qué política nos interesa más? n  ¿Qué objetivos mínimos debe cumplir una

política de planificación? n  ¿Cómo valoramos si una política es mejor o

peor que otra?

4

Page 5: so-06-Planificacion de procesossopa.dis.ulpgc.es/fso/teoria/pdf/Old/so-02-2-Planificacion de proceso… · ejemplo de diagrama de Gantt Proceso Duración P1 9 P2 4 P3 2 P1 P2 P3 Tiempos

Criterios de rendimiento

n  Se usan varias magnitudes para medir el rendimiento de los algoritmos de planificación: q  Utilización de CPU: % de tiempo que la CPU está

ocupada q  Tiempo de retorno: tiempo transcurrido entre la

llegada de un proceso y su finalización q  Tiempo de espera: tiempo que un proceso

permanece en la cola de preparados q  Tiempo de respuesta: tiempo que un proceso

bloqueado tarda en entrar en CPU, desde que ocurre el evento que lo bloquea

5

Page 6: so-06-Planificacion de procesossopa.dis.ulpgc.es/fso/teoria/pdf/Old/so-02-2-Planificacion de proceso… · ejemplo de diagrama de Gantt Proceso Duración P1 9 P2 4 P3 2 P1 P2 P3 Tiempos

Criterios de rendimiento (2)

n  Posibles objetivos de la planificación: n  Minimizar el tiempo medio de espera o de retorno n  Maximizar la utilización de CPU n  Mantener el tiempo de respuesta por debajo de un valor

máximo

n  Se pueden considerar las medias, valores extremos o varianzas de estas magnitudes.

n  No existe una política de planificación óptima para todos los criterios. q  Habrá que llegar a un compromiso.

6

Page 7: so-06-Planificacion de procesossopa.dis.ulpgc.es/fso/teoria/pdf/Old/so-02-2-Planificacion de proceso… · ejemplo de diagrama de Gantt Proceso Duración P1 9 P2 4 P3 2 P1 P2 P3 Tiempos

Modelo del sistema: ráfagas de CPU y E/S n  Podemos considerar que la vida activa de un

proceso es una sucesión de: n  ráfagas de CPU -> el proceso ejecuta instrucciones n  ráfagas de E/S -> el proceso utiliza o espera por la E/S

n  Según la utilización de los recursos, se observan:

n  procesos intensivos en CPU (ej. cálculos numéricos) n  procesos intensivos en E/S (ej. interactivos)

7

Page 8: so-06-Planificacion de procesossopa.dis.ulpgc.es/fso/teoria/pdf/Old/so-02-2-Planificacion de proceso… · ejemplo de diagrama de Gantt Proceso Duración P1 9 P2 4 P3 2 P1 P2 P3 Tiempos

Histograma de tiempos de ráfaga de CPU

duración de la ráfaga (milisegundos) 0 40 16 32 8 24

160

140

120

100

80

60

40

20

frec

uenc

ia

8

Page 9: so-06-Planificacion de procesossopa.dis.ulpgc.es/fso/teoria/pdf/Old/so-02-2-Planificacion de proceso… · ejemplo de diagrama de Gantt Proceso Duración P1 9 P2 4 P3 2 P1 P2 P3 Tiempos

Políticas expulsivas (preemptive)

n  No expulsivas: el proceso que está en CPU la abandona cuando quiere (ej. FCFS)

n  problema de acaparamiento injusto de la CPU n  Windows 3.11, Apple Macintosh…

n  Expulsivas: el planificador puede desalojar al proceso que está en CPU

n  para implementar tiempo compartido y tiempo real, es necesaria una planificación expulsiva: Unix, Windows NT/XP, Mac OS X…

9

Page 10: so-06-Planificacion de procesossopa.dis.ulpgc.es/fso/teoria/pdf/Old/so-02-2-Planificacion de proceso… · ejemplo de diagrama de Gantt Proceso Duración P1 9 P2 4 P3 2 P1 P2 P3 Tiempos

Despachador (dispatcher)

n  Módulo que cede el control de la CPU al proceso seleccionado por el planificador a corto plazo

n  Cambia de contexto n  Cambia a modo usuario n  Saltar al punto apropiado del programa de usuario

10

Page 11: so-06-Planificacion de procesossopa.dis.ulpgc.es/fso/teoria/pdf/Old/so-02-2-Planificacion de proceso… · ejemplo de diagrama de Gantt Proceso Duración P1 9 P2 4 P3 2 P1 P2 P3 Tiempos

FCFS (en orden de llegada)

n  Calcular el tiempo de espera, tiempo de retorno y tiempo medio de espera si aplicamos el algoritmo FCFS suponiendo que llegan en el mismo instante en el siguiente orden: P1, P2, P3

n  Realizar los mismos cálculos suponiendo que llegan en el siguiente orden: P2, P3 y P1

Proceso Duración P1 9 P2 4 P3 2

11

Page 12: so-06-Planificacion de procesossopa.dis.ulpgc.es/fso/teoria/pdf/Old/so-02-2-Planificacion de proceso… · ejemplo de diagrama de Gantt Proceso Duración P1 9 P2 4 P3 2 P1 P2 P3 Tiempos

FCFS: ejemplo de diagrama de Gantt

Proceso DuraciónP1 9P2 4P3 2

P2 P1 P3

Tiempos de espera: P1=0; P2=9; P3=13 Tiempos de retorno: P1=9; P2=13; P3=15 t. espera medio: (0+9+13)/3 = 7.3 Si P1 hubiera llegado el último, los tiempos hubieran mejorado bastante (espera media=3.3):

0 9 13 15

P2 P1 P3 0 4 6 15

Diagrama de Gantt

12

Page 13: so-06-Planificacion de procesossopa.dis.ulpgc.es/fso/teoria/pdf/Old/so-02-2-Planificacion de proceso… · ejemplo de diagrama de Gantt Proceso Duración P1 9 P2 4 P3 2 P1 P2 P3 Tiempos

FCFS: características

n  La cola de preparados se gestiona como una FIFO

n  Simple de implementar n  Muy sensible al orden de llegada de los

procesos n  Perjudica a los procesos intensivos en E/S

(efecto convoy)

13

Page 14: so-06-Planificacion de procesossopa.dis.ulpgc.es/fso/teoria/pdf/Old/so-02-2-Planificacion de proceso… · ejemplo de diagrama de Gantt Proceso Duración P1 9 P2 4 P3 2 P1 P2 P3 Tiempos

SJF (primero el más corto)

n  SJF = Shortest Job First n  Entra en CPU el proceso con la ráfaga de CPU más

breve. n  Minimiza el tiempo de espera medio. n  Versión expulsiva: Shortest Remaining Time First

(SRTF). El proceso en CPU es desalojado si llega a la cola un proceso con duración más corta.

14

Page 15: so-06-Planificacion de procesossopa.dis.ulpgc.es/fso/teoria/pdf/Old/so-02-2-Planificacion de proceso… · ejemplo de diagrama de Gantt Proceso Duración P1 9 P2 4 P3 2 P1 P2 P3 Tiempos

SJF - ejemplo

n  Calcular el tiempo medio de espera que resulta de aplicar un algoritmo SJF no expulsivo

n  Calcular el tiempo medio de espera que resulta de aplicar un algoritmo SJF expulsivo (SRTF)

Proceso Llegada Duración P1 0 7 P2 2 4 P3 4 1 P4 5 4

15

Page 16: so-06-Planificacion de procesossopa.dis.ulpgc.es/fso/teoria/pdf/Old/so-02-2-Planificacion de proceso… · ejemplo de diagrama de Gantt Proceso Duración P1 9 P2 4 P3 2 P1 P2 P3 Tiempos

SJF - ejemplo

Proceso Llegada Duración esperaSJF

esperaSRTF

P1 0 7 0 9P2 2 4 6 1P3 4 1 3 0P4 5 4 7 2

P1 0

P3 P2 P4

P1 P2 P3 P2 P4 P1

7 8 12 16

0 2 4 5 7 11 16

SJF no expulsivo espera media: (0+6+3+7)/4=4

SJF expulsivo espera media: (9+1+0+2)/4=3

16

Page 17: so-06-Planificacion de procesossopa.dis.ulpgc.es/fso/teoria/pdf/Old/so-02-2-Planificacion de proceso… · ejemplo de diagrama de Gantt Proceso Duración P1 9 P2 4 P3 2 P1 P2 P3 Tiempos

SJF: inconvenientes

n  Riesgo de inanición de los procesos de larga duración.

n  El SJF no es implementable à se pueden estimar las duraciones de los procesos, según su historia reciente.

17

Page 18: so-06-Planificacion de procesossopa.dis.ulpgc.es/fso/teoria/pdf/Old/so-02-2-Planificacion de proceso… · ejemplo de diagrama de Gantt Proceso Duración P1 9 P2 4 P3 2 P1 P2 P3 Tiempos

Planificación por prioridades

n  Cada proceso tiene una prioridad; entra en CPU aquel con mayor prioridad.

n  la política puede ser expulsiva o no n  Prioridades definidas de forma interna (por el S.O.) o externa

(por los usuarios) n  El SJF es un caso (prioridad=duración estimada)

n  Riesgo de inanición de los procesos con menos prioridad.

n  Solución: envejecimiento. Aumentar progresivamente la prioridad a los procesos en espera.

18

Page 19: so-06-Planificacion de procesossopa.dis.ulpgc.es/fso/teoria/pdf/Old/so-02-2-Planificacion de proceso… · ejemplo de diagrama de Gantt Proceso Duración P1 9 P2 4 P3 2 P1 P2 P3 Tiempos

Turno rotatorio (Round-Robin)

n  Adecuado para implementar tiempo compartido n  Como el FCFS, pero cada proceso dispone de un

cuanto de tiempo máximo n  si cuando expira el cuanto de tiempo el proceso continúa en CPU, el

planificador lo desaloja y lo ingresa al final de la cola de preparados

n  La cola de preparados se gestiona como FIFO n  Si el cuanto de tiempo es Q y hay N procesos en cola, el

tiempo de respuesta es como mucho Q·(N-1)

19

Page 20: so-06-Planificacion de procesossopa.dis.ulpgc.es/fso/teoria/pdf/Old/so-02-2-Planificacion de proceso… · ejemplo de diagrama de Gantt Proceso Duración P1 9 P2 4 P3 2 P1 P2 P3 Tiempos

Round Robin: ejercicio

n  Probar con Q=4, Q=2, Q=1

Proceso Duración P1 15 P2 4 P3 3

20

Page 21: so-06-Planificacion de procesossopa.dis.ulpgc.es/fso/teoria/pdf/Old/so-02-2-Planificacion de proceso… · ejemplo de diagrama de Gantt Proceso Duración P1 9 P2 4 P3 2 P1 P2 P3 Tiempos

Influencia del cuanto de tiempo

n  Si Q es muy grande, los procesos terminan sus ráfagas de CPU antes de que termine el cuanto: se comporta como un FCFS.

n  Si Q=>0, se tiende a un sistema en el que cada proceso dispone de un procesador a 1/N de la velocidad del procesador real (procesador compartido).

n  Ojo, si Q es muy pequeño, ocurren más cambios de contexto y baja el rendimiento.

21

Page 22: so-06-Planificacion de procesossopa.dis.ulpgc.es/fso/teoria/pdf/Old/so-02-2-Planificacion de proceso… · ejemplo de diagrama de Gantt Proceso Duración P1 9 P2 4 P3 2 P1 P2 P3 Tiempos

Multicolas

n  Varias colas de preparados, cada una gestionada con una política diferente.

n  Las colas se reparten la CPU según alguna política: n  por prioridad absoluta n  un % de tiempo para cada cola

n  Multicolas con realimentación: n  posibilidad de que un proceso se mueva de una cola a otra, p.ej. si

cambia su comportamiento n  Ej. UNIX: un proceso que lleva mucho tiempo en espera se mueve a

una cola de más prioridad

22

Page 23: so-06-Planificacion de procesossopa.dis.ulpgc.es/fso/teoria/pdf/Old/so-02-2-Planificacion de proceso… · ejemplo de diagrama de Gantt Proceso Duración P1 9 P2 4 P3 2 P1 P2 P3 Tiempos

Multicolas - ejemplo

procesos del sistema (FCFS)

procesos interactivos de profesores (RR)

procesos interactivos de estudiantes (RR)

procesos por lotes (FCFS)

CPU

23

Page 24: so-06-Planificacion de procesossopa.dis.ulpgc.es/fso/teoria/pdf/Old/so-02-2-Planificacion de proceso… · ejemplo de diagrama de Gantt Proceso Duración P1 9 P2 4 P3 2 P1 P2 P3 Tiempos

Planificación en multiprocesadores n  Mismo objetivo que con una CPU, pero

ahora ampliamos el número de recursos disponibles para atender a los procesos.

n  ¿Sirven las mismas políticas? (FCFS, SJF, RR)

n  ¿Cómo gestionamos la cola de procesos preparados?

24

Page 25: so-06-Planificacion de procesossopa.dis.ulpgc.es/fso/teoria/pdf/Old/so-02-2-Planificacion de proceso… · ejemplo de diagrama de Gantt Proceso Duración P1 9 P2 4 P3 2 P1 P2 P3 Tiempos

Multiprocesadores: colas de procesos preparados n  Varias alternativas:

q  Una cola por procesador: A cada proceso de le asigna un procesador y sigue en él toda su vida. Ojo, la carga de trabajo puede quedar mal repartida.

q  Una cola común: reparto más equilibrado, pero hay riesgos de inconsistencia si varios procesadores manipulan simultáneamente la cola (ej. ¡¡dos procesadores podrían elegir al mismo proceso!!)

25