Un disco flexible (o disquete) consiste de una membrana flexible, la cual se encuentra cubierta en uno o en ambos lados con una substancia magnética similar a la de los discos rígidos. El disco flexible por si mismo no tiene una cabeza lectora-escritora, esta se encuentra incluida en la unidad. Un disquete se corresponde a lo que es un solo disco en un disco rígido, pero este es de carácter removible, lo que significa que una misma unidad puede ser utilizada para acceder a diferentes disquetes, a diferencia de los discos rígidos en la que cada unidad es indivisible.
Al igual que un disco rígido, un disquete se encuentra dividido en pistas y sectores (y las dos pistas que se corresponden en ambos lados del disquete forman un cilindro), aunque existe mucha menos cantidad de ellas que en un disco rígido.
Una unidad de disquetes soporta en general varios tipos diferentes de
discos; por ejemplo, una unidad de 3.5 pulgadas puede utilizar discos de 720 Kb
y también de 1,44 Mb. Debido a que la unidad tiene para operar un bit que
utiliza para distinguir, y el sistema operativo debe conocer que tan grande (en
capacidad) es el disco, existen muchos archivos de dispositivos para unidades de
disquetes, uno por combinación de unidad y de tipo de disco. Por ejemplo, el
archivo /dev/fd0H1440
es la primera unidad de disquetes
(fd0), la cual debe ser una unidad de 3.5 pulgadas, utilizando un disco de alta
densidad (H) de 3.5 pulgadas de 1440 kB (1440), es decir, un disquete de alta
densidad de 3.5 pulgadas normal.
Para más información sobre las convenciones de nombres para los dispositivos de disquetes, vea XXX (lista de dispositivos).
Los nombres de los archivos de dispositivos para unidades de disquetes son
complejos, sin embargo, en Linux existen tipos especiales de dispositivos que
pueden detectar automáticamente el tipo de disco flexible que se encuentra en
la unidad. Este trabaja intentando leer el primer sector de un disquete recién
insertado, utilizando diferentes tipos, hasta que alguno de ellos consiga leer
el disquete correctamente. Se requiere que el disquete se encuentre formateado
para que este procedimiento funcione. Los archivos de dispositivos automáticos
son /dev/fd0
, /dev/fd1
,...,
etc.
Los parámetros que los dispositivos automáticos utilizan para acceder a un disco pueden ser establecidos mediante el programa setfdprm. Este comando es útil en aquellos casos en que desees acceder a un disco flexible que no tiene un tamaño de los que normalmente se utilizan, debido a que por ejemplo, contiene un número de sectores inusual. O también, si por alguna razón la auto detección falla y el archivo de dispositivo no se encuentra.
Linux puede utilizar muchos formatos de discos flexibles no estándar, que
se suman a todos los estándar a los que Linux tiene soporte. Algunos de estos
requieren que se utilice programas especiales para darles formato. Omitiremos
estos tipos de discos por ahora, pero en el momento en que debas utilizar uno de
ellos, puedes examinar el archivo /etc/fdprm
. Este
especifica los parámetros que setfdprm reconoce.
El sistema operativo debe conocer cuando se cambia un disco flexible en la unidad, por ejemplo, para evitar que los datos que están en caché y que pertenecían al disquete que se estuvo utilizando previamente, sigan siendo válidos para el nuevo disquete insertado. Desafortunadamente, la línea serial que se utiliza para esta tarea algunas veces está dañada, y para peor, no siempre notifica cuando se está utilizando una unidad como sucedía con MS-DOS. Si experimentas problemas utilizando disquetes, esta puede ser la razón. La única forma de solucionar este problema es reparando la unidad de disquete.