Sysfs

Sysfs

Sysfs est un système de fichiers virtuel introduit par le noyau Linux 2.6. Sysfs permet d'exporter depuis l'espace noyau vers l'espace utilisateur des informations sur les périphériques du système et leurs pilotes, et est également utilisé pour configurer certaines fonctionnalités du noyau.

Sommaire

Histoire

Pendant le cycle de développement du noyau 2.5 (branche expérimentale du noyau 2.4), le modèle de pilote Linux a été introduit afin de pallier certaines déficiences du noyau 2.4 :

  • Il n'existe aucune méthode de représentation unifiée des relations pilote/périphérique.
  • Il n'existe aucun mécanisme générique de 'branchement à chaud' (hotplug en anglais).
  • Procfs était encombré d'une foule d'informations non liées aux processus.

Sysfs a été conçu pour exporter les informations présentes dans l'arbre des périphériques qui ainsi n'encombrerait plus procfs. Il a été écrit par Patrick Mochel. Maneesh Soni a plus tard écrit un patch permettant l'utilisation de la mémoire de masse par sysfs afin de réduire son empreinte en mémoire vive sur les gros systèmes.

Sysfs est un système de fichiers en mémoire qui était au départ basé sur ramfs. Ramfs a été écrit pendant la stabilisation du noyau 2.4.0. Grâce à sa simplicité et à l'utilisation de VFS, il fournit une excellente base afin d'en dériver pour créer de nouveaux systèmes de fichiers en mémoire.

Sysfs fut d'abord appelé ddfs (Device Driver Filesystem, système de fichiers pour pilotes de périphériques en anglais) et créé dans le but de debugger le nouveau modèle de pilote pendant son écriture. Auparavant, le debug était effectué en utilisant procfs pour exporter un arbre des périphériques, mais sous les recommandations insistantes de Linus Torvalds, il a été décidé d'utiliser un nouveau système de fichiers basé sur ramfs. Au moment de l'intégration au noyau 2.5.1 de ce nouveau modèle de pilote, il a pris le nom de driverfs.

Durant l'année suivante de développement de la branche 2.5 du noyau, les capacités de l'infrastructure du modèle de pilote et de driverfs ont commencé à se montrer très utiles aux autres sous-systèmes. kobjects a été développé afin de fournir un mécanisme de gestion centralisée des objets et driverfs a été renommé sysfs afin d'exprimer son ignorance des sous-systèmes sur lesquels il repose.

Vue d'ensemble technique

Pour chaque objet ajouté dans l'arbre des modèles de pilote (pilotes, périphériques, classes de périphériques), un répertoire est créé dans sysfs. La relation parent/enfant est représentée sous la forme de sous-répertoires dans /sys/devices/ (représentant la couche physique). Le sous-répertoire /sys/bus/ est peuplé de liens symboliques, représentant la manière dont chaque périphérique appartient aux différents bus. /sys/class/ montre les périphériques regroupés en classes, comme les périphériques réseau par exemple, pendant que /sys/block/ contient les périphériques de type bloc.

Pour les périphériques et leurs pilotes, des attributs peuvent être créés. Ce sont de simples fichiers, la seule contrainte est qu'ils ne peuvent contenir chacun qu'une seule valeur et/ou n'autoriser le renseignement que d'une valeur (au contraire de certains fichiers de procfs, qui nécessitent d'être longuement parcourus). Ces fichiers sont placés dans le sous-répertoire du pilote correspondant au périphérique. L'utilisation de groupes d'attributs est possible en créant un sous-répertoire peuplé d'attributs.

Quelques bus

PCI

Exporte les informations à propos des périphériques PCI.

USB

Contient à la fois les informations sur les hôtes et les périphériques USB.

Sysfs et l'espace utilisateur

Sysfs est utilisé par quelques utilitaires pour accéder aux informations concernant le matériel et ses pilotes (des modules du noyau, comme udev ou HAL par exemple). Des scripts ont été écrits pour accéder aux informations obtenues précédemment via procfs, et certains scripts permettent la configuration du matériel et de leur pilote via leurs attributs.

Articles connexes

Liens externes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Sysfs de Wikipédia en français (auteurs)

Игры ⚽ Нужно решить контрольную?

Regardez d'autres dictionnaires:

  • Sysfs — is a virtual file system provided by Linux 2.6. Sysfs exports information about devices and drivers from the kernel device model to user space, and is also used for configuration. It is similar to the sysctl mechanism found in BSD systems, but… …   Wikipedia

  • Sysfs — es un sistema de archivos virtual que proporciona el núcleo Linux v2.6. Sysfs exporta información sobre los dispositivos y sus controladores desde el modelo de dispositivos del núcleo hacia el espacio del usuario, también permite configurar… …   Wikipedia Español

  • Sysfs — виртуальная файловая система в операционной системе GNU/Linux. Экспортирует в пространство пользователя информацию ядра Linux о присутствующих в системе устройствах и драйверах. Впервые появилась в ядре версии 2.6. Необходимость создания была… …   Википедия

  • sysfs — sysfs  виртуальная файловая система в операционной системе Linux. Экспортирует в пространство пользователя информацию ядра Linux о присутствующих в системе устройствах и драйверах. Впервые появилась в ядре версии 2.6. Необходимость создания… …   Википедия

  • Sysfs — es un sistema de archivos virtual que proporciona el núcleo Linux v2.6. Sysfs exporta información sobre los dispositivos y sus controladores desde el modelo de dispositivos del núcleo hacia el espacio del usuario, también permite configurar… …   Enciclopedia Universal

  • Procfs — On many Unix like computer systems, procfs, short for process file system, consists of a pseudo file system (a file system dynamically generated at boot) used to access process information from the kernel. The file system is often mounted at the… …   Wikipedia

  • Configfs — is a RAM based virtual file system provided by the 2.6 Linux kernel[1]. Configfs appears similar to sysfs but they are in fact different and complementary. Configfs is for creating, managing and destroying kernel objects from user space, and… …   Wikipedia

  • Mount — утилита командной строки в UNIX подобных системах. Применяется для монтирования файловых систем. Содержание 1 Использование 1.1 Размонтирование командой umount …   Википедия

  • procfs — (or the proc filesystem) is a special filesystem in UNIX like operating systems that presents information about processes and other system information in a hierarchical file like structure, providing a more convenient and standardized method for… …   Wikipedia

  • mount — утилита командной строки в UNIX подобных системах. Применяется для монтирования файловых систем. Содержание 1 Использование 1.1 Размонтирование командой umount …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”