26
Tema 5. Planificación de procesos

003 ACI640 U5 Planificacion de Procesos

Embed Size (px)

Citation preview

Page 1: 003 ACI640 U5 Planificacion de Procesos

Tema 5. Planificación de procesos

Page 2: 003 ACI640 U5 Planificacion de Procesos

2© José Miguel Santos Espino - ULPGC

ContenidoModelo del sistema y criterios de rendimiento

Algoritmo FCFS

Algoritmo SJF

Métodos basados en prioridades

Turno rotatorio (Round-Robin)

Métodos multicolas

Multiprocesadores

Page 3: 003 ACI640 U5 Planificacion de Procesos

3© José Miguel Santos Espino - ULPGC

Planificación de procesosEl sistema operativo decide:

qué proceso entra en la CPU cuando ésta queda libre;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

Page 4: 003 ACI640 U5 Planificacion de Procesos

4© José Miguel Santos Espino - ULPGC

¿Qué buscamos?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…

¿Qué política nos interesa más?

¿Qué objetivos mínimos debe cumplir una política de planificación?

¿Cómo valoramos si una política es mejor o peor que otra?

Page 5: 003 ACI640 U5 Planificacion de Procesos

5© José Miguel Santos Espino - ULPGC

Criterios de rendimientoSe usan varias magnitudes para medir el rendimiento de los algoritmos de planificación:

Utilización de CPU: % de tiempo que la CPU está ocupada Tiempo de retorno: tiempo transcurrido entre la llegada de un proceso y su finalización Tiempo de espera: tiempo que un proceso permanece en la cola de preparados Tiempo de respuesta: tiempo que un proceso bloqueado tarda en entrar en CPU, desde que ocurre el evento que lo bloquea

Page 6: 003 ACI640 U5 Planificacion de Procesos

6© José Miguel Santos Espino - ULPGC

Criterios de rendimiento

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

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

No existe una política de planificación óptima para todos los criterios.

Habrá que llegar a un compromiso.

Page 7: 003 ACI640 U5 Planificacion de Procesos

7© José Miguel Santos Espino - ULPGC

Modelo del sistema: ráfagas de CPU y E/S

Podemos considerar que la vida activa de un proceso es una sucesión de:

ráfagas de CPU -> el proceso ejecuta instrucciones ráfagas de E/S -> el proceso utiliza o espera por la E/S

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

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

Page 8: 003 ACI640 U5 Planificacion de Procesos

8© José Miguel Santos Espino - ULPGC

Histograma de tiempos de ráfaga de CPU

duración de la ráfaga (milisegundos)0 4016 328 24

160

140

120

100

80

60

40

20

frec

uenc

ia

Page 9: 003 ACI640 U5 Planificacion de Procesos

9© José Miguel Santos Espino - ULPGC

Políticas expulsivas (preemptive)No expulsivas: el proceso que está en CPU la abandona cuando quiere (ej. FCFS)

problema de acaparamiento injusto de la CPUWindows 3.11, Apple Macintosh…

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

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

Page 10: 003 ACI640 U5 Planificacion de Procesos

10© José Miguel Santos Espino - ULPGC

Políticas expulsivas

CostoControlar el acceso a datos compartidos

procesos que comparten datos (necesario coordinar el acceso a los datos compartidos)Evitar que estructuras de datos del núcleo puedan quedar inconsistentes por los cambios de contexto

Page 11: 003 ACI640 U5 Planificacion de Procesos

11© José Miguel Santos Espino - ULPGC

Despachador (dispatcher)Módulo que cede el control de la CPU al proceso seleccionado por el planificador a corto plazo

Cambia de contextoCambia a modo usuarioSaltar al punto apropiado del programa de usuario

Page 12: 003 ACI640 U5 Planificacion de Procesos

12© José Miguel Santos Espino - ULPGC

FCFS (en orden de llegada)

2P34P29P1

DuraciónProceso

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

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

Page 13: 003 ACI640 U5 Planificacion de Procesos

13© José Miguel Santos Espino - ULPGC

FCFS:ejemplo de diagrama de Gantt

Proceso DuraciónP1 9P2 4P3 2

P2P1 P3

Tiempos de espera: P1=0; P2=9; P3=13Tiempos de retorno: P1=9; P2=13; P3=15t. 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 P1P30 4 6 15

Diagrama de Gantt

Page 14: 003 ACI640 U5 Planificacion de Procesos

14© José Miguel Santos Espino - ULPGC

FCFS: característicasLa cola de preparados se gestiona como una FIFO

Simple de implementar

Muy sensible al orden de llegada de los procesos

Perjudica a los procesos intensivos en E/S (efecto convoy)

Page 15: 003 ACI640 U5 Planificacion de Procesos

15© José Miguel Santos Espino - ULPGC

SJF (primero el más corto)SJF = Shortest Job First

Entra en CPU el proceso con la ráfaga de CPU más breve.

Minimiza el tiempo de espera medio.

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.

Page 16: 003 ACI640 U5 Planificacion de Procesos

16© José Miguel Santos Espino - ULPGC

SJF - ejemplo

5420

Llegada

1P34P4

4P27P1

DuraciónProceso

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

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

Page 17: 003 ACI640 U5 Planificacion de Procesos

17© José Miguel Santos Espino - ULPGC

SJF - ejemploProceso Llegada Duración espera

SJFesperaSRTF

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

P10

P3 P2 P4

P1 P2 P3 P2 P4 P1

7 8 12 16

0 2 4 5 7 11 16

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

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

Page 18: 003 ACI640 U5 Planificacion de Procesos

18© José Miguel Santos Espino - ULPGC

SJF: inconvenientes

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

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

Page 19: 003 ACI640 U5 Planificacion de Procesos

19© José Miguel Santos Espino - ULPGC

Planificación por prioridadesCada proceso tiene una prioridad; entra en CPU aquel con mayor prioridad.

la política puede ser expulsiva o no Prioridades definidas de forma interna (por el S.O.) o externa (por los usuarios) El SJF es un caso (prioridad=duración estimada)

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

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

Page 20: 003 ACI640 U5 Planificacion de Procesos

20© José Miguel Santos Espino - ULPGC

Turno rotatorio (Round-Robin)Adecuado para implementar tiempo compartido

Como el FCFS, pero cada proceso dispone de un cuanto de tiempo máximo

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

La cola de preparados se gestiona como FIFO

Si el cuanto de tiempo es Q y hay N procesos en cola, el tiempo de respuesta es como mucho Q·(N-1)

Page 21: 003 ACI640 U5 Planificacion de Procesos

21© José Miguel Santos Espino - ULPGC

Round Robin: ejercicio

3P34P215P1

DuraciónProceso

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

Page 22: 003 ACI640 U5 Planificacion de Procesos

22© José Miguel Santos Espino - ULPGC

Influencia del cuanto de tiempo (Q)

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

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).

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

Page 23: 003 ACI640 U5 Planificacion de Procesos

23© José Miguel Santos Espino - ULPGC

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

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

Multicolas con realimentación: posibilidad de que un proceso se mueva de una cola a otra, p.ej. si cambia su comportamiento Ej. UNIX: un proceso que lleva mucho tiempo en espera se mueve a una cola de más prioridad

Page 24: 003 ACI640 U5 Planificacion de Procesos

24© José Miguel Santos Espino - ULPGC

Multicolas - ejemplo

procesos del sistema (FCFS)

procesos interactivosde profesores (RR)

procesos interactivosde estudiantes (RR)

procesos por lotes (FCFS)

CPU

Page 25: 003 ACI640 U5 Planificacion de Procesos

25© José Miguel Santos Espino - ULPGC

Planificación en multiprocesadores

Mismo objetivo que con una CPU, pero ahora ampliamos el número de recursos disponibles para atender a los procesos.

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

¿Cómo gestionamos la cola de procesos preparados?

Page 26: 003 ACI640 U5 Planificacion de Procesos

26© José Miguel Santos Espino - ULPGC

Multiprocesadores:colas de procesos preparados

Varias alternativas: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. 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!!)