Sistemas operativos modernos
número de cilindro real en el preámbulo del siguiente sector. Si el brazo no está en el lugar co rrecto, se habrá presentado un error de desplazamiento. Casi todas las controladoras de disco duro corrigen los errores de desplazamiento en forma automática, pero la mayoría de las controladoras de disquete (incluida la de la Pentium) tan só lo encienden un bit de error y dejan toda la responsabilidad al controlador de dispositivo. Este último ataca este error emitiendo un comando recalibrate que mueve el brazo hasta el extremo exterior de su desplazamiento y pone en Oel registro interno de la controladora que indica la po sición actual del brazo. Por lo regular, con esto se resuelve el problema. Si no es así, habrá que reparar la unidad de disco. Como hemos visto, la controladora en realidad es una pequeña computadora especializada, completa con software, variables, búferes y, de vez en cuando, bugs (errores). Hay ocasiones en que una serie inusitada de sucesos, como la emisión de una interrupción en una unidad, exacta mente en el momento en que se emite un comando recalibrate para otra unidad, hace que se manifieste el bug y obligue a la controladora a entrar en un ciclo infinito o a olvidar lo que es taba haciendo. Los diseñadores de controladoras por lo regular prevén lo peor e incluyen una lí nea en el chip que, al recibir una señal, obliga a dicha controladora a olvidarse de lo que estaba haciendo y a restablecer su estado. Si no queda otra, el controlador de disco puede encender un bit que invoca esta señal y restablece la controladora. Si eso no resuelve el problema, lo único que el controlador de dispositivo podrá hacer es exhibir un mensaje y darse por vencido. La recalibración de un disco produce un ruido raro pero por lo demás no causa problemas en condiciones normales. Sin embargo, hay una situación en la que la recalibración causa un problema grave: los sistemas con restricciones de tiempo real. Cuando se está reproduciendo un vídeo almacenado en un disco duro, o cuando se están quemando en un CD-ROM archivos de un disco duro, es indispensable que los bits lleguen del disco duro a un ritmo uniforme. En estas circunstancias, las recalibraciones insertan huecos en el flujo de bits y, por tanto, son ina ceptables. Para tales aplicaciones se venden unidades de disco especiales, llamadas discos AV (discos audiovisuales), que nunca se recalibran. 5.4.5 Almacenamiento estable Como hemos visto, los discos a veces producen errores. Sectores buenos pueden convertirse de pronto en malos. Unidades enteras pueden “fallecer” en forma inesperada. Los RAIDs protegen contra la pérdida de unos cuantos sectores o incluso de toda una unidad, pero no pueden prote ger contra errores de escritura que graban datos erróneos. Asimismo, durante una escritura no protegen contra fallas que corrompen los datos originales sin sustituirlos por datos más recientes. En algunas aplicaciones es indispensable que los datos nunca se pierdan ni corrompan, aun que se presenten errores de disco o de CPU. De manera ideal, un disco deberá trabajar todo el tiempo sin errores. Lo malo es que tal meta es inasequible. Lo que sí es factible es tener un sub sistema de disco con la siguiente propiedad: cuando se le ordena escribir algo, o bien se escriben correctamente los datos, o no se escribe nada, dejando los datos existentes intactos. Un sistema así se denomina almacenamiento estable y se implementa en software (Lampson y Sturgis, 1979). A continuación describiremos una variante de la idea original con ligeras modificaciones.
RkJQdWJsaXNoZXIy MjI4NDcx