web-dev-qa-db-fra.com

Différence entre / dev et / sys

Quelle est exactement quelle est la différence entre DVFS et SYSFS? Les deux semblent Maintenir une liste de hardwares attachées au système. Alors pourquoi le besoin de 2 fs séparé est-il même survenu? Autant que je puisse obtenir / sys maintient une liste un peu "brute" des périphériques (comme "SER0"). UDEV agit sur ces appareils, obtient diverses informations et applique diverses règles pour les présenter comme noms reconnaissables qui sont ensuite mappés sur / dev (comme "Caméra"). Est-ce la seule raison? Et ensuite nous montons les périphériques correspondants à partir du / dev fs (ne pouvons-nous pas faire cela à partir de / sys FS) dans le/ média fs.

J'ai lu la réponse à différence entre/dev et///SYS/classe? . Mais je ne peux pas obtenir la partie SYS FS où elle indique que

SYSFS contient la hiérarchie des appareils, car elles sont attachées à l'ordinateur

Les fichiers IN/SYS ne sont-ils pas des fichiers nœuds de périphérique? Alors quel type de fichiers sont-ils?

19
sounak

Les /sys Système de fichiers (SYSFS) contient des fichiers fournissant des informations sur les périphériques: qu'il soit alimenté, le nom du fournisseur et le modèle, quel bus l'appareil est branché, etc. Il s'agit d'un intérêt pour les applications qui gèrent des appareils.

Les /dev Système de fichiers contient des fichiers permettant aux programmes d'accéder eux-mêmes aux périphériques: écrire des données sur un port série, lire un disque dur, etc. Il est intéressant d'accéder aux périphériques.

Une métaphore est que /sys donne accès à l'emballage, tandis que /dev fournit un accès au contenu de la boîte.

Les fichiers de /sys ne sont pas des nœuds de périphérique, mais des liens symboliques et des fichiers réguliers. Ces fichiers réguliers sont spéciaux en ce que la lecture ou l'écriture d'eux invoque des fonctions spécifiques au fichier dans le noyau, telles que les nœuds de périphérique. La différence est que les fichiers de /sys Travaillez de cette façon en raison du système de fichiers, alors que les nœuds de périphérique fonctionnent de cette manière 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 quel périphérique il est ).

La raison pour /dev existant indépendamment de /sys est en partie historique: /dev remonte à l'aube d'UNIX, tandis que /sys est une invention beaucoup plus récente. Si Linux a été conçu aujourd'hui sans fond historique, /dev/sda pourrait être /sys/block/sda/content.