Sysfs

from Wikipedia, the free encyclopedia

Sysfs is a virtual file system of the Linux kernel . It exports information about various kernel subsystems, hardware and associated device drivers through virtual files in user mode . Certain parameters can also be configured via this interface.

Sysfs offers a similar functionality to the Sysctl mechanism in BSD operating systems, with the difference that Sysfs was implemented as a virtual file system.

history

During the development of the Linux kernel 2.5, the Linux driver model was presented, which should fix the following weaknesses of the kernel version 2.4:

  • There was no single method of showing that device-driver relationships existed.
  • There were no generic hotplug mechanisms.
  • procfs was loaded with information unrelated to processes.

It was originally developed by Patrick Mochel. Maneesh Soni later wrote the so-called "sysfs backing store patch", which reduces memory usage on large systems.

During the next year of kernel version 2.5 development, the infrastructural capabilities of the driver model, formerly called ddfs, began to prove useful for the kernel subsystems. Around the same time, the kobjects were developed to enable central object management. The name was changed from driverfs to sysfs to clarify the bandwidth.

Sysfs is usually /sysmounted under the path .

Supported bus systems

PCI
Exports information about PCI devices.
USB
Includes USB devices and USB hosts.
S / 390 bus systems
Since the S / 390 architecture contains devices that do not exist anywhere else in this form, special bus systems must be created:
css
Contains subchannels (currently only one I / O driver is supported for subchannels).
ccw
Contains devices attached to channels.
ccwgroup
Virtual devices that are created by the user and consist of ccw devices.
iucv
Virtual devices such as netiucv devices that use the IUCV interface of virtual machines.

Individual evidence

  1. Linus Torvalds: Linux v2.5.44 - and offline for a week . October 18, 2002.
  2. Linus Torvalds: Linux v2.5.46 . November 4, 2002.
  3. Patrick Mochel: [RFC New Driver Model for 2.5] . October 17, 2001.
  4. Tim Jansen: Re: [PATCH 2.5 PROPOSAL: Replacement for current / proc of shit.] . November 1, 2001.