Está en la página 1de 28

Unidad 2: Gestin de Procesos

Tema 5: Planificacin de procesos.


5.1 5.2 5.3 5.4 Criterios y tipos de planificacin. Algoritmos de planificacin. Mtodos multicolas y multiprocesadores. Evaluacin de polticas de planificacin.
Escuela Universitaria de Informtica (Segovia)

5.1 Criterios y tipos de planificacin.


Introduccin:

Objetivo de la multiprogramacin:
Tener un proceso en ejecucin en todo momento para un mayor aprovechamiento de la CPU.

En un sistema monoprocesador nunca habr ms de un proceso en ejecucin. Si hay ms procesos, tendrn que esperar a que la CPU quede libre para reasignarse. Para un mayor aprovechamiento, se mantienen varios procesos en memoria a la vez. Cuando un proceso necesita esperar, el SO le quita la CPU y se la da a otro proceso. Casi todos los recursos del computador se planifican antes de usarse; la planificacin es fundamental en el diseo de un SO.
Escuela Universitaria de Informtica (Segovia) 2

5.1 Criterios y tipos de planificacin.


Ciclo de rfagas de CPU y E/S:


La ejecucin de un proceso consiste en un ciclo de ejecucin alternando de manera sucesiva:


Rfagas de CPU (que inician el proceso), durante las cuales el proceso ejecuta instrucciones. Rfagas de E/S, durante las cuales el proceso utiliza o espera por la E/S.

Se ha medido la duracin de las rfagas de CPU y resulta que varan considerablemente de un proceso a otro y de un procesador a otro, sin embargo tienden a tener una curva de frecuencia bien tipificada.

Escuela Universitaria de Informtica (Segovia)

5.1 Criterios y tipos de planificacin.


Ciclo de rfagas de CPU y E/S:


Histograma de tiempos de rfaga de CPU:


Se observa:
Gran n de rfagas de CPU cortas y pocas rfagas de CPU largas. Rfagas de CPU cortas: programas limitados por E/S. Rfagas de CPU largas: programas limitados por CPU.

Escuela Universitaria de Informtica (Segovia)

5.1 Criterios y tipos de planificacin.


Planificacin expropiativa:

Las decisiones de planificacin de CPU se toman segn las cuatro situaciones siguientes:
1. 2. 3. 4. Cuando Cuando Cuando Cuando un un un un proceso proceso proceso proceso pasa del estado en ejecucin a en espera. pasa del estado en ejecucin a listo. pasa del estado en espera al estado listo. termina.

Los casos 1 y 4 corresponden a una planificacin no expropiativa (a la fuerza hay que escoger un nuevo proceso). Los casos 2 y 3 corresponden a una planificacin expropiativa.
Escuela Universitaria de Informtica (Segovia)

5.1 Criterios y tipos de planificacin.


Criterios de planificacin:

Utilizacin de CPU: % de tiempo que la CPU est ocupada. Rendimiento: n de procesos, trabajos, que se completan por unidad de tiempo. Tiempo de retorno: tiempo transcurrido entre la llegada de un proceso y su finalizacin. 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 la CPU desde que ocurre el suceso que lo bloquea.

Escuela Universitaria de Informtica (Segovia)

5.1 Criterios y tipos de planificacin.


Criterios de planificacin:

Posibles objetivos de la planificacin:


Minimizar el tiempo medio de espera o de retorno. Maximizar la utilizacin de CPU. Mantener el tiempo de respuesta por debajo de un valor mximo.

En sistemas interactivos, como los sistemas de tiempo compartido, se consideran tambin la estadstica (las medias) de esas magnitudes. No existe ninguna poltica de planificacin ptima. La bondad de un mtodo depende de:
Tipo de procesos. Criterio.
Escuela Universitaria de Informtica (Segovia)

5.2 Algoritmos de planificacin.

FCFS (First Come, First Served). SJF (Shortest Job First) o SPN (Shortest Process Next). SRTF (Shortest Remaining Time First). Planificacin por prioridad. Planificacin por turno circular, RR (Round Robin). Realimentacin. HRRN (Highest Response Ratio Next).

Escuela Universitaria de Informtica (Segovia)

5.2 Algoritmos de planificacin.


FCFS (First Come, First Served), ejemplo:


Planificacin de servicio por orden de llegada. Calcular el tiempo de espera, tiempo de retorno y tiempo medio de espera si aplicamos el algoritmo FCFS suponiendo que los procesos siguientes llegan en el mismo instante y en el orden: P1, P2, P3. Y si el orden de llegada es: P2, P3, P1?.

Escuela Universitaria de Informtica (Segovia)

5.2 Algoritmos de planificacin.


FCFS, ejemplo:

Escuela Universitaria de Informtica (Segovia)

10

5.2 Algoritmos de planificacin.


FCFS:

Planificacin de servicio por orden de llegada. Es el algoritmo ms sencillo, el primer proceso que solicita la CPU es el primero en recibirla. Fcil de implementar con una poltica FIFO para la cola de preparados. Tiempo de espera promedio bastante largo.

Escuela Universitaria de Informtica (Segovia)

11

5.2 Algoritmos de planificacin.


SJF (Shortest Job First), ejemplo:


Primero el trabajo ms corto. Calcular el tiempo medio de espera que resulta de aplicar:
Un algoritmo SJF no expulsivo. Un algoritmo SJF expulsivo (SRTF, Shortest Remaining Time First).

Escuela Universitaria de Informtica (Segovia)

12

5.2 Algoritmos de planificacin.


SJF, ejemplo:

Escuela Universitaria de Informtica (Segovia)

13

5.2 Algoritmos de planificacin.


SJF:

Entra en la CPU el proceso con la rfaga de CPU ms corta. Minimiza el tiempo de espera medio. Riesgo de inanicin de los procesos de larga duracin. No es implementable. Se pueden estimar las duraciones de los procesos, segn su historia reciente. Versin expulsiva (SRTF): el proceso en CPU es desalojado si llega a la cola un proceso con duracin ms corta.

Escuela Universitaria de Informtica (Segovia)

14

5.2 Algoritmos de planificacin.


Planificacin por prioridad:


Cada proceso tiene una prioridad, entrar primero en la CPU el que tenga mayor prioridad.
Poltica de prioridades expulsiva o no. La prioridad se puede definir:
De forma interna, la define el SO. De forma externa, la definen los usuarios.

SJF es un caso de planificacin por prioridad.


Los procesos de prioridad ms baja tienen riesgo de inanicin. Solucin: envejecimiento. Ir aumentando de forma progresiva la prioridad de los procesos en espera.
Escuela Universitaria de Informtica (Segovia)

15

5.2 Algoritmos de planificacin.


Planificacin por turno circular:


RR (Round Robin):
Adecuado para implementar tiempo compartido. Comportamiento como FCFS, con la diferencia de que cada proceso dispone de un cuanto de tiempo mximo.
Si cuando expira el cuanto de tiempo el proceso contina en CPU, el planificador lo desaloja y lo ingresa al final de la cola de preparados.

La cola de preparados se gestiona como FIFO. Segn sea el cuanto de tiempo, Q:


Si Q es muy grande, los procesos terminan sus rfagas 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). Si Q es muy pequeo se suceden constantemente los cambios de contexto y del rendimiento disminuye mucho.

Escuela Universitaria de Informtica (Segovia)

16

5.2 Mtodos Multicola y Multiprocesador.


Planificacin con colas de mltiples niveles:


Distinguimos entre procesos que pueden tener distintas necesidades en cuanto al tiempo de respuesta y por tanto distintas necesidades de planificacin.
Procesos que se ejecutan en primer plano o interactivos. Procesos que se ejecutan en segundo plano o por lotes.

Escuela Universitaria de Informtica (Segovia)

17

5.2 Mtodos Multicola y Multiprocesador.


Planificacin con colas de mltiples niveles:


Un algoritmo de planificacin con colas de mltiples niveles divide la cola de procesos listos en varias colas. Cada cola tiene su propio algoritmo de planificacin. Existir, por tanto, una planificacin entre colas. Las colas se pueden planificar segn:
Planificacin expropiativa de prioridades fijas. Dividiendo el tiempo de CPU entre las colas.

Escuela Universitaria de Informtica (Segovia)

18

5.2 Mtodos Multicola y Multiprocesador.


Planificacin con colas de mltiples niveles y realimentacin:


Se permite que un proceso pase de una cola a otra. Si un proceso gasta demasiado tiempo de CPU, se le pasa a una cola de menor prioridad. Si un proceso espera mucho tiempo en una cola de baja prioridad se le puede pasar a una de mayor prioridad, evitando la inanicin. (Caso del sistema UNIX)

Escuela Universitaria de Informtica (Segovia)

19

5.2 Mtodos Multicola y Multiprocesador.


Planificacin con colas de mltiples niveles y realimentacin:


Un planificador de colas multinivel con realimentacin est definido por los siguientes parmetros:
El nmero de colas. El algoritmo de planificacin para cada cola. Los mtodos para determinar cuando mover un proceso a una cola de distinta prioridad a la que ocupa. El mtodo para determinar en qu cola ingresar un proceso.

Escuela Universitaria de Informtica (Segovia)

20

5.2 Mtodos Multicola y Multiprocesador.


Planificacin en multiprocesadores:

Varias CPU => planificacin ms compleja. Supondremos procesadores de igual funcionamiento:


Cualquier procesador disponible podr ejecutar cualquier proceso de la cola.

Uso de cola comn para todos los procesos:


No habr procesadores ociosos con su cola vaca. No habr procesadores con muy alta ocupacin.

Dos posibles estrategias:


Cada procesador se autoplanifica, asegurndonos de que:
Dos procesadores no escojan el mismo proceso. No se quede ningn proceso sin escoger.

Un procesador acta como planificador de los dems procesadores.


Escuela Universitaria de Informtica (Segovia) 21

5.2 Evaluacin de polticas de planificacin.


Cmo escoger el algoritmo de planificacin a utilizar?


Criterios de evaluacin de un algoritmo:


Grado de utilizacin de la CPU. Tiempo de respuesta. Rendimiento.

Evaluacin de polticas:
Modelado determinista. Modelos de colas (estadsticos). Simulaciones. Implementacin.

Escuela Universitaria de Informtica (Segovia)

22

5.2 Evaluacin de polticas de planificacin.


Modelado determinista:

Evaluacin analtica de algoritmos: se calcula el desempeo de un algoritmo teniendo en cuenta la carga de trabajo del sistema:
1. 2. 3. 4. Se definen los criterios de rendimiento. Se buscan los algoritmos candidatos. Se establece una carga de trabajo representativa del sistema. Para cada algoritmo:
Sometemos la carga de trabajo a su planificacin. Evaluamos su rendimiento en funcin de los criterios de 1.

5. Seleccionamos el que mejor se comporte.


Escuela Universitaria de Informtica (Segovia)

23

5.2 Evaluacin de polticas de planificacin.


Modelado determinista:

Caractersticas:
Cmodo de realizar. Proporciona magnitudes exactas con las que comparar los algoritmos. Limitacin de su validez en cuanto a que se le somete a una carga concreta de trabajo.

Escuela Universitaria de Informtica (Segovia)

24

5.2 Evaluacin de polticas de planificacin.


Modelos de colas:

Metodologa:
Determinacin de la distribucin (estadstica) de rfagas de CPU y de E/S. Distribucin de los tiempos de llegada al sistema.

Resultado: probabilidad de una rfaga de CPU dada.


Distribucin exponencial que se describe en trminos de su media. Clculos de:
Rendimiento promedio. Tiempo de espera ...

Sistema informtico como:


Red de servidores, cada servidor con su cola de procesos en espera
Escuela Universitaria de Informtica (Segovia)

25

5.2 Evaluacin de polticas de planificacin.


Simulaciones:

Programacin de un modelo del sistema de computacin. Generacin de datos: generador de nmeros aleatorios modificado para generar:
Procesos. Tiempo de rfagas de CPU. Llegadas, partidas, ...

Problemas:
Simulaciones costosas, requieren mucho tiempo y recursos. Cintas de rastreo, registran secuencias de sucesos reales, requieren mucho espacio de almacenamiento. Tarea compleja de diseo, codificacin y depuracin del simulador.
Escuela Universitaria de Informtica (Segovia)

26

5.2 Evaluacin de polticas de planificacin.


Implementacin:

Mtodo ms fiable, forma exacta de evaluar un algoritmo de planificacin. Metodologa:


Codificarlo. Colocarlo en el SO. Probar su funcionamiento.

Problema:
Coste elevado:
Modificacin del SO. Dificultar el trabajo de los usuarios, puesto que el SO est en continuo cambio.

Escuela Universitaria de Informtica (Segovia)

27

5.2 Evaluacin de polticas de planificacin.


Solucin:

Plantear un esquema hbrido del tipo:


1. Anlisis preliminar de las polticas candidatas mediante modelos deterministas. 2. Simulacin de la opcin u opciones ms ventajosas. 3. Implementacin de la opcin ptima:
Primero en un sistema de desarrollo (pruebas). Finalmente en un sistema de produccin.

Problema:
Entorno dinmico y variable (nuevos programas, nuevos problemas). Caracterstica deseada: Planificacin flexible, separacin clara entre mecanismos y polticas.
Escuela Universitaria de Informtica (Segovia) 28

También podría gustarte