viernes, 30 de septiembre de 2011

planificacion de procesos

SISTEMA OPERATIVOS (S.Os)



TEMA:

PLANIFICACION DE PROCESOS

 



ALUMNO:

GUSTAVO ADOLFO ALVAREZ BARRETO

ING. DE SISTEMA.





30/09/2011

 
La Planificación de procesos

La Planificación de proceso hace referencia a un conjunto políticas y mecanismos incorporados al sistema operativo que gobiernan el orden en que deben ser ejecutados los trabajos que deben cumplimentarse por el sistema operativo. El Objetivo de la planificación es optimizar el rendimiento del sistema.

Nombraremos tres grandes grupos relacionado con la filosofía del sistema: Planificación en sistemas con un Procesador, Multiprocesador y Tiempo real; identificando en cada caso sus componentes, sus finalidades y funciones.

La planificación de proceso, se debe hacer cuando en el sistema no hay equidad de los procesos y la CPU no se esta utilizando al 100 % ya que así meraremos su tiempo de respuesta.

Tipos de Planificación del Procesador

La planificación del procesador se clasifica según la escala relativa de tiempo en que es realizada.

1. Largo Plazo

Determina qué nuevos programas son aceptados para ser procesados por el sistema, o sea determina el grado de multiprogramación. Una vez admitidos, se convierten en procesos que son agregados a la cola de Planificación a Corto Plazo. En algunos sistemas, son agregados a la cola de Planificación a Mediano Plazo, ya que los procesos creados recientemente comienzan en una condición de suspendidos. Relativamente, se ejecuta en forma poco frecuente.

2. Medio Plazo

Determina el intercambio con la memoria virtual. Generalmente, la decisión de activar procesos está basada en la necesidad de manejar el grado de multiprogramación. Se ejecuta un poco más frecuente que la planificación a largo plazo.

3. Corto Plazo

Determina cuál es el próximo proceso a ejecutar. Es invocada cada vez que ocurre un evento que pueda causar una suspensión (interrupciones del reloj, interrupciones de entrada / salida, llamados al sistema operativo, señales) o que pueda asegurarle una mayor prioridad a un proceso actualmente ejecutando a favor de otro. También conocida como despachador, es la que se ejecuta más frecuente.

Utilidad de la Planificación


Los objetivos de la planificación de proceso son:

  • Equidad, todos los procesos deben poder ejecutarse
  • Eficacia, mantener ocupada la CPU un 100% del tiempo
  • Tiempo de respuesta, minimizar el tiempo de respuesta al usuario
  • Tiempo de regreso, minimizar el tiempo que deben esperar los usuarios por lotes para obtener sus resultados
  • Rendimiento, maximizar el número de tareas procesadas por hora.
Algoritmos de planificación

El planificador es el módulo del sistema operativo que decide qué proceso se debe ejecutar, para ello usa un algoritmo de planificación que debe cumplir con los siguientes objetivos:

  1. Imparcialidad.
  2. Política justa.
  3. Eficiencia: mantener la CPU ocupada en lo posible el mayor tiempo con procesos de usuario.
  4. Minimizar el tiempo de espera de usuarios.
  5. Maximizar el número de procesos ejecutados. (Rendimiento: trabajos que se procesan por hora).
  6. Tiempo de respuesta excelente (por ejemplo: minimizar el tiempo de respuesta para los usuarios interactivos).
  7. Predecibilidad en la ejecución.
  8. Equilibrio en el uso de los recursos.

En los siguientes subapartados vamos a estudiar ciertos algoritmos utilizados para planificar la CPU, la elección de uno (o de una mezcla de varios) depende de decisiones de diseño. Antes de exponer los algoritmos vamos a explicar ciertas medidas que se utilizan para evaluarlos.

Porcentaje de utilización de la CPU por procesos de usuario. La CPU es un recurso caro que necesita ser explotado, los valores reales suelen estar entre un 40% y un 90%.

Rendimiento (throughput) = nº de ráfagas por unidad de tiempo. Se define una ráfaga como el período de tiempo en que un proceso necesita la CPU; un proceso, durante su vida, alterna ráfagas con bloqueos. Por extensión, también se define como el nº de trabajos por unidad de tiempo.

Tiempo de espera (E) = tiempo que una ráfaga ha permanecido en estado listo.

Tiempo de finalización (F) = tiempo transcurrido desde que una ráfaga comienza a existir hasta que finaliza. F = E + t (t = tiempo de CPU de la ráfaga).

Penalización (P) = E + t / t = F / t, es una medida adimensional que se puede aplicar homogéneamente a las ráfagas independientemente de su longitud.

 En general, hay que maximizar los dos primeros parámetros y minimizar los tres últimos. Sin embargo, estos objetivos son contradictorios, el dedicar más tiempo de CPU a los usuarios se hace a costa de llamar menos al algoritmo de planificación (menos cambios de proceso), y de simplificarlo. Esto provoca que la CPU se reparta menos equitativamente entre los procesos, en detrimento de los últimos tres parámetros.