Los viejunos como yo, aun recordarán aquellas BIOS en las cuales había una lista de discos y se debía escoger aquel que concordara con las especificaciones del nuestro. Los profanos en la materia siempre pensaban que estábamos locos al poder entender eso de cabezas, cilindros, sectores, etc.

Mas tarde, llegaron las BIOS con la autodetección de parámetros del disco y únicamente los limitábamos a escoger entre LBA, largue, CHA… pero siempre ha habido algo a lo cual no hemos podido escapar y es la limitación del tamaño de los discos, sobre todo, en aquellas placas mas antiguas o en los discos mas modernos.

Bios con autodetección de disco

Las limitaciones de los discos, vienen impuestas por varios factores: BIOS, SO, Sistema de Ficheros o incluso el hardware controlador, por lo tanto es muy importante saber escoger aquella opción que mejor se adecue a nuestras necesidades, sobre todo, si os gusta hacer arqueología informática y os topáis con equipos con varios lustros a sus espaldas.

Veamos varias de estas limitaciones y su posible solución:

Límite de 32Mb: Esta limitación venía impuesta por la utilización del obsoleto sistema de ficheros FAT12. FAT12 utiliza tablas de 12 bits y tamaños de asignación máximos de 8Kb. Por aquella época, estamos hablando de principos de los 80, un PC-compatible costaba igual que una casa o un coche y el disco mas común (cuando lo llevaban) era de 10 o 20Mb. Muchos podrán pensar por que no hacer un sistema de ficheros con tablas de asignación mas grandes, pero todo tiene una explicación. Si retrocedemos a los 80, lo mas utilizado en la época eran disquetes de 5,25″ con 40 pistas y 8 sectores por pista. Utilizando una tabla de 12 bits, se podían almacenar todas las estructuras de control en la primera pista del disco y con esto evitar mover el cabezal tanto y aumentar el rendimiento. Por otra parte quien iba a pensar que íbamos a llegar hasta los 32Mb cuando los discos podían almacenar 160Kb? Por suerte todo cambió con la llegada de la versión 3 de DOS.

Límite de 528Mb: Esta limitación viene impuesta por aquellas BIOS que no soportan un disco mayor de 1024 cilindros. Este número es el resultado de multiplicar 1024 cilindros * 16 cabezas * 63 sectores * 512 bytes. Se suele producir en aquellas BIOS anteriores a Agosto de 1994 y tenemos dos soluciones: la primera es actualizarla, cosa casi imposible debido a que en aquella época era muy raro encontrar una BIOS actualizable, el único método era cambiar el chip que la almacenaba y sustituyéndolo por otro o bien «quemándolo» con un programador en caso de que soportara esta tecnología. La segunda opción y a la que recurríamos todos antes de cambiar la placa era instalar un pequeño programa en el sector de arranque que quedaba residente en memoria y hacía una traducción virtual. Por ejemplo un disco duro Seagate ST33232A con 6253 cilindros, 16 cabezas y 63 sectores se podría convertir a otro con 781 cilindros, 128 cabezas y 63 sectores. Como se puede apreciar, no existe un disco con 128 cabezas (64 platos) sería enorme. Los dos programas mas utilizados en la época eran el Disk Manager de Seagate o el Ontrack Disk Manager de Quantum.

Disco duro Seagate ST33232A con sus especificaciones

A partir de esta fecha, los fabricantes de BIOS introdujeron un nuevo sistema de direccionar los clusters. Se pasó de direccionamiento de cilindro, cabeza y sector a asignarle un número único a cada cluster, 0, 1, 2…n, pero este nuevo sistema de direccionamiento introdujo nuevos límites que veremos a continuación.

Límite de 2GB: Nuevamente algunas BIOS no soportaban discos duros con mas de 4092 cilindros. Se suele dar en BIOS comercializadas antes de Febrero de 1996. En este caso, habría que actualizarla pero al ser mas modernas esta actualización la mayoría de las veces ya se podía hacer bajándola de la web del fabricante. Por otra parte existe otro límite impuesto por el propio sistema de ficheros FAT.

Etiqueta de un Seagate donde se puede observar la configuración de los jumpers para limitar la capaciad a 2Gb y las instrucciones para ejecutar Disk Manager.

El sistema de ficheros FAT16 utiliza una tabla de 16 bits, por lo tanto, si utilizamos un tamaño de cluster de 32Kb tenemos un total de 2GB. En discos duros grandes, que tengan una gran cantidad de ficheros pequeños, se desperdicia muchísimo espacio puesto que la ¡¡¿unidad mínima de asignación es de 32Kb!!!. Si la memoria no me falla, he visto esperpentos con unidades de asignación de 64Kb, subiendo la cantidad máxima a 4Gb, pero la cantidad de espacio desaprovechada es aún mayor.

Para solucionar este problema, Microsoft sacó al mercado FAT32, con tablas de 32bits. Esto consiguió aprovechar mucho mas la capacidad de los discos al poder al mismo tiempo crear unidades de asignación mas pequeñas pero tenía el inconveniente que los discos formateados con este sistema de ficheros no podían ser leídos por DOS y las primeras versiones de Windows 95.

Límite de 4,2Gb: Esta limitación es similar a la anterior y se produce cuando el fabricante de la BIOS ha limitado el tamaño máximo a 8190 cilindros.

Limite de 8,4Gb: Limitación idéntica a la anterior. En este caso, el fabricante ha limitado la cantidad de cilindros a 16383. Se suele dar en aquellas BIOS que salieron al mercado antes de Enero de 1998. Algunos discos, tienen un jumper para limitar la capacidad.

Limite de 32Gb: Como no, nuestra amiga la BIOS es nuevamente responsable de este límite. Se da sobre todo en aquellas que salieron al mercado antes de Junio de 1999. Como siempre, la solución pasa por actualizarla. Cabe decir, como en el caso anterior, que hay ciertos discos duros que entre los jumpers de configuración existe la posibilidad de limitar la capacidad del disco, en este caso a 32Gb para que sea plenamente reconocible por la BIOS.

Configuración de jumpers para limitar la capacidad a 32Gb

Limite de 64Gb: Esta vez, el límite está impuesto por el programa FDISK. Este es el programa utilizado por DOS para particionar el disco y en las versiones de Windows 3.1, 95, y 98 da soporte hasta los 32Gb. En cambio en WinMe este límite se amplió hasta los 64Gb. Si se utiliza este programa con discos mayores, nos mostrará una capacidad errónea.

Límite de 128Gb: En algunos sistemas, el interfaz IDE/ATA utiliza una dirección de 28Bit. La solución a este problema es cambiar o añadir una controladora mas moderna que soporte las nuevas especificaciones extendidas de este interfaz con direcciones de 48bit. Si utilizáis Windows, recordad que debe estar instalado mínimo el Service Pack 3 de Windows 2000 o el SP1 de XP para añadir soporte LBA de 48bits.

Limite de 144 Petabytes: Quizá hoy en día nos parezca una cantidad a la que nunca vamos a llegar al igual que pensaron que un usuario nunca necesitaría un sistema con mas de 1Mb de RAM porque era una cantidad ridículamente grande, pero al ritmo que avanza esta ciencia, acabaremos llegando y aparecerá un parche o solución para saltarnos esa barrera de los 48 bits de LBA.

Existen otras muchas limitaciones impuestas por los diferentes sistemas de ficheros o los SO, pero me he limitado a DOS/Windows por ser el mas popular. Por ejemplo, la primera version de MFS (Macintosh File System) soporta volúmenes de un máximo de 256Mb.

One response

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Time limit is exhausted. Please reload CAPTCHA.