miércoles, 18 de septiembre de 2013

Tipos de planificador, Esquemas de planificación y Criterios de planificación


 
Despachador

Módulo del SO que da el control de la CPU al proceso seleccionado por el planificador de corto plazo

Esto implica

– Cambio de contexto: Salvar registros del procesador en PCB del proceso saliente. Cargar los registros con los datos del PCB del proceso entrante.

– Cambiar el bit de modo a usuario.

– Saltar a la instrucción adecuada que había quedado el proceso que se asignó a la CPU (registro program counter).

La latencia del despachador debe ser la menor posible

El planificador que corre en el despachador es el responsable de seleccionar el próximo proceso a ejecutarse.

 

Tipos de planificador

 

Largo plazo

– Determina qué programas son admitidos al sistema para ejecución

– Controla el grado de multiprogramación

– Mientras más procesos son admitidos, cada uno tendrá un porcentaje menor de uso del procesador

 

 

Mediano plazo

– Determina si agregar más programas a los que ya están parcialmente o totalmente en memoria principal

 

Corto plazo

– Determina qué proceso es ejecutado en el procesador

– Se ejecuta frecuentemente debe ser eficiente

– Evento típicos que desencadena al despachador: Interrupciones del reloj

(quantum), interrupciones de I/O, llamados al sistemas, señales, etc.

 

Clases de procesos

Existen distintas políticas de planificación que serán exitosas según la clase de procesos que ejecuten.

En general, los procesos tienden a ser o más intensivos en el uso de procesador, o más intensos en el uso de operaciones de E/S.

Los procesos tienen ciclos de ráfagas de ejecución (CPU-burst) y ciclos de ráfagas de espera de operaciones de E/S (I/O burst)

– Procesos CPU-bound: Los procesos que contienen un alto uso de procesador son llamados CPU-bound o compute-bound.

– Procesos I/O-bound: Los procesos que realizan muchos accesos a operaciones de E/S son llamados I/O-bound.

La prioridad que tenga un proceso frente a los demás para acceder al recurso será inversamente proporcional al uso que haga del recurso.

 

Esquemas de planificación

Los momentos en que el planificador es invocado son:

1. Cuando un proceso se bloquea en una operación de E/S o espera a que termine un hijo, etc.

2. Cuando un proceso cambia del estado ejecutando al estado pronto. Por ejemplo al ocurrir una interrupción.

3. Cuando ocurre una interrupción de E/S y un proceso pasa del estadobloqueado a pronto.

4. Cuando se crea un proceso

5. Cuando un proceso finaliza su ejecución.

Cuando ocurre 1 o 5, el planificador es invocado debido a que el proceso en ejecución libera el procesador.

Si el planificador es invocado cuando ocurre 2, 3 o 4, se dice que este es expropiativo (preemptive), ya que puede quitar el procesador al proceso que estaba en ejecución.

Sistemas operativos con planificadores no expropiativos (nonpreemptive) son los que asignan el recurso procesador a un proceso y hasta que este no lo libere, ya sea porque finaliza su ejecución o se bloquea, no se vuelve a ejecutar el planificador.

Sistemas operativos con planificadores expropiativos (preemptive) son que los que pueden expropiar el recurso procesador a un proceso cuando otro proceso entra en estado pronto (ya sea porque es nuevo o porque se desbloqueó) o porque se le impone un límite de tiempo para ejecutar.

Los esquemas de planificación son útiles según el ambiente donde seanvaplicados:

– Sistemas por lotes: Como no existe interacción con usuarios, los planificadores no expropiativos son ideales.

– Sistemas interactivos: Debido a que existen procesos de usuarios ejecutando a la vez, los planificadores expropiativos son ideales para mantener un buen tiempo de respuesta para los usuarios.

– Sistemas de tiempo real: No es necesario un planificador expropiativo ya que los procesos puede que no ejecuten por un buen tiempo, pero cuando lo hacen es por un período muy corto.

 

 

Criterios de planificación

Los algoritmos de planificación tendrán distintas propiedades y favorecerán cierta clase de procesos.

Es necesario definir criterios para poder evaluar los algoritmos de planificación:

– Utilización de CPU (CPU utilization): Es el porcentaje de uso (en cuanto a ejecución de tareas de usuario o del sistema que son consideradas útiles) que tiene un procesador.

– Rendimiento (Throughput): Es el número de procesos que ejecutaron completamente por unidad de tiempo (una hora p.ej.).

– Tiempo de retorno (Turnaround time): Es el intervalo de tiempo desde que un proceso es cargado hasta que este finaliza su ejecución.

– Tiempo de espera (Waiting time): Es la suma de los intervalos de tiempo que un proceso estuvo en la cola de procesos listos (ready queue).

– Tiempo de respuesta (Response time): Es el intervalo de tiempo desde que un proceso es cargado hasta que brinda su primera respuesta. Es útil en sistemas interactivos.

No hay comentarios:

Publicar un comentario