Fichier spécial fd
Objectif
Permet d'accéder au pilote d'unité de disquette.
Descriptif
Le fichier spécial Fd fournit un accès par bloc et par caractère (brut) aux disquettes des unités de disquette. Le nom de fichier spécial indique généralement à la fois le numéro d'unité et le format de la disquette. Les exceptions sont /dev/fd0 et /dev/fd1, qui spécifient les unités de disquette 0 et 1, respectivement, sans spécifier leur format.
Les fichiers spéciaux génériques /dev/fd0 et /dev/fd1 déterminent automatiquement le type de disquette pour l'unité 0 et l'unité 1. Tout d'abord, le pilote de périphérique tente de lire la disquette en utilisant les caractéristiques de la disquette par défaut pour le type d'unité. En cas d'échec, le pilote de périphérique modifie ses caractéristiques et tente de lire jusqu'à ce qu'il ait lu correctement la disquette ou jusqu'à ce qu'il ait essayé toutes les possibilités prises en charge pour le type d'unité par le pilote de périphérique.
Types de disquettes pris en charge
Le fichier spécial fd prend en charge trois unités de disquette: l'unité de disquette 1.2MB, 5.25-inch , et les unités de disquette 1.44MB et 2.88MB, 3.5-inch . Tous les noms de fichiers spéciaux fd (à l'exception des fichiers spéciaux génériques /dev/fd0, /dev/fd1, /dev/rfd0et /dev/rfd1) contiennent des suffixes qui indiquent comment traiter une disquette. Ces noms de fichiers spéciaux ont le format PrefixXY, où les variables Prefix, X et Y ont les significations suivantes :
| Article | Descriptif |
|---|---|
| Préfixe | Type de fichier spécial. Les valeurs possibles sont Fd et rfd, où R indique l'accès brut au fichier spécial. |
| X | Indicateur de numéro d'unité. Les valeurs possibles de 0 et 1 indiquent les unités 0 et 1, respectivement. |
| Y | Indicateur de format de disquette. Les valeurs possibles dépendent du type de disquette utilisé. Un caractère unique ou un séparateur décimal suivi de caractères numériques est autorisé. Les valeurs possibles sont les suivantes :
|
1.44MB, 3.5-inch
Dix fichiers spéciaux différents peuvent être utilisés avec l'unité de disquette 1.44MB, 3.5-inch . Le type de disquette par défaut utilisé pour ce type d'unité est une disquette double face, 80 cylindres, 18 secteurs par piste.
h ou .18 comme suffixe du nom de fichier spécial (par exemple,/dev/rfd0hou/dev/fd0.18) force une disquette à être traitée comme une disquette double face, 80 cylindres, 18 secteurs par piste. l ou .9 comme suffixe du nom de fichier spécial (par exemple,/dev/fd1lou/dev/rfd0.9) force une disquette à être traitée comme une disquette double face, 80 cylindres, 9 secteurs par piste.
2.88MB, 3.5-inch
Douze fichiers spéciaux différents peuvent être utilisés avec l'unité de disquette 2.88MB 3.5-inch . Le type de disquette par défaut utilisé pour ce type d'unité est une disquette double face, 80 cylindres, 36 secteurs par piste.
h ou .36 comme suffixe du nom de fichier spécial (par exemple,/dev/fd1hou/dev/fd0.36) force une disquette à être traitée comme une disquette double face, 80 cylindres, 36 secteurs par piste. l ou .9 comme suffixe du nom de fichier spécial (par exemple,/dev/rfd0lou/dev/fd1.9) force une disquette à être traitée comme une disquette double face, 80 cylindres, 9 secteurs par piste. Un suffixe de .18 (par exemple,/dev/fd1.18) force une disquette à être traitée comme une disquette double face, 80 cylindres, 18 secteurs par piste.
1.2MB, 5.25-inch Fichiers spéciaux de disquette
Dix fichiers spéciaux différents peuvent être utilisés avec l'unité de disquette 1.2MB 5.25-inch . Le type de disquette par défaut utilisé pour ce type d'unité est une disquette double face, 80 cylindres, 15 secteurs par piste.
Usage Considerations
Lorsque vous utilisez des sous-routines avec le fichier spécial Fd , tenez compte des éléments suivants:
| Article | Descriptif |
|---|---|
| ouvrir et fermer des sous-routines | Un seul processus à la fois peut émettre une sous-routine ouvrir pour accéder à une unité particulière. Cependant, tous les processus enfant créés par un processus parent qui ouvre correctement une unité de disquette héritent de l'unité de disquette ouverte. |
| sous-routines de lecture et d'écriture | Aucune considération particulière. |
| sous-routines ioctl | Les opérations ioctl possibles et leurs descriptions sont les suivantes:
Les caractéristiques de disquette utilisées lors du formatage sont les valeurs qui se trouvent dans le pilote de périphérique lorsqu'il reçoit la commande de formatage. Ces caractéristiques doivent être définies sur les valeurs souhaitées avant d'émettre la commande format . Vous pouvez effectuer cette opération de trois manières:
Pour le formatage, le pilote de disquette doit être ouvert uniquement lorsque l'indicateur O_NDELAY est défini. Sinon, le pilote tente de déterminer le type de disquette dans l'unité, ce qui entraîne l'échec de l'ouverture. |