Une disquette consiste en une membrane souple recouverte sur l'une ou ses deux faces par une substance magnétique identique à celle des disques durs . Une disquette ne possède pas de tête de lecture-écriture, celle-ci fait partie du lecteur. Une disquette correspond à un plateau de disque dur, mais elle est amovible et un lecteur peut être utilisé pour accéder à différentes disquettes, alors qu'un disque dur est une unité physiquement indivisible.
Comme un disque dur, une disquette est divisée en pistes et secteurs (et les deux pistes correspondantes sur les deux faces de la disquette forment un cylindre), mais il y en a beaucoup moins que sur un disque dur.
Un lecteur de disquettes peut généralement utiliser plusieurs types
différents de disquettes ; par exemple, un lecteur
pouces peut
utiliser à la fois des disquettes de 720 ko et des disquettes de 1,44 Mo.
Puisque le lecteur doit fonctionner de façon légèrement différente et que le
système doit savoir la taille de la disquette, il y a beaucoup de fichiers
spéciaux pour les disquettes, un par combinaison possible de lecteur et de
type de disquette. Ainsi, /dev/fd0H1440 est le premier lecteur
(fd0), qui doit être un lecteur
pouces,utilisant une
disquette
pouces, haute densité (H) d'une taille de
1440 ko (1440), i.e., une disquette classique
pouces
HD. Pour plus d'informations sur les conventions des noms des pilotes
disquettes, voir [Anv].
Les noms des lecteurs de disquettes sont compliqués et Linux a donc un type spécial de pilote disquette qui détermine automatiquement le type de la disquette qui est dans le lecteur. Il fonctionne en essayant de lire le premier secteur de la disquette venant d'être insérée en utilisant les différents formats de disquettes jusqu'à ce qu'il détermine son format. Naturellement, il faut que la disquette soit formatée. Les pilotes automatiques s'appellent /dev/fd0, /dev/fd1, etc.
Les paramètres que le pilote automatique utilise pour accéder à une disquette peuvent aussi être configurés en utilisant le programme setfdprm. Ceci peut être utile si l'on utilise des disquettes qui ne correspondent pas aux tailles habituelles, par exemple si elles ont un nombre inhabituel de secteurs, ou si la détection automatique échoue et que le fichier spécial adéquat n'existe pas.
Linux peut gérer un grand nombre de formats de disquettes non standard en plus des formats standards. Certains d'entre eux nécessitent l'utilisation de programmes de formatage spéciaux. Nous passerons sur ces types de disquettes pour l'instant, mais, entre temps, vous pouvez examiner le fichier /etc/fdprm. Il spécifie les valeurs reconnues via setfdprm.
Le système d'exploitation doit savoir quand une disquette a été changée dans un lecteur, pour, par exemple, éviter d'utiliser des données d'une disquette précédente qui seraient encore dans le cache. Malheureusement, la ligne du signal utilisé pour cela est souvent coupée, voire pire. Ceci ne se remarque pas toujours lorsqu'on utilise le lecteur à partir de MS-DOS. Si vous avez des problèmes bizarres en utilisant les disquettes, cela peut en être la raison. La seule façon de corriger ce problème est de réparer le lecteur.