Escritura En Disco
Enviado por ErickF1993 • 29 de Julio de 2013 • 1.102 Palabras (5 Páginas) • 241 Visitas
Algoritmos de Escritura en Discos
En la mayoría de los discos, el tiempo de búsqueda supera al de retraso rotacional y al de transferencia debido a ello, la reducción del tiempo promedio de búsqueda puede mejorar en gran medida el rendimiento del sistema.
Si el manejador del disco utiliza el algoritmo primero en llegar primero en ser atendido (FCFS), poco se puede hacer para mejorar el tiempo de búsqueda. Muchos manejadores tienen una tabla:
El índice es el número de cilindro. Incluye las solicitudes pendientes para cada cilindro enlazadas entre sí en una lista ligada.
Cuando concluye una búsqueda, el manejador del disco tiene la opción de elegir la siguiente solicitud a dar paso: Se atiende primero la solicitud más cercana, para minimizar el tiempo de búsqueda.
Este algoritmo se denomina primero la búsqueda más corta (SSF: shor-test seek first).
Reduce a la mitad el número de movimientos del brazo en comparación con FCFS.
Ejemplo de SSF:
Consideramos un disco de 40 cilindros.
Se presenta una solicitud de lectura de un bloque en el cilindro 11.
Durante la búsqueda, llegan solicitudes para los cilindros 1, 36, 16, 34, 9 y 12, en ese orden.
La secuencia de búsqueda SSF será: 12, 9, 16, 1, 34, 36.
Habrá un número de movimientos del brazo para un total de:
111 cilindros según FCFS.
61 cilindros según SSF.
El algoritmo SSF tiene el siguiente problema:
El ingreso de nuevas solicitudes puede demorar la atención de las más antiguas.
Con un disco muy cargado, el brazo tenderá a permanecer a la mitad del disco la mayoría del tiempo, como consecuencia de ello las solicitudes lejanas a la mitad del disco tendrán un mal servicio.
Entran en conflicto los objetivos de:
1. Tiempo mínimo de respuesta.
2. Justicia en la atención.
La solución a este problema la brinda el algoritmo del elevador:
Se mantiene el movimiento del brazo en la misma dirección, hasta que no tiene más solicitudes pendientes en esa dirección; entonces cambia de dirección.
El software debe conservar el bit de dirección actual.
Ej. del algoritmo del elevador para el caso anterior, con el valor inicial arriba del bit de dirección:
El orden de servicio a los cilindros es: 12, 16, 34, 36, 9 y 1.
El número de movimientos del brazo corresponde a 60 cilindros.
El algoritmo del elevador:
Ocasionalmente es mejor que el algoritmo SSF.
Generalmente es peor que SSF.
Dada cualquier colección de solicitudes, la cuota máxima del total de movimientos está fija, siendo el doble del número de cilindros.
Una variante consiste en rastrear siempre en la misma dirección.Luego de servir al cilindro con el número mayor:
El brazo pasa al cilindro de número menor con una solicitud pendiente. Continúa su movimiento hacia arriba.
Algunos controladores de disco permiten que el software inspeccione el número del sector activo debajo del cabezal.
Si dos o más solicitudes para el mismo cilindro están pendientes:
1. El manejador puede enviar una solicitud para el sector que pasará debajo del cabezal.
2. Se pueden hacer solicitudes consecutivas de distintas pistas de un mismo cilindro, sin generar un movimiento del brazo.
3. Cuando existen varias unidades, se debe tener una tabla de solicitudes pendientes para cada unidad.
4. Si una unidad está inactiva, deberá buscarse el cilindro siguiente necesario, si el controlador permite búsquedas
...