En épocas pasadas de los sistemas de procesamiento por lotes, con una entrada
en forma de imágenes de tarjetas en una cinta magnética, el algoritmo de planificación
era sencillo: solo había 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 más
complejo. En forma invariable, existían varios usuarios en espera de servicio
y podían existir también 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 electrónico, que a menudo se
ejecuta todo el tiempo para enviar o recibir correo o noticias.
Cuando más de un proceso es ejecutable, el Sistema Operativo debe
decidir cuál de ellos deberá ejecutarse primero. Hay que tener una planificación
de los procesos que quieren ejecutarse en el sistema. La planificación es una
función primordial del Sistema Operativo. La mayoría de los recursos, si no
es que todos, se planifican antes de que se utilicen. La asignación de
procesadores físicos a los procesos hace posible que estos realicen su
trabajo, y tal asignación es un problema complejo manejado por el Sistema
Operativo.
Concepto de Planificación
La planificación hace referencia a un conjunto de políticas y mecanismos
incorporados al sistema operativo que gobiernan el orden en que se ejecutan
los trabajos que deben ser cumplimentados por el sistema informático.
Objetivo de la Planificación
El objetivo principal de la planificación es optimizar el rendimiento del
sistema y proporcionar un buen servicio a todos los procesos que se
encuentren en él. En general, la planificación trata de cubrir los siguientes
objetivos:
- Justicia. La planificación
debe ser lo más justa posible con todos los procesos, sin favorecer a
unos y perjudicar a otros.
- Máxima capacidad
de ejecución. Debe dar un servicio eficiente para que todos los trabajos
se realicen lo más rápidamente posible. Esto se puede lograr
disminuyendo el número de cambios de proceso.
- Máximo número de
usuarios interactivos. En los sistemas de tiempo compartido se tratara
de que puedan estar trabajando el mayor número de usuarios al mismo
tiempo.
- Producibilidad.
La planificación debe realizarse de tal forma que en todo momento pueda
saberse como será su ejecución.
- Minimización 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 estén ocupados equitativamente el mayor tiempo
posible.
- Seguridad de las
prioridades. Si un proceso tiene mayor prioridad que otro, este debe
ejecutarse más rápidamente.
- Evitar la postergación
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 será asignado el recurso que pidió.
Criterios de planificación
Para realizar los objetivos de la planificación, un mecanismo de planificación
debe considerar lo siguiente:
- La limitación de
un proceso a las operaciones de Entrada / Salida: cuando un proceso
consigue la CPU, ?la utiliza solo brevemente antes de generar una petición
de Entrada / Salida
- La limitación 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.
- ¿Qué urgencia
tiene una respuesta rápida?: por ejemplo, un proceso de tiempo real de
un sistema de control que supervise una refinería de combustible
requiere una respuesta rápida, más rápida que la respuesta requerida por
un proceso en lotes (batch) que deberá entregarse al día siguiente.
- La prioridad de
un proceso: a mayor prioridad mejor tratamiento.
- Frecuentemente un
proceso genera fallos (carencias) de página:
- Probablemente
los procesos que generan pocos fallos de página hayan acumulado sus
“conjuntos de trabajo” en el almacenamiento principal.
- Los procesos que
experimentan gran cantidad de fallos de página aún 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 página
ya que rápidamente generaran una petición de Entrada / Salida.
- Frecuentemente un
proceso ha sido apropiado por otro de más 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 ejecución antes de la apropiación no justifica la sobrecarga
de hacer ejecutar al proceso en primer lugar.
- Cuanto tiempo de ejecución
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 ejecución mínimo para su terminación, pero pocas veces es
posible conocer la cantidad de tiempo adicional que cada proceso necesita para
terminar.
|
No hay comentarios:
Publicar un comentario