Fundamentos y Criterios de Optimización en la Planificación del Procesador (CPU Scheduling)
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en
español con un tamaño de 4,51 KB
Criterios Fundamentales de un Algoritmo de Planificación Eficaz
Un algoritmo de planificación debe cumplir con varios criterios esenciales para garantizar la eficiencia y la justicia en la gestión de los recursos del sistema:
- Equidad: Garantizar que cada proceso obtiene su proporción justa de la CPU.
- Eficacia: Mantener ocupada la CPU el cien por ciento del tiempo.
- Tiempo de Respuesta: Minimizar el tiempo de respuesta para los usuarios interactivos.
- Tiempo de Regreso (Turnaround Time): Minimizar el tiempo que deben esperar los usuarios por lotes (batch) para obtener sus resultados.
- Rendimiento (Throughput): Maximizar el número de tareas procesadas por hora.
Conceptos Clave en la Planificación del Procesador
Planificación Apropiativa (Preemptive Scheduling)
Es la estrategia que permite que procesos ejecutables (desde el punto de vista lógico) sean suspendidos temporalmente para ceder el control a otro proceso.Planificación No Apropiativa (Non-Preemptive Scheduling)
Es la estrategia que permite la ejecución de un proceso hasta su terminación o hasta que voluntariamente libere la CPU.Planificación del Procesador
Proceso mediante el cual el Sistema Operativo determina cuándo deben asignarse los procesadores y a qué procesos, gestionando así el uso eficiente de la CPU.Objetivos Estratégicos de la Planificación del Procesador
Los objetivos de la planificación del procesador son fundamentales para el desempeño del Sistema Operativo e involucran los siguientes conceptos:
1. Optimización de la Equidad y la Capacidad
Ser Justa
- Todos los procesos deben ser tratados de igual manera.
- Ningún proceso debe ser postergado indefinidamente.
Maximizar la Capacidad de Ejecución (Throughput)
- Maximizar el número de procesos servidos por unidad de tiempo.
- Maximizar el número de usuarios interactivos que reciban tiempos de respuesta aceptables (en un máximo de unos pocos segundos).
2. Estabilidad y Previsibilidad
Ser Predecible
- Un trabajo dado debe ejecutarse aproximadamente en la misma cantidad de tiempo, independientemente de la carga del sistema.
Minimizar la Sobrecarga (Overhead)
- Aunque no suele considerarse un objetivo muy importante, la reducción de la sobrecarga mejora la eficiencia general.
3. Gestión de Recursos y Prioridades
Equilibrar el Uso de Recursos
- 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, aunque la utilización total de recursos pueda ser pobre.
Evitar la Postergación Indefinida (Starvation)
- Se utiliza la estrategia del envejecimiento (aging).
- Mientras un proceso espera por un recurso, su prioridad debe aumentar, de modo que 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 Clave
- 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.
4. Manejo de Cargas Pesadas
Degradarse Suavemente con Cargas Pesadas
- Un mecanismo de planificación no debe colapsar con el peso de una carga exigente del sistema.
Evitar una Carga Excesiva
Esto se logra 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.