
Tamaño de clúster y espacio disponible
Un cluster se trata de una agrupación de varios sectores para formar una unidad de asignación. Normalmente, el tamaño de cluster en la FAT del DOS o de Windows 95 es de 32 Kb; ¿y qúe? Esto no tendría importancia si no fuera porque un cluster es la mínima unidad de lectura o escritura, a nivel lógico, del disco. Es decir, cuando grabamos un archivo, por ejemplo de 10 Kb, estamos empleando un cluster completo, lo que significa que se desperdician 22 Kb de ese culster. Imaginaos ahora que grabamos 100 ficheros de 10 Kb; perderíamos 100x22 Kb, más de 2 Megas. Por ello, el OSR2 de Windows 95 y Windows 98 implementan una nueva FAT, la FAT 32, que subsana esta limitación, además de otros problemas.
Estructura interna de un disco duro
Un disco duro se compone de muchos elementos; citaremos los más importantes de cara a entender su funcionamiento. En primer lugar, la información se almacena en unos finos platos o discos, generalmente de aluminio, recubiertos por un material sensible a alteraciones magnéticas. Estos discos, cuyo número varía según la capacidad de la unidad, se encuentran agrupados uno sobre otro y atravesados por un eje, y giran continuamente a gran velocidad.
Asimismo, cada disco posee dos diminutos cabezales de lectura/escritura, uno en cada cara. Estos cabezales se encuentran flotando sobre la superficie del disco sin llegar a tocarlo, a una distancia de unas 3 o 4 micropulgadas (a título de curiosidad, podemos comentar que el diámetro de un cabello humano es de unas 4.000 micropulgadas). Estos cabezales generan señales eléctricas que alteran los campos magnéticos del disco, dando forma a la información. (dependiendo de la dirección hacia donde estén orientadas las partículas, valdrán 0 o valdrán 1).
La distancia entre el cabezal y el plato del disco también determinan la densidad de almacenamiento del mismo, ya que cuanto más cerca estén el uno del otro, más pequeño es el punto magnético y más información podrá albergar.
Algunos conceptos
Algunos conceptos
Antes hemos comentado que los discos giran continuamente a gran velocidad; este detalle, la velocidad de rotación, incide directamente en el rendimiento de la unidad, concretamente en el tiempo de acceso. Es el parámetro más usado para medir la velocidad de un disco duro, y lo forman la suma de dos factores: el tiempo medio de búsqueda y la latencia; el primero es lo que tarde el cabezal en desplazarse a una pista determinada, y el segundo es el tiempo que emplean los datos en pasar por el cabezal.
Si se aumenta la velocidad de rotación, la latencia se reduce; en antiguas unidades era de 3.600 rpm (revoluciones por minuto), lo que daba una latencia de 8,3 milisegundos. La mayoría de los discos duros actuales giran ya a 7.200 rpm, con lo que se obtienen 4,17 mb de latencia. Y actualmente, existen discos de alta gama aún más rápidos, hasta 10.000 rpm.
Es preciso comentar también la estructura lógica del disco, ya que contiene importantes conceptos que todos habréis oído; para empezar, la superficie del disco se divide en una serie de anillos concéntricos, denominados pistas. Al mismo tiempo, las pistas son divididas en trames de una misma longitud, llamados sectores; normalmente un sector contiene 512 bytes. Otro concepto es el de cilindro, usado para describir las pistas que tienen el mismo número pero en diferentes discos. Finalmente, los sectores suelen agruparse en clusters o unidades de asignación. Estos conceptos son importantes a la hora de instalar y configurar un disco duro, y haremos uso de alguna de esta información cuando subamos al nivel lógico del disco. Muchas placas base modernas detectan los discos duros instalados, mientras que en otras más antiguas hay que meter algunos valores uno por uno (siempre vienen escritos en una etiqueta pegada en la parte superior del disco).
Si se aumenta la velocidad de rotación, la latencia se reduce; en antiguas unidades era de 3.600 rpm (revoluciones por minuto), lo que daba una latencia de 8,3 milisegundos. La mayoría de los discos duros actuales giran ya a 7.200 rpm, con lo que se obtienen 4,17 mb de latencia. Y actualmente, existen discos de alta gama aún más rápidos, hasta 10.000 rpm.
Es preciso comentar también la estructura lógica del disco, ya que contiene importantes conceptos que todos habréis oído; para empezar, la superficie del disco se divide en una serie de anillos concéntricos, denominados pistas. Al mismo tiempo, las pistas son divididas en trames de una misma longitud, llamados sectores; normalmente un sector contiene 512 bytes. Otro concepto es el de cilindro, usado para describir las pistas que tienen el mismo número pero en diferentes discos. Finalmente, los sectores suelen agruparse en clusters o unidades de asignación. Estos conceptos son importantes a la hora de instalar y configurar un disco duro, y haremos uso de alguna de esta información cuando subamos al nivel lógico del disco. Muchas placas base modernas detectan los discos duros instalados, mientras que en otras más antiguas hay que meter algunos valores uno por uno (siempre vienen escritos en una etiqueta pegada en la parte superior del disco).
Otras formas de usar un disco duro
Si hay algo que resulta evidente, es que el disco duro siempre almacena una valiosa información, y de su buen funcionamiento depende la integridad de los datos. Si esto es importante en el ámbito particular, imaginad a un nivel de entidades bancarias, grandes empresas, administraciones públicas o ejército, cuyas instalaciones informáticas normalmente son redes basadas en un servidor central. Si ese disco duro falla, el resultado puede ser catastrófico.
Por este motivo, surge el término SFT (Sistema tolerante a fallos, o System Fault Tolerance); se basa en el concepto de mantener tanto la integridad de los datos cómo el correcto funcionamiento del sistema, en el caso de un fallo de hardware.
Este concepto aporta un nuevo término, RAID (Redundant Array of Inexpensive Disks); se puede traducir como Matriz Redundante de Discos Baratos, y sus diferentes modos de implementación forman las llamados niveles RAID. Aunque existen multitud de niveles, tocaremos más bien el concepto genérico; este se basa en utilizar varios discos duros, conectados entre sí (aunque el sistema cree que sólo existe uno), y que almacenan duplicados de la información principal.
Por tanto, si uno de ellos cae, el sistema no se paraliza puesto que tenemos otros discos para sustituirlo, y, además, con la información totalmente intacta.
Existen numerosísimas formas de implementar la tolerancia a fallos, tanto por hardware como por software; podemos citar por ejemplo, el Disk Striping (que divide los datos en bloques de 64 Kb y los distribuye entre los diferentes discos intalados), el Disk Mirroring (crea una copia exacta, un espejo, del disco principal en otro secundario) y su variante Disk Duplexing (añade una controladora para gestionar el disco secundario y así reducir el tráfico) o el Disk Striping with Parity (variante del Striping, que añade también información de paridad a los datos guardados, empleada para recuperar la información en una hipotética pérdida de la misma). Por último, la técnica de Sector Sparing consiste en, tras la detección de un sector defectuoso del disco, sacar la información del mismo, colocarla en un sector bueno y marcar como defectuoso el sector erróneo.
Existen numerosísimas formas de implementar la tolerancia a fallos, tanto por hardware como por software; podemos citar por ejemplo, el Disk Striping (que divide los datos en bloques de 64 Kb y los distribuye entre los diferentes discos intalados), el Disk Mirroring (crea una copia exacta, un espejo, del disco principal en otro secundario) y su variante Disk Duplexing (añade una controladora para gestionar el disco secundario y así reducir el tráfico) o el Disk Striping with Parity (variante del Striping, que añade también información de paridad a los datos guardados, empleada para recuperar la información en una hipotética pérdida de la misma). Por último, la técnica de Sector Sparing consiste en, tras la detección de un sector defectuoso del disco, sacar la información del mismo, colocarla en un sector bueno y marcar como defectuoso el sector erróneo.
Por supuesto, todas estas técnicas se efectúan en tiempo real, y normalmente son los sistemas operativos de red (como Windows NT Server o Novell Netware) los encargados de soportarlas. Asimismo, se emplean casi siempre discos SCSI debido a sus características, como flexibilidad o capacidad de ampliación; incluso técnicas como el Sector Sparing deben ser usadas en discos SCSI, puesto que es imposible aplicarlas con dispositivos IDE.
Buffer y caché
Prácticamente todos los discos duros incluyen una memoria buffer, en la que almacenan los últimos sectores leídos; ésta, que puede ser desde 2 Kb hasta 512 Kb, es importantísima de cara al rendimiento, e incluso imprescindible para poder mantener altas cotas de transferencia. Se la denomina caché cuando incluyen ciertas características de velocidad; concretamente, los procesos se optimizan cuando el sistema vuelve de una operación de copiado de datos a la unidad sin esperar a que ésta haya finalizado. También utilizan otra técnica diferente consistente en que la unidad informa de la finalización de una operación de escritura en el momento de recibir los datos, antes de comenzar a grabarlos en el disco. De esta manera no se producen estados de espera; tras todo lo comentado hasta este momento, podemos decir, resumiendo, que un caché amplio en un disco duro es absolutamente imprescindible.
Prácticamente todos los discos duros incluyen una memoria buffer, en la que almacenan los últimos sectores leídos; ésta, que puede ser desde 2 Kb hasta 512 Kb, es importantísima de cara al rendimiento, e incluso imprescindible para poder mantener altas cotas de transferencia. Se la denomina caché cuando incluyen ciertas características de velocidad; concretamente, los procesos se optimizan cuando el sistema vuelve de una operación de copiado de datos a la unidad sin esperar a que ésta haya finalizado. También utilizan otra técnica diferente consistente en que la unidad informa de la finalización de una operación de escritura en el momento de recibir los datos, antes de comenzar a grabarlos en el disco. De esta manera no se producen estados de espera; tras todo lo comentado hasta este momento, podemos decir, resumiendo, que un caché amplio en un disco duro es absolutamente imprescindible.

