El Planificador es
la porción del Sistema Operativo que decide y el Algoritmo de
Planificación es el utilizado. Los principales “criterios” respecto de
un buen algoritmo de planificación son la equidad, la eficacia, el
tiempo de respuesta, el tiempo de regreso y el rendimiento.
Cada proceso es único e impredecible, es decir que pueden requerir intensivamente operaciones de Entrada / Salida o intensivamente cpu; el planificador del Sistema Operativo no tiene la certeza de cuánto tiempo transcurrirá hasta que un proceso se bloquee, ya sea por una operación de Entrada / Salida o por otra razón .
Para evitar que un proceso se apropie de la cpu un tiempo excesivo, los equipos poseen un dispositivo que provoca una interrupción en forma periódica, por ejemplo 60 hz, o sea sesenta veces por segundo.
En cada interrupción del reloj el Sistema Operativo decide si el proceso que se está ejecutando continúa o si el proceso agotó su tiempo de cpu y debe suspenderse y ceder la cpu a otro proceso. Los principales conceptos relacionados con Planificación del Procesador son los siguiente:
- Planificación apropiativa: es la estrategia de permitir que procesos ejecutables (desde el punto de vista lógico) sean suspendidos temporalmente.
- Planificación no apropiativa: es la estrategia de permitir la ejecución de un proceso hasta terminar.
- Planificación del procesador: determinar cuándo deben asignarse los procesadores y a qué procesos, lo cual es responsabilidad del Sistema Operativo.
Niveles de Planificación del Procesador
- Planificación de alto nivel: También se denomina Planificación de trabajos.
Determina a qué trabajos se les va a permitir competir activamente por los recursos del sistema, lo cual se denomina Planificación de admisión. - Planificación de nivel intermedio: Determina a qué procesos se les puede permitir competir por la cpu.
Responde a fluctuaciones a corto plazo en la carga del sistema y efectúa “suspensiones” y “activaciones” (“reanudaciones”) de procesos.
Debe ayudar a alcanzar ciertas metas en el rendimiento total del sistema. - Planificación de bajo nivel:
Determina a qué proceso listo se le asigna la cpu cuando esta queda
disponible y asigna la cpu al mismo, es decir que “despacha” la cpu al
proceso.
La efectúa el Despachador del Sistema Operativo, el que opera muchas veces por segundo y reside siempre en el almacenamiento primario.
Los
distintos Sistemas Operativos utilizan varias Políticas de
Planificación, que se instrumentan mediante Mecanismos de Planificación.Objetivos de la Planificación
Los objetivos de la planificación del procesador son los siguientes e involucran a los conceptos detallados seguidamente.
Ser justa:
Los objetivos de la planificación del procesador son los siguientes e involucran a los conceptos detallados seguidamente.
Ser justa:
- Todos los procesos son tratados de igual manera.
- Ningún proceso es postergado indefinidamente.
- Maximizar la capacidad de ejecución:
Maximizar el número de procesos servidos por unidad de tiempo. - Maximizar el número de usuarios interactivos que reciban unos tiempos de respuesta aceptables.
- Ser predecible:
Un trabajo dado debe ejecutarse aproximadamente en la misma cantidad de tiempo independientemente de la carga del sistema. - Minimizar la sobrecarga.
- Favorecer a los procesos que utilizarán recursos infrautilizados.
- Equilibrar respuesta y utilización:
La mejor manera de garantizar buenos tiempos de respuesta es disponer de los recursos suficientes cuando se necesitan, pero la utilización total de recursos podrá ser pobre. - Evitar la postergación indefinida:
- Mientras un proceso espera por un recurso su prioridad debe aumentar, así la prioridad llegará a ser tan alta que el proceso recibirá el recurso esperado.
- Asegurar la prioridad:
Los mecanismos de planificación deben favorecer a los procesos con prioridades más altas. - Dar preferencia a los procesos que mantienen recursos claves:
Un proceso de baja prioridad podría mantener un recurso clave, que puede ser requerido por un proceso de más alta prioridad. - Si el recurso es no apropiativo, el mecanismo de planificación debe otorgar al proceso un tratamiento mejor del que le correspondería normalmente, puesto que es necesario liberar rápidamente el recurso clave.
- Dar mejor tratamiento a los procesos que muestren un “comportamiento deseable”:
- Un ejemplo de comportamiento deseable es una tasa baja de paginación.
- Degradarse suavemente con cargas pesadas:
Un mecanismo de planificación no debe colapsar con el peso de una exigente carga del sistema. - Se debe evitar una carga excesiva mediante las siguientes acciones.
- No permitiendo que se creen nuevos procesos cuando la carga ya es pesada.
- Dando servicio a la carga más pesada al proporcionar un nivel moderadamente reducido de servicio a todos los procesos.
Muchas de estas metas se encuentran en conflicto entre sí, por lo que la planificación se convierte en un problema complejo.
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 generarán 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. - ¿Cuánto 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.
¿Cuánto 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