-
Notifications
You must be signed in to change notification settings - Fork 4
Devfs
Le DevFS (Device File System) est un system de fichier particulier, dont le but est de fournir une interface standard d'accès aux périphériques (via des drivers) depuis l'espace utilisateur en utilisant le VFS. Le DevFS doit donc permettre aux drivers de s'enregistrer, suite à quoi le périphérique interfacé par le driver sera présent sous forme de fichier dans le DevFS (un driver peut parfaitement s'enregistrer plusieurs fois si il doit fournir plusieurs interface, on pense par exemple au contrôleur IDE qui peut gérer 4 disques simultanément). Le DevFS peut accepter plusieurs types de devices
Tous les périphériques n'ont pas les mêmes fonctions, et donc on peut comprendre qu'il n'est pas possible d'interfacer tous les drivers de la même façon. Pour cette raison, il existe différents types de devices, chacun devant fournir des interfaces spécifiques:
Le character device est le type le plus commun. Ce type regroupe tous les périphériques dont le fonctionnement se base sur la transmission de données caractère par caractère, et où l'accès aléatoire aux données n'est pas possible. L'exemple le plus commun est la liaison série: dans ce cas, chaque paquet contient un caractère, et il est évident qu'on ne peut disposer d'un accès aléatoire aux données transmises (du moins sans sans considérer une bufferisation à un niveau supérieur). Les principaux character devices sont:
-
Liaison série
-
La souris
-
Les TTY
-
Le beeper
On se sert également communément des character devices pour tous les drivers qui sont uniquement basés sur les IOCTL (le driver VGA par exemple).
Les block devices regroupent tous les périphériques qui supportent l'accès aléatoire aux données. On les appelle ainsi car par opposition aux character devices, il ne s'agit pas ici de lire caractère par caractère, mais bloc par bloc. Ce type de device convient particulièrement aux supports de stockage (Disquette, IDE, ...)