En epocas pasadas de los sistemas de procesamiento por lotes, con una
entrada en forma de imagenes 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 Planificacion
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 Planificacion
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 planificacion
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