Вы находитесь на странице: 1из 17

Planificacin (Scheduling) de la CPU

Conceptos Bsicos Criterios de Planificacin Algoritmos de Planificacin Planificacin de Procesadores Mltiples Planificacin en Tiempo Real Algoritmos de Evaluacin

Conceptos Bsicos
Maximizar la utilizacin del CPU obtenida con la multiprogramacin Ciclo de rfaga CPUI/O. La ejecucin del proceso consiste de un ciclo de CPU y de una espera de I/O. Distribucin de las rfagas de CPU

Secuencia Alternante de Rfagas de CPU y de E/S

Histograma de Tiempos de Rfaga de CPU

Planificador de CPU
Selecciona de los procesos en memoria aquellos que estn listos para ejecutarse, y coloca en la CPU uno de ellos. Las decisiones de planificacin de CPU pueden llevarse a cabo cuando un proceso:
1. Conmuta del estado de ejecucin al de espera. 2. Conmuta del estado de ejecucin al de listos. 3. Conmuta del estado de espera al de listos (despus de una operacin de E/S, por ejemplo). 4. Cuando el proceso termina.

El esquema de planificacin 1 y 4 es no-apropiativo o cooperativo. Los otros esquemas son apropiativos.

Despachador
El despachador es el modulo que da el control de la CPU al proceso seleccionado por el planificador de corto plazo; esta funcin incluye:
Conmutacin de contexto Conmutacin a modo de usuario Saltar a la localidad apropiada en el programa de usuario para reiniciar el programa

Latencia de despacho el tiempo que le lleva al despachador detener un proceso e iniciar la ejecucin de otro.

Criterios de Planificacin
Utilizacin de la CPU mantener a la CPU tan ocupada como sea posible Rendimiento # de procesos que completa su ejecucin por unidad de tiempo cantidad de tiempo para ejecutar un proceso particular Tiempo de entrega el intervalo desde el momento que se presenta un proceso hasta su terminacin Tiempo de espera es la suma de los periodos esperando en la cola de listos Tiempo de respuesta en un sistema interactivo, la cantidad de tiempo desde la presentacin de la solicitud hasta que se produce la primera respuesta, no se trata de la salida (en ambientes de tiempo-compartido)

Criterios de Optimizacin
Maximizar la utilizacin de la CPU Maximizar el rendimiento Minimizar el tiempo de entrega promedio Minimizar el tiempo de espera Minimizar el tiempo de respuesta mximo

Planificacin: Primero en Entrar, Primero en Servirse First-Come, First-Served (FCFS)


Proceso Tiempo de rfaga P1 24 P2 3 P3 3 Supongamos que los procesos llegan en el orden: P1 , P2 , P3 :

P1 0 24

P2 27

P3 30

El tiempo de espera para: P1 = 0; P2 = 24; P3 = 27 El tiempo de espera promedio: (0 + 24 + 27)/3 = 17

Planificacin FCFS (Cont.)


Suponga que los procesos llegan en el orden; P2 , P3 , P1 . La grfica de Gantt para la planificacin es: P2 P3 P1

0 3 6 30 Tiempo de espera: P1 = 6; P2 = 0; P3 = 3 Tiempo de espera promedio: (6 + 0 + 3)/3 = 3 Mucho mejor que el caso previo pero impredecible ya que solo tiene una oportunidad en seis de ejecutar los trabajos en la secuencia mas ventajosa. Existe un efecto Convoy cuando los procesos cortos esperan que un proceso grande suelte la CPU El algoritmo FCFS es no-apropiativo

Planificacin: Sigue el Trabajo mas Corto Shortest-Job-First (SJF)


Asocia con cada proceso la longitud de su siguiente rfaga de CPU. Usa esta longitud para planificar los procesos con el tiempo mas corto. Dos esquemas: No-apropiativo una vez que la CPU es dada a un proceso no puede ser apropiada hasta que se complete su rfaga de CPU. Apropiativo Si un nuevo proceso llega con una longitud de rfaga de CPU menor que el tiempo remanente del proceso actualmente en ejecucin, apropia. Este esquema es conocido como: Primero el de Tiempo Restante mas Breve Shortest-Remaining-Time-First (SRTF). SJF es optimo da el mnimo tiempo de espera promedio para un conjunto dado de procesos, solo cuando todos los trabajos estan disponibles al mismo tiempo (entornos por lotes) asi como las estimaciones de CPU y son precisas.

Ejemplo de SJF No-Apropiativo


Proceso Tiempo de llegada P1 0.0 2.0 P2 4.0 P3 5.0 P4 SJF (no-apropiativo) P1 0 3 7 P3 8 P2 12 Rfaga 7 4 1 4 P4 16

Tiempo de espera promedio = (0 + 6 + 3 + 7)/4 = 4 Tiempo de respuesta = 7+(7+1)+(7+1+4)+(7+1+4+4)/4 = (4*7+3*1+2*4+4)/4 Dado que el tiempo para el primer trabajo aparece cuatro veces en la ecuacin , tiene cuatro veces mas efecto sobre el promedio que la duracin del cuarto trabajo, que solo figura una vez. Si se ordenan desde el lapso mas corto al mas largo, el resultado ser el promedio mas pequeo posible.

Ejemplo de SJF Apropiativo (SRTF)


Proceso Tiempo de llegada P1 0.0 2.0 P2 4.0 P3 5.0 P4 SJF (apropiativo)
P1 0 2 P2 4 P3 5 P2 7 P4 11

Rfaga 7 4 1 4
P1 16

Tiempo de espera promedio = (9 + 1 + 0 +2)/4 = 3. Sin tomar en cuenta el tiempo de los cambios de contexto por lo que sus ventajas se ven disminuidas en un entorno real de operacin

Determinar la Longitud de la Siguiente Rfaga de la CPU


Solo se puede estimar la longitud. Se puede calcular por medio de la longitud de rfaga de CPU previa, usando el promedio exponencial.
1. tn = actual lenght of nthCPU burst 2. n +1 = predicted value for the next CPU burst 3. , 0 1 4. Define :

n=1 = tn + (1 ) n .

Prediccin de la Longitud de la siguiente Rfaga de CPU

Ejemplos de Promedio Exponencial


n=1 = tn + (1 ) n .

=0
n+1 = n La historia reciente no tiene efecto.

=1
n+1 = tn Solo importa la rfaga de CPU ms reciente.

Si expandimos la formula, obtendremos:


n+1 = tn+(1 - ) tn -1 + +(1 - )j tn -1 + +(1 - )n=1 tn 0

Ya que ambos y (1 - ) son menores o igual a 1, cada termino sucesivo tiene menos peso que el predecesor.

Planificacin con Prioridad


Un nmero (entero) de prioridad es asociado con cada proceso La CPU se asigna al proceso con la prioridad ms alta (el entero ms pequeo la prioridad ms alta).
Apropiativo No-apropiativo

SJF es una planificacin con prioridad, donde la prioridad es la siguiente rfaga del CPU predicha. Problema Inanicin (bloqueo indefinido) procesos de baja prioridad pueden jams ejecutarse. Solucin Envejecimiento conforme el tiempo pasa se incrementa la prioridad del proceso.

Planificacin Round Robin (RR)


En sistemas interactivos, cada proceso consigue una pequea unidad de tiempo de la CPU (quantum de tiempo), usualmente 10-100 milisegundos. Despus de que este tiempo a transcurrido, el proceso es apropiado y agregado a la cola de listos. Si hay n procesos en la cola de listos y el quantum es q, entonces cada proceso consigue 1/n del tiempo de la CPU en trozos de cuando mucho q unidades de tiempo a la vez. Ningn proceso espera ms de (n-1)q unidades de tiempo. Rendimiento depende del tamao de quantum en relacin con el ciclo promedio del CPU:
q demasiado grande FIFO q pequea q deber ser ms grande que la conmutacin de contexto, de otra forma el overhead (carga general) es muy alto.

Ejemplo de RR con un Quantum = 20


Proceso P1 P2 P3 P4 La grfica de Gantt es:
P1 0 20 P2 37 P3 57 P4 77 P1

Rfaga 53 17 68 24

P3 97 117

P4

P1

P3

P3

121 134 154 162

Tpicamente, con un promedio de tiempo de entrega mayor que SJF, pero mejor respuesta.

Quantum y Tiempo de Conmutacin de Contexto

Existen dos reglas practicas para seleccionar el quantum correcto: 1. Lo bastante largo como para permitir que el 80% de los ciclos CPU se ejecuten hasta su terminacin. 2. Debe se cuando menos 100 veces mas largo que el tiempo de cambio de contexto

El Tiempo de Entrega varia con el Quantum

Colas de Niveles Mltiples


Las colas de niveles mltiples funcionan junto con varios de los sistemas ya analizados y se encuentran en sistemas con trabajos que pueden agruparse de acuerdo con una caracterstica comn
La poltica de planificacin se basa en algn esquema predeterminado , que da un tratamiento especial a los trabajos de cada cola. Sistema basado en prioridades con diferentes colas por cada nivel de importancia. Sistema con una cola para reunir todos los trabajos limitados por CPU y otra cola para los trabajos limitados por E/S. La cola de listos es particionada en colas separadas: de primer plano (interactiva) de segundo plano (batch)

Colas de Niveles Mltiples (Cont.)


Cada cola tiene su propio algoritmo de planificacin, de primer plano RR de segundo plano FCFS La planificacin puede realizarse entre colas.
Planificacin de prioridad fija; (i.e., atender a todo el primer plano y despus el segundo plano). Posibilidad de inanicin. Porciones de tiempo (Time slice) cada cola consigue una cierta cantidad de tiempo del CPU el cual puede planificar entre sus procesos; i.e., 80% para primer plano en RR 20% para segundo plano en FCFS Quantum de tiempo variable por cola: si un trabajo no termina en su ciclo de CPU , es movido al final de la siguiente cola de nivel inferior (con un quantum de tiempo mayor)

Planificacin de Colas de Niveles Mltiples

Colas Multinivel y Retroalimentacin


Un proceso puede moverse entre varias colas; de esta manera puede implementase el envejecimiento. El planificador con colas de niveles mltiples y retroalimentacin queda definido por los siguientes parmetros:
Numero de colas Algoritmos de planificacin para cada cola Mtodo utilizado para determinar cundo elevar un proceso a una cola de mayor prioridad Mtodo utilizado para determinar cundo descender un proceso a una cola de menor prioridad Mtodo utilizado para determinar a qu cola entrar un proceso cuando dicho proceso necesite servicio

Colas Multinivel y Retroalimentacin

Ejemplo de Cola Multinivel con Retroalimentacin


Tres colas:
Q0 quantum de 8 milisegundos Q1 quantum de 16 milisegundos Q2 FCFS

Planificacin
Un trabajo entra en la cola Q0 el cual es atendido FCFS. Cuando gana al CPU, el trabajo recibe 8 milisegundos. Si no termina en 8 milisegundos, el trabajo es movido a la colaQ1. En la cola Q1 el trabajo es nuevamente atendido FCFS y recibe 16 milisegundos adicionales. Si este an no se completa, es apropiado y movido a la cola Q2.

Planificacin de Procesadores Mltiples


La planificacin del CPU es ms compleja cuando mltiples CPUs estn disponibles. Procesadores Homogneos dentro de un multiprocesador. Comparticin de carga Multiprocesamiento Asimtrico solo un procesador accede a la estructura de datos del sistema, reduciendo la necesidad de compartir datos.

Planificacin en Tiempo Real


Sistemas de tiempo real estricto (Hard real-time systems) deben de completar una tarea critica dentro de una cantidad de tiempo garantizada. Sistemas de tiempo real suave (Soft real-time computing) es menos restrictiva requiere que los procesos crticos reciban prioridad sobre los menos afortunados.

Latencia de Despacho

Evaluacin de Algoritmos
Modelado deterministico toma una carga de trabajo particular predeterminada y define el desempeo de cada algoritmo para dicha carga. Modelos de asignacin de colas Simulaciones Implementacin

Evaluacin de Planificadores de CPU por Simulacin

Planificacin en Solaris 2

Prioridades en Windows 2000

Вам также может понравиться