No prevalece (las solicitudes se cumplen para que lleguen):
* por primera vez, por orden (FCFS): Enfoque más simple; Las solicitudes se cumplen en la orden de que llegan. Muy simple de implementar, pero puede conducir a una degradación significativa de tiempo de búsqueda y rendimiento, especialmente con solicitudes ampliamente dispersas. Es propenso a crear largos convoyes de solicitudes.
* El tiempo de búsqueda más corto primero (SSTF): Selecciona la solicitud que minimiza el tiempo de búsqueda de la posición actual del cabezal actual. Generalmente mejora el rendimiento sobre los FCF, pero puede conducir a la inanición de solicitudes lejos de la posición actual de la cabeza (el "efecto del elevador").
preventivo (las solicitudes se pueden interrumpir y reordenar):
* escanear (algoritmo de ascensor): La cabeza del disco se mueve en una dirección, servicio de solicitudes en el camino. Una vez que llega al final, invierte la dirección y continúa las solicitudes de servicio en la dirección opuesta. Más justo que SSTF, ya que evita el hambre.
* c-scan (escaneo circular): Similar al escaneo, pero cuando la cabeza llega al final, regresa al principio sin solicitudes de servicio en el viaje de regreso. Esto proporciona una distribución más uniforme del servicio y menos varianza en los tiempos de respuesta que el escaneo.
* Mira y c-mira: Estas son variaciones de Scan y C-Scan, respectivamente. La diferencia es que en lugar de moverse hasta el final del disco, solo llegan tan lejos como la solicitud más alejada en la dirección actual. Esto reduce el movimiento innecesario de la cabeza.
* fscan: Una variación que combina FCFS y escaneo. Servicios de TI Solicitudes en orden FCFS dentro de cada ciclo de escaneo.
* Programación de colas de nivel múltiple: Prioriza solicitudes según su tipo (por ejemplo, solicitudes del sistema versus solicitudes de usuario). Se pueden usar diferentes algoritmos de programación para cada cola.
* Algoritmos de ponderación: Asigne pesos a las solicitudes basadas en importancia o prioridad. Las solicitudes de mayor ponderación tienen preferencia.
Otros algoritmos y consideraciones:
* Programación de fecha límite: Prioriza solicitudes según sus plazos. Las solicitudes críticas se atienden primero para evitar los plazos faltantes.
* Algoritmos adaptativos: Ajuste dinámicamente su estrategia de programación basada en el comportamiento observado del sistema y las características de la carga de trabajo.
* cola completamente justa (cfq): Un planificador de kernel de Linux con el objetivo de proporcionar asignación de ancho de banda justo entre los procesos. No es estrictamente un algoritmo de programación de disco, pero afecta significativamente el rendimiento de E/S de disco.
* anticipación: Algunos algoritmos avanzados intentan predecir solicitudes futuras basadas en patrones pasados y optimizar el movimiento de la cabeza en consecuencia.
En la práctica, los sistemas operativos modernos a menudo emplean una combinación de estos algoritmos y otras técnicas sofisticadas para optimizar el rendimiento de E/S de disco. Los algoritmos específicos utilizados pueden no siempre ser documentados públicamente o determinarse fácilmente. El mejor algoritmo depende de muchos factores, incluidas las características de disco, el patrón de E/S y los objetivos de rendimiento.