En épocas pasadas de los sistemas de
procesamiento por lotes, con una entrada en forma de imágenes de tarjetas en
una cinta magnetica, el algoritmo de planificacion era sencillo: solo habia que
ejecutar el siguiente trabajo en la cinta.
En los sistemas de multiusuario de
tiempo compartido, que se combinaban con un fondo de trabajos procesados en
lote, el algoritmo era mas complejo. En forma invariable, existian varios
usuarios en espera de servicio y podian existir tambien otros trabajos para ser
procesados en lote. Incluso en los sistemas puros de tiempo compartido existen
con frecuencia los trabajos colaterales, como el sistema de correo electronico,
que a menudo se ejecuta todo el tiempo para enviar o recibir correo o noticias.
Cuando mas de un proceso es ejecutable,
el Sistema Operativo debe decidir cual de ellos debera ejecutarse primero. Hay
que tener una planificacion de los procesos que quieren ejecutarse en el
sistema.La planificacion es una funcion primordial del Sistema Operativo. La
mayoria de los recursos, si no es que todos, se planifican antes de que se
utilicen. La asignacion de procesadores fisicos a los procesos hace posible que
estos realicen su trabajo, y tal asignacion es un problema complejo manejado
por el Sistema Operativo.
Concepto de Planificación
La planificacion hace referencia a un conjunto de politicas y mecanismos incorporados al sistema operativo que gobiernan el orden en que se ejecutan los trabajos que deben ser cumplimentados por el sistema informatico.
Objetivo de la Planificación
El objetivo principal de la planificacion es optimizar el rendimiento del sistema y proporcionar un buen servicio a todos los procesos que se encuentren en el. En general, la planificacion trata de cubrir los siguientes objetivos:
- Justicia.
La planificacion debe ser lo mas justa posible con todos los procesos, sin
favorecer a unos y perjudicar a otros.
- Maxima
capacidad de ejecucion. Debe dar un servicio eficiente para que todos los
trabajos se realicen lo mas rapidamente posible. Esto se puede lograr
disminuyendo el numero de cambios de proceso.
- Maximo
numero de usuarios interactivos. En los sistemas de tiempo compartido se
tratara de que puedan estar trabajando el mayor numero de usuarios al
mismo tiempo.
- Predecibilidad.
La planificacion debe realizarse de tal forma que en todo momento pueda
saberse como sera su ejecucion.
- Minimizacion
de la sobrecarga. La computadora debe tener poca sobrecarga ya que esta
afecta directamente al rendimiento final del sistema: a menor sobrecarga
mayor velocidad de proceso.
- Equilibrio
en el uso de recursos. Para obtener un mayor rendimiento en el uso de los
recursos y que estos esten ocupados equitativamente el mayor tiempo
posible.
- Seguridad
de las prioridades. Si un proceso tiene mayor prioridad que otro, este
debe ejecutarse mas rapidamente.
- Evitar
la postergacion indefinida. Esto se logra aumentando la prioridad de un
proceso mientras espere por un recurso. La prioridad llegara a ser tan
alta que al proceso le sera asignado el recurso que pidio.
Criterios de planificación
Para realizar los objetivos de la planificacion, un mecanismo de planificacion debe considerar lo siguiente:
- La
limitacion de un proceso a las operaciones de Entrada / Salida: cuando un
proceso consigue la cpu, ?la utiliza solo brevemente antes de generar una
peticion de Entrada / Salida?
- La
limitacion de un proceso a la cpu: cuando un proceso obtiene la cpu,
?tiende a usarla hasta que expira su tiempo?
- Si
un proceso es por lote (batch) o interactivo: los usuarios interactivos
deben recibir inmediato servicio para garantizar buenos tiempos de
respuesta.
- ?Que
urgencia tiene una respuesta rapida?: por ejemplo, un proceso de tiempo
real de un sistema de control que supervise una refineria de combustible
requiere una respuesta rapida, mas rapida que la respuesta requerida por
un proceso en lotes (batch) que debera entregarse al dia siguiente.
- La
prioridad de un proceso: a mayor prioridad mejor tratamiento.
- Frecuentemente
un proceso genera fallos (carencias) de pagina:
- Probablemente
los procesos que generan pocos fallos de pagina hayan acumulado sus
“conjuntos de trabajo” en el almacenamiento principal.
- Los
procesos que experimentan gran cantidad de fallos de pagina aun no han
establecido sus conjuntos de trabajo.
- Un
criterio indica favorecer a los procesos que han establecido sus
conjuntos de trabajo.
- Otro
criterio indica favorecer a los procesos con una tasa alta de fallos de
pagina ya que rapidamente generaran una peticion de Entrada / Salida.
- Frecuentemente
un proceso ha sido apropiado por otro de mas alta prioridad, lo cual
significa lo siguiente:
- A
menudo los procesos apropiados deben recibir un tratamiento menos
favorable.
- Cada
vez que el Sistema Operativo asume la sobrecarga para hacer ejecutar este
proceso, el corto tiempo de ejecucion antes de la apropiacion no
justifica la sobrecarga de hacer ejecutar al proceso en primer lugar.
- Cuanto
tiempo de ejecucion real ha recibido el proceso?: un criterio considera
que debe ser favorecido un proceso que ha recibido muy poco tiempo de cpu.
Cuanto tiempo adicional va a necesitar el proceso para terminar?: los
tiempos promedio de espera pueden reducirse priorizando los procesos que requieren
de un tiempo de ejecucion minimo para su terminacion, pero pocas veces es
posible conocer la cantidad de tiempo adicional que cada proceso necesita para
terminar.
No hay comentarios:
Publicar un comentario