En los sistemas
de computación multiprogramados, muchos procesos pueden estar generando
solicitudes de lectura y escritura de registros en discos. Como a veces
dichos procesos realizan peticiones más rápido de lo que
pueden ser atendidas por los discos de cabeza móvil, se forman colas
de espera para cada dispositivo. Algunos sistemas de cómputo se
limitan a atender las peticiones según un esquema de primero que
llega, primero que se atiende (FCFS). La solicitud de servicio que llegue
primero será la primera en atenderse. FCFS es un método justo
para asignar servicio, pero cuando es la tasa de solicitud (es decir, la
carga) llega a ser pesada, FCFS puede dar lugar a tiempos de espera muy
largos.
Para reducir
al mínimo el tiempo de búsqueda de registros, parece razonable
ordenar la cola de solicitudes en una forma diferente a FCFS. Este proceso
se conoce como Planificación de Disco, FCFS puede considerarse como
el mecanismo más simple de planificación de disco.
La planificación
de disco implica un examen cuidadoso de las peticiones pendientes para
determinar la forma más eficiente de atenderlas. Un planificador
de disco examina las relaciones de posición entre las peticiones
en espera. La cola de espera se reordena para que las peticiones puedan
atenderse con un mínimo de movimiento mecánico.
Los dos
tipos más comunes de planificación, que estudiaremos, son
la optimización de búsqueda y la optimización rotacional
(o de latencia). Como los tiempos de búsqueda son un orden de magnitud
más grande que los tiempos de latencia, la mayor parte de los algoritmos
de planificación se concentran en reducir al mínimo los tiempos
de búsqueda para un conjunto de peticiones. La reducción
de la latencia por lo general tiene poco efecto sobre el rendimiento global
del sistema, excepto bajo cargas pesadas.
En condiciones de carga ligera (es decir, un promedio pequeño de la longitud de la cola de peticiones), FCFS es una forma aceptable de atender las peticiones. Sin embargo, en condiciones de carga mediana o pesada la planificación produce normalmente un rendimiento mucho mejor que el de FCFS.
Ya se ha
mencionado que FCFS es un método relativamente justo para atender
solicitudes. Algunos otros criterios para clasificar las políticas
son:
El siguiente cuadro resume algunas de las estrategias más populares de optimización de búsqueda:
FCFS (Primero en llegar, primero en ser atendido): No hay reordenamiento de la cola.
SSTE (Primero el menor tiempo de búsqueda): El brazo del disco se traslada enseguida (en cualquier dirección) a la petición que requiere un movimiento mínimo.
SCAN: El brazo del disco se mueve hacia adentro y hacia fuera, atendiendo todas las peticiones que se encuentra a su paso. Cambia su dirección sólo cuando no hay más peticiones que atender en la dirección actual.
C-SCAN (Scan Circular): El brazo del disco se mueve en una sola dirección sobre la superficie del disco hacia la pista más interior. Cuando no hay más peticiones en esa dirección regresa para atender la petición más cercana a la pista exterior y de nuevo se mueve hacia adentro.
SCAN de N pasos: El brazo del disco se mueve igual que en SCAN, pero las peticiones que llegan durante el barrido en una dirección se almacenan y reordenan para darles un servicio optimo durante el barrido de retorno.
Esquema de Eschenbach: El movimiento del brazo del disco es circular como en C-SCAN, pero con varias diferencias importantes. En cada cilindro se atiende toda una pista de información sin importar si existen o no peticiones para ese cilindro. Las peticiones dentro de un cilindro se reordenan para atenderlas aprovechando su posición rotacional, pero si existen dos peticiones traslapadas dentro de un cilindro se atenderá solo a una en ese barrido del brazo del disco.