You are on page 1of 28

Tema 9.

5: Planificacin
Click to edit Master subtitle style

Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006

Tema 9.5: 1

Silberschatz, Galvin and Gagne 2005

Definicin y Conceptos Bsicos


n El trmino planificacin de

procesos hace referencia a un conjunto de polticas y mecanismos del SO que gobiernan el orden en que se ejecutan los procesos (Milenkovi)
n Un planificador de procesos es
Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006

un mdulo del SO que se


Tema 9.5: 2

Silberschatz, Galvin and Gagne 2005

Alternancia de Rfagas de CPU y E/S

Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006

Tema 9.5: 3

Silberschatz, Galvin and Gagne 2005

Tipos de Planificadores
n Planificador a largo plazo

(planificador de trabajos) escoge los procesos que ingresarn en la cola de listos


n Planificador a medio plazo -

escoge los procesos que se sacarn/introducirn temporalmente de/en la


Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006 Tema 9.5: 4 Silberschatz, Galvin and Gagne 2005

Planificador de CPU
n Escoge un proceso de entre los que

estn en memoria listos para ejecutarse y le asigna la CPU al proceso elegido


n La decisin de planificacin puede

ocurrir: 1. Cuando un proceso pasa de ejecucin a espera


Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006 Tema 9.5: 5 Silberschatz, Galvin and Gagne 2005

Despachador
n El despachador es un mdulo que

cede la CPU al proceso elegido por el planificador de CPU. Para ello el despachador tiene que:
l l

Realizar una conmutacin de contexto Cambiar la mquina a modo usuario (no privilegiado) Saltar al punto apropiado del programa para continuar con su
Tema 9.5: 6 Silberschatz, Galvin and Gagne 2005

Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006

Criterios de Planificacin
n Utilizacin de la CPU mantener

la CPU tan ocupada como sea posible (maximizar)


n Rendimiento nmero de

procesos que se completan por unidad de tiempo (maximizar)


n Tiempo de retorno tiempo

Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006

transcurrido desde que se presenta el proceso hasta que se


Tema 9.5: 7

Silberschatz, Galvin and Gagne 2005

Algoritmo First-Come, First-Served (FCFS)


Procesos P1 P2 P3
n

Rfaga de CPU (ms)

24 3 3

Los procesos llegan en el orden: P1 , P2 , P3 . La planificacin es:

P 1 0
n n

P 2 2 4 2 7

P 3 3 0

Tiempo de espera para P1 = 0; P2 = 24; P3 = 27 Tiempo de espera medio: (0 + 24 + 27)/3 = 17

Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006

Tema 9.5: 8

Silberschatz, Galvin and Gagne 2005

Algoritmo FCFS Ahora cambiamos el orden de llegada de los procesos


0 6 n La nueva 3planificacin es: P 2 P 3 P P2 , P3 , P1 1 3 0

n Tiempo de espera para P1 = 6; P2 =


Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006 Tema 9.5: 9

Silberschatz, Galvin and Gagne 2005

Algoritmo Shortest Job First (SJF)


n Tambin se conoce como Shortest

Remaining Time Next (SRTN)


n Asigna la CPU al proceso cuya

siguiente rfaga de CPU es ms corta. Si dos procesos empatan se resuelve el empate por FCFS
n Dos posibilidades:
l

Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006 Tema 9.5: 10

no expropiativo cuando se asigna la CPU a un proceso no se puede expropiar hasta que completa su rfaga

Silberschatz, Galvin and Gagne 2005

Ejemplo de SJF No Expropiativo Procesos Llegada Rfaga CPU (ms) P1


P 1 3

0 7
P 3 8 P 2

P2 P3 P4
7

2 4 4
1 2 5

P 14

1 6

n SJF (no expropiativo)


Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006 Tema 9.5: 11 Silberschatz, Galvin and Gagne 2005

Ejemplo de SJF Expropiativo Procesos Llegada Rfaga CPU (ms) P1 P2


P 1 0 2 P 2 4 P 3 5 P 2

0 7 2 4
P 4 1 1 P 4 11

P3 P4
7

5 4

1 6

n SJF (expropiativo)
Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006 Tema 9.5: 12 Silberschatz, Galvin and Gagne 2005

Duracin de la Siguiente Rfaga de CPU

n Lo habitual es que no se conozca, as

que slo se puede estimar

n Sehace usandopara la siguiente rfaga de CPU 4 n +4= valor predicho la duracin de las .
4 , 4 4 . rfagas de CPU anteriores, usando 4 Expresin : . un promedio exponencial

4 t n = longitud de la n sima rfaga de CPU .

n +4= t n + (4 ) n .

Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006 Tema 9.5: 13

Silberschatz, Galvin and Gagne 2005

Promedio Exponencial
n =0
l l

n+1 = 4n La historia reciente no se tiene en cuenta 4n+1 = tn Slo se tiene en cuenta la ltima rfaga de CPU

n 4 =1
l l

n Si expandimos la frmula tenemos:


Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006 Tema 9.5: 14

n+1 = 4 tn+(1 - 4)4 tn-1 +

Silberschatz, Galvin and Gagne 2005

Algoritmo de Planificacin con Prioridad


n Se asocia con cada proceso una

prioridad (nmero entero)


n La CPU se asigna al proceso con la

prioridad ms alta (consideramos nmero pequeo prioridad alta)


n Tenemos dos posibilidades:
l l

Expropiativo No expropiativo
Silberschatz, Galvin and Gagne 2005

n SJF se puede ver como un algoritmo


Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006 Tema 9.5: 15

Ejemplo de Planificacin con Prioridades


Procesos Prioridad P1 P2 P3 P4 P5 10 3 1 2 1 5 1 3 4 2 Rfaga CPU

Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006 Tema 9.5: 16

Silberschatz, Galvin and Gagne 2005

Algoritmo Round Robin (RR)


n Cada proceso obtiene la CPU

durante un breve espacio de tiempo (cuanto o quantum de tiempo), normalmente de 10 a 100 milisegundos. Cuando el tiempo pasa, el proceso es expropiado e insertado al final de la cola de listos.
n Si hay n procesos en la cola de
Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006 Tema 9.5: 17

listos y el quantum es q, cada

Silberschatz, Galvin and Gagne 2005

Ejemplo de RR con Quantum = 20

Procesos Rfaga CPU P1 53 P2 17


P1 P2 P3 P4 P1 P3 P4 P1 P3 P3

P3 68

2 0

3 7

5 7

7 7

9 11 7 P4 7

12 13 15 16 24 4 4 2 1

n Planificacin:

Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006 Tema 9.5: 18

Silberschatz, Galvin and Gagne 2005

Quantum y Cambios de Contexto

Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006 Tema 9.5: 19

Silberschatz, Galvin and Gagne 2005

El Tiempo de Retorno Frente al Quantum

Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006 Tema 9.5: 20

Silberschatz, Galvin and Gagne 2005

Algoritmo de Colas Multinivel


n La cola de listos se divide en colas

separadas. Ej.:
l l

procesos de primer plano (interactivos) procesos de segundo plano (por lotes)

n Cada cola puede tener un algoritmo

de planificacin diferente
l l

primer plano RR segundo plano FCFS


Silberschatz, Galvin and Gagne 2005

Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006 Tema 9.5: 21

n Se debe planificar a nivel de cola

Colas Multinivel

Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006 Tema 9.5: 22

Silberschatz, Galvin and Gagne 2005

Colas Multinivel con Realimentacin


n En este caso un proceso se puede

mover entre las colas. Es una forma de implementar el envejecimiento para evitar inanicin.
n Un algoritmo de planificacin de

colas multinivel con realimentacin est definido por los siguientes parmetros:
Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006 Tema 9.5: 23 Silberschatz, Galvin and Gagne 2005

Ejemplo de Colas Multinivel con Realimentacin

n Tenemos tres colas:


l l l

Q0 RR con quantum 8 ms Q1 RR con quantum 16 ms Q2 FCFS

n Planificacin
l

Un proceso que entra en la cola de procesos listos ingresa en la cola Q0 . Cuando obtiene la CPU se le asignan 8 ms. Si no termina su rfaga de CPU en
Silberschatz, Galvin and Gagne 2005

Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006 Tema 9.5: 24

Ejemplo de Colas Multinivel con Realimentacin

Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006 Tema 9.5: 25

Silberschatz, Galvin and Gagne 2005

Prioridades en Windows XP
Clases de Prioridad (procesos) Modificadores (hilos)
n

El algoritmo es de Colas Multinivel con Realimentacin. Cada prioridad tiene asociada una cola con planificacin RR. Prioridades 0-15 variables, 16-31 fijas (tiempo real). A los hilos que agotan su quantum se les reduce la prioridad. Cuando un hilo pasa de espera a listo se aumenta su prioridad.
Silberschatz, Galvin and Gagne 2005

n n

Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006 Tema 9.5: 26

Planificacin en Linux
n n

Se usan dos algoritmos: tiempo compartido y tiempo real Tiempo compartido


l

Prioridad basada en crditos el proceso con ms crditos es el siguiente en tomar la CPU Los crditos se reducen cuando ocurre una interrupcin de reloj Cuando el crdito es 0, se escoge otro proceso Cuando todos los procesos tienen crdito 0 se asigna de nuevo crdito para todos los procesos
4

l l l

Basado en factores como prioridad e historia

Tiempo real
l

Tiempo real blando


4 4 4

Cumple el estndar Posix.1b dos clases FCFS y RR El proceso de mayor prioridad siempre se ejecuta primero
Silberschatz, Galvin and Gagne 2005

Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006 Tema 9.5: 27

Evaluacin de los Algoritmos


n Modelado determinista toma

una carga de trabajo predeterminada y define el rendimiento de cada algoritmo para esa carga
n Modelos de colas n Implementacin

Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006 Tema 9.5: 28

Silberschatz, Galvin and Gagne 2005

You might also like