Système de fichiers Linux Sysfs

Système de fichiers Linux Sysfs
Dans Linux, chaque répertoire a son propre but pour son existence. Il en va de même pour le sysfs annuaire. Le sysfs Les inscriptions sont utilisées par le noyau pour exporter les informations aux processus dans le domaine de l'utilisateur et pour obtenir les commentaires de l'utilisateur. Ces entrées voyagent dans le système de fichiers pour trouver les fonctions de spectacle et de stockage enregistrées pour cela.

Entrées sysfs Peut être trié en fonction du type de bus, du type d'objet, du type d'appareil, des relations parent / enfant, etc. Symlinks aide à réduire les redondances.

Que couvrirons-nous?

Dans cet article, nous explorerons le sysfs Système de fichiers dans Linux. Commençons par un aperçu du sysfs.

Aperçu du sysfs Système de fichiers

Sysfs a été introduit dans Linux pour la première fois dans la version 2 du noyau 2.6.0.

Le sysfs est un système de fichiers virtuel dans Linux. Cela signifie que les fichiers sur sysfs Ne résidez pas sur un disque ou aucun support physique. Cependant, le contenu des systèmes de fichiers est stocké en mémoire. Initialement, sysfs était basé sur RAMFS et s'appelait DDFS (Système de fichiers du pilote de périphérique).

Sysfs envoie des données à l'espace utilisateur à l'aide de fichiers virtuels. Ces données comprennent des données sur divers sous-systèmes de noyau, dispositifs matériels et pilotes de périphériques associés.

Généralement, sysfs est monté sur le / sys partition et est automatiquement monté par le système. De plus, il peut être monté manuellement sur le démarrage en utilisant le fstab déposer:

$ mont -t sysfs sysfs / sys

De la commande précédente, nous notons que le sysfs est monté sur / sys. C'est l'emplacement standard où le sysfs est monté sur.

La hiérarchie Sysfs

Sysfs est un groupe de fichiers, de dossiers et de liens symboliques. La plupart des fichiers à l'intérieur / sys sont en lecture seule. Certains fichiers sont également écrits, ce qui aide à modifier les variables du noyau. Les liens symboliques sont largement utilisés pour lier les entrées à travers l'arborescence du système de fichiers.

Nous vous recommandons d'utiliser la commande «arbre» ​​pour voir une vue complète de ce répertoire. Sur notre système, la commande «Tree» affiche un total de 9480 répertoires et 38635 fichiers, ce qui est une vaste collection de fichiers et répertoires.

Au niveau supérieur, 11 sous-répertoires majeurs sont créés au démarrage du système. Ces sous-répertoires sont des représentations des principaux sous-systèmes enregistrés auprès du sysfs. Au démarrage, ces sous-systèmes sont enregistrés auprès du noyau KObject. Une fois l'initialisation terminée, ils commencent à trouver des objets enregistrés dans leurs répertoires correspondants.

Fichiers et sous-répertoires du système de fichiers / SYS

Voyons maintenant quelques fichiers et sous-répertoires du / sys Système de fichiers et discutez de leur objectif de base. Les sous-répertoires virtuels les plus importants au niveau supérieur de / sys sont le bloc, le bus, l'hyperviseur, la classe, les appareils, le noyau, le micrologiciel, le module et la puissance.

1. / sys / bloc: Il a un lien de symbolique et des répertoires pour chaque appareil de bloc découvert sur le système. Ces liens symboliques indiquent leurs répertoires respectifs sous le répertoire / sys / appareils. Il y a beaucoup de sous-répertoires à l'intérieur ici:

Ces dispositifs de bloc, illustrés en couleur cyan, ont des attributs contenant des informations sur les partitions. Les exemples de ces sous-répertoires sont SDA, SDB, etc.

2. / sys / bus: Un bus est un moyen / canal entre un processeur et un appareil ou des appareils. Des exemples de types de bus incluent PCI, PCMCIA, SCSI ou USB. Pour chaque type de bus dans le noyau, il existe un sous-répertoire qui réside dans le / sys / bus annuaire. Chacun de ces sous-résectory a deux autres sous-répertoires: dispositifs et conducteurs.

i) Dispositifs: il contient des liens symboliques aux entrées dans / sys / appareils (l'arborescence de l'appareil global) pour chaque appareil découvert dans le bus.

ii) Conducteur: il contient un sous-répertoire pour chaque pilote de périphérique chargé dans le bus. Ces sous-répertoires contiennent des attributs pour gérer les paramètres du pilote et les liens symboliques.

3. / sys / classe: Une classe est une vue de haut niveau d'un appareil. Ce répertoire contient en outre un niveau supplémentaire de sous-répertoires pour chaque classe d'appareil enregistrée sur le système. Ces classes peuvent être des terminaux, des appareils réseau, des appareils sonores, etc. Ces sous-répertoires contiennent des liens symboliques pour chaque appareil d'une classe. Ces liens symboliques pointent vers les entrées du / sys / appareils annuaire.

4. / sys / classe / net: Chaque lien symbolique de ce répertoire représente l'un des appareils de réseautage réels ou virtuels, qui sont visibles dans l'espace de noms du réseau du processus accédant au répertoire. Chacun de ces liens symboliques pointe vers les entrées du / sys / appareils annuaire.

5. / sys / appareils: Le / sys / appareil Le répertoire contient toute l'arborescence du périphérique du noyau dans la vue du système de fichiers. Il comprend chaque appareil physique trouvé par les types de bus enregistrés auprès du noyau.

6. / sys / firmware: Il contient des interfaces pour gérer des objets et des attributs. Ici, le firmware est un code exécuté sur le démarrage du système. Par exemple, la plate-forme peut être le BIOS x86, OpenFirmware et IA64. Il existe de nombreux fichiers dans le dossier EFI comme exemple.

Exemple de sortie:

$ ls firmware / efi /
config_table esrt fw_vendor systab d'exécution
efivars fw_platform_size mok-variables runtime-map vars

Chacun de ces fichiers contient une certaine valeur pour un paramètre.

7. / sys / noyau: Il existe de nombreux fichiers et dossiers dans ce sous-répertoire qui donnent des données sur le noyau actif.

8. / sys / module: Pour chaque module chargé dans le noyau, il y a un sous-répertoire qui réside dans ce répertoire. La dénomination de ces sous-répertoires est basée sur le nom du noyau correspondant. À l'intérieur de chaque répertoire de module, il y a un sous-répertoire appelé sections qui contient des attributs sur les sections du module. De nombreux fichiers sont comme coresize, initSize, insitstate, srcversion, etc. De même, il existe de nombreuses sous-répertoires comme les conducteurs, les porteurs, les notes, les paramètres, etc.

9. / sys / puissance: Il représente le sous-système de puissance et n'a que deux attributs: disque et état. La méthode par laquelle le système ira endormir / suspendre est contrôlé par «disque». «État» permet un pouvoir d'obtenir un état de faible puissance.

Conclusion

Dans ce guide, nous avons appris les systèmes de fichiers SYSFS à Linux et avons également vu divers sous-répertoires et leurs objectifs. Le sysfs contient une grande quantité de données. Plus d'informations peuvent être trouvées sur les pages de l'homme et également sur cette page, qui est hébergée sur le noyau.org