Penguin
Annotated edit history of DevFs version 4, including all changes. View license author blame.
Rev Author # Line
3 LawrenceDoliveiro 1 __devfs__ is the Device FileSystem. It's optional starting with LinuxKernel 2.4 and not recommended with LinuxKernel 2.6 as it has been deprecated in favour of SysFs and [UDev].
1 CraigBox 2
3 LawrenceDoliveiro 3 It was designed so that instead of having to have a central body allocate major and minor numbers (unique identifiers) to devices, you could access them more like a namespace. For example, your serial port /dev/ttyS2 would become /dev/tts/2; console /dev/tty3 would become /dev/vc/3. You could still have support for the old names for software that would otherwise be confused by these changes.
1 CraigBox 4
4 LawrenceDoliveiro 5 You can find a detailed description of <tt>devfs</tt> at http://www.atnf.csiro.au/people/rgooch/linux/docs/devfs.html.
3 LawrenceDoliveiro 6
7 <tt>devfs</tt> was abandoned for a number of reasons: there were problems with its implementation in the kernel which nobody was prepared to fix, and it enforced a particular device-naming policy, which many people felt was not something that the kernel should be doing.
8
9 <tt>udev</tt> by contrast, runs in userspace and can be extensively controlled by the user through its configuration files. Management of device special files is kept separate from information about the hardware; the latter is made available by the kernel through <tt>sysfs</tt>.