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.
Planificación
de Procesador:
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.
Objetivos de la planificación.
Una estrategia de planificación debe
buscar que los procesos obtengan sus turnos de ejecución apropiadamente,
conjuntamente con un buen rendimiento y minimización de la sobrecarga del
planificador mismo. En general, se buscan cinco objetivos principales:
1. Justicia o Imparcialidad: Todos los procesos son tratados de la misma forma, y en algún momento
obtienen su turno de ejecución o intervalos de tiempo de ejecución hasta su
terminación exitosa.
2. Maximizar la Producción: El sistema debe de finalizar el mayor número de procesos en por unidad
de tiempo.
3. Maximizar el Tiempo de
Respuesta: Cada usuario o proceso debe
observar que el sistema les responde consistentemente a sus requerimientos.
4. Evitar el aplazamiento
indefinido: Los procesos deben terminar en
un plazo finito de tiempo.
5. El sistema debe ser
predecible: Ante cargas de trabajo ligeras
el sistema debe responder rápido y con cargas pesadas debe ir degradándose
paulatinamente. Otro punto de vista de esto es que si se ejecuta el mismo proceso
en cargas similares de todo el sistema, la respuesta en todos los casos debe
ser similar.
Criterios
de planificación:
- Equidad:
Garantizar que cada proceso obtiene su proporción justa de la CPU.
- Eficacia:
Mantener ocupada la CPU el ciento por ciento del tiempo.
- Tiempo
de respuesta: Minimizar el tiempo de respuesta para los
usuarios interactivos.
- 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.
No hay comentarios:
Publicar un comentario