Discos R�gidos

Esta subsecci�n introduce terminolog�a relacionada a los discos r�gidos. Si ya conoce los t�rminos y conceptos, entonces puede obviar esta subsecci�n.

La Figura�6.1, “A schematic picture of a hard disk.” muestra un esquema de las partes importantes de un disco r�gido. Un disco r�gido consiste de uno o m�s discos circulares. [5] Las superficies de estos discos se encuentran cubiertas de una substancia magn�tica utilizada para grabar los datos. Por cada superficie existe una cabeza lectora-escritora que examina o altera los datos all� grabados. Los discos rotan sobre un eje com�n, y t�picamente la velocidad de rotaci�n es de 3600 vueltas o revoluciones por minuto, aunque los discos r�gidos de altas prestaciones tienen velocidades mucho mayores. Las cabezas se mueven a lo largo de los radios de los discos; y este movimiento combinado con el de rotaci�n de los discos, permite a las cabezas acceder a todas las partes de las superficies.

El procesador (CPU) y el disco se comunican a trav�s de una controladora de disco. Esto libera al resto de la computadora de tener que conocer como utilizar el dispositivo, debido a que los controladores para diferentes tipos de discos pueden ser construidos para que utilicen la misma interfase para comunicarse con el resto de la computadora. Por lo tanto, la computadora solo tiene que decir “"hey!, Disco!, dame lo que yo quiero"”, en vez de de tener que indicarle, con una larga y compleja serie de se�ales el�ctricas, como mover la cabeza a la ubicaci�n apropiada, esperar a que ls posici�n correcta del disco pase por debajo de la cabeza y realizar todos los pasos necesarios pocos amistosos. En realidad, la interfase de la controladora es bastante compleja, pero mucho menos de lo que puede llegar a ser un acceso directo al disco si esta no existiera. La controladora puede adem�s realizar otras tareas, como reemplazar autom�ticamente sectores defectuosos o hacer cach�.

Lo anterior es usualmente todo lo necesita comprender acerca del funcionamiento del hardware. Existen tambi�n un pu�ado de otras cosas, tales como el motor que gira los discos y mueve las cabezas, y la electr�nica que controla las operaciones de las partes mec�nicas. Pero estas cuestiones no son relevantes para entender los principios de como trabaja un disco r�gido.

Las superficies est�n normalmente divididas en anillos conc�ntricos, llamado pistas, y estos por su parte, se encuentran divididas en sectores. Esta divisi�n es utilizada para especificar ubicaciones dentro de los discos r�gidos y para asignar espacio en disco para los archivos. Para encontrar una ubicaci�n en particular en el disco r�gido, uno puede decir “"superficie 3, pista 5, sector 7"”. Normalmente la cantidad de sectores es el mismo en todas las pistas, pero algunos discos ponen m�s sectores en las pistas m�s externas al centro (todos los sectores son del mismo tama�o f�sico, por lo que mayor cantidad de ellos caben en las pistas mas salientes-externas). T�picamente, un sector alberga 512 bytes de datos. El disco, por si s�lo, no puede manejar cantidades mas peque�as de datos que las contenidas en un sector.

Figura 6.1. A schematic picture of a hard disk.

A schematic picture of a hard disk.

Cada superficie esta dividida dentro de pistas (y sectores) de la misma forma. Esto significa que cuando la cabeza se encuentra sobre una pista particular, las cabezas para las otras superficies est�n tambi�n en el mismo n�mero de pista. Todas las pistas correspondientes a un mismo n�mero de pista de cada superficie es llamado un cilindro. El movimiento de las cabezas desde una pista (cilindro) a otra toma un determinado intervalo de tiempo. Entonces, si los datos que se desean acceder (digamos un archivo), se encuentran en ubicaciones contiguas dentro del disco, el movimiento de las cabezas ser�a menor, mejorando la performance del sistema. Sin embargo, no siempre es posible almacenar los archivos de esta forma; as� que los archivos que est�n ubicados en diversos lugares del disco son llamados fragmentados.

El n�mero de superficies (o cabezas, lo cual es la misma cosa), cilindros, y sectores var�an bastante. La especificaci�n del n�mero de cada uno de estos �tems es llamada la geometr�a del disco r�gido. La geometr�a es usualmente almacenada en una memoria especial alimentada a bater�a, llamada la CMOS RAM, desde donde el sistema operativo puede obtenerla durante el inicio del sistema o la iniciaci�n del controlador.

Desafortunadamente, [6] la BIOS tiene una limitaci�n de dise�o, lo cual hace imposible que se especifique un n�mero de pista que sea mas grande que 1024 en la CMOS RAM, aunque este valor sea muy peque�o para un disco grande. Para solucionar este inconveniente, la controladora del disco r�gido "miente" acerca de la geometr�a, y traduce las direcciones dadas por la computadora dentro de valores que se ajustan realmente. Por ejemplo, un disco r�gido puede tener 8 cabezas, 2048 pistas, y 35 sectores por pista. Esta controladora puede mentirle a la computadora y decirle que el disco tiene 16 cabezas, 1024 pistas y 35 sectores por pista. [7] Estos valores no exceden el n�mero de pistas permitido y traduce las direcciones suministrada por la computadora dividiendo por dos el n�mero de cabezas y duplicando el n�mero de pistas. En realidad, la matem�tica es un poco m�s complicada, porque los n�meros pueden no ser tan exactos como en nuestro ejemplo. Sin embargo,estos detalles no son relevantes para la comprensi�n del principio. Este tipo de traducci�n distorsiona la vista que tienen los sistemas operativos sobre como est�n organizados los discos, por lo tanto, dificulta la acci�n de almacenar toda la informaci�n (por ej. de un archivo) en un mismo cilindro para mejorar la performance.

La traducci�n es solo un problema para los discos de tipo IDE. Los discos SCSI utilizan un n�mero de sector secuencial. En este caso, la controladora traduce un n�mero de sector secuencial en una direcci�n compuesta por cabeza, cilindro y sector, y utilizan un m�todo completamente diferente de comunicaci�n entre la CPU y la controladora, por lo que no tienen el tipo de problema que existe con los discos IDE. Note, sin embargo, que la computadora tampoco puede conocer la verdadera geometr�a de un disco SCSI.

Debido a que Linux no conoce con frecuencia la verdadera geometr�a de un disco, sus sistemas de archivos no intentan colocar los archivos en un mismo cilindro. En vez de esto, intenta utilizar sectores consecutivos, lo que proporciona una performance similar. El tema es un poco m�s complicado si existen prelecturas autom�ticas y cach� manejadas por la controladora.

Cada disco r�gido es representado por un archivo de dispositivo separado. Los archivos de dispositivos para los discos r�gidos IDE son /dev/hda, /dev/hdb, /dev/hdc, y /dev/hdd, respectivamente. Los archivos de dispositivos para los discos r�gidos SCSI son /dev/sda, /dev/sdb, etc. Existen convenciones de nombres similares para otros tipos de discos r�gidos; lea el Cap�tulo�5, Archivos de Dispositivos para obtener m�s informaci�n. Note que los archivos de dispositivos para los discos r�gidos dan acceso a todo el disco, no a particiones individuales (las cuales est�n explicadas en subsecciones siguientes). Por esta raz�n, puede ser simple tener inconveniente con la informaci�n entre las particiones si no tiene cuidado al accederlos. Usualmente, solo debe utilizar los archivos de dispositivos de discos para acceder al master boot record (el cual tambi�n es explicado m�s adelante).



[5] Los platos est�n constru�dos de una sustancia dura, como por ejemplo aluminio; lo que le da al disco r�gido su nombre.

[6] La BIOS es un software que se encuentra almacenado dentro de los chips ROM; y se encarga -entre otras cosas- de las etapas iniciales del booting.

[7] Estos n�meros son completamente imaginarios.