Différence entre / dev et / sys

19

Quelle est exactement la différence entre devfs et sysfs ? Les deux semblent maintenir une liste de matériels attachés au système . Alors pourquoi le besoin de 2 fs séparés est-il même apparu? Autant que je puisse obtenir / sys maintient une liste quelque peu "brute" de périphériques (comme "ser0"). Udev agit sur ces appareils, obtient diverses informations et applique diverses règles pour les présenter comme des noms reconnaissables qui sont ensuite mappés sur / dev (comme "camera"). Est-ce la seule raison? Et puis nous montons les périphériques correspondants à partir du / dev fs (ne pouvons-nous pas le faire à partir du / sys fs) dans le / media fs.

J'ai lu la réponse sur Différence entre / dev et / sys / class? . Mais je ne peux pas obtenir la partie sys fs où il est indiqué que

Les Sysfs contiennent la hiérarchie des périphériques, car ils sont connectés à l'ordinateur

Les fichiers dans / sys ne sont-ils pas des fichiers de noeud de périphérique? Alors quel type de fichiers sont-ils?

sounak
la source
1
Duplication possible de Quelle est la différence entre procfs et sysfs?
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
Je ne pense pas que ce soit un doublon. Les réponses aux deux questions sont examinées sysfssous différents angles et aucune des réponses à l'autre question n'explique comment le /devrépertoire se rapporte sysfs.
Anthony G - justice pour Monica

Réponses:

27

Le /syssystème de fichiers (sysfs) contient des fichiers qui fournissent des informations sur les appareils: qu'il soit sous tension, le nom et le modèle du fournisseur, le bus auquel l'appareil est branché, etc. Il intéresse les applications qui gèrent les appareils.

Le /devsystème de fichiers contient des fichiers qui permettent aux programmes d'accéder aux périphériques eux-mêmes: écrire des données sur un port série, lire un disque dur, etc. Cela intéresse les applications qui accèdent aux périphériques.

Une métaphore est celle qui /sysdonne accès à l'emballage, tout en /devdonnant accès au contenu de la boîte.

Les fichiers /sysne sont pas des nœuds de périphérique, mais des liens symboliques et des fichiers normaux. Ces fichiers normaux sont spéciaux en ce que leur lecture ou leur écriture appelle des fonctions spécifiques au fichier dans le noyau, comme les nœuds de périphérique. La différence est que les fichiers /sysfonctionnent de cette façon en raison du système de fichiers sur lequel ils se trouvent, tandis que les nœuds de périphérique fonctionnent de cette façon en raison de leurs caractéristiques de nœud de périphérique (le type de fichier indiquant un périphérique (bloc ou caractère) et le nombre majeur et mineur de périphérique indiquant de quel appareil il s'agit).

La raison d' /devexister indépendamment de /sysest en partie historique: /devremonte à l'aube d'Unix, alors qu'il /syss'agit d'une invention beaucoup plus récente. Si Linux a été conçu aujourd'hui sans arrière-plan historique, c'est /dev/sdapossible /sys/block/sda/content.

Gilles 'SO- arrête d'être méchant'
la source
3
Voir aussi: man hier.
HalosGhost