devfs
From Wikipedia, the free encyclopedia
devfs is a specific implementation of a device file system on Unix-like operating systems, used for presenting device files, an abstraction for accessing I/O and other peripherals. The underlying mechanism of implementation may vary, depending on the OS.
| It has been suggested that this article or section be merged with Device file. (Discuss) |
| It has been suggested that this article or section be merged with Device file system. (Discuss) |
Contents |
[edit] Rationale
Maintaining these special files on a general-purpose file system is inconvenient, and as it needs kernel assistance anyway, the idea of a special-purpose file system that is not stored on disk arose.
Also defining when devices are ready to appear is not entirely trivial. The 'devfs' approach is for the device driver to request synchronously creation and deletion of 'devfs' entries related to the devices it enables and disables, and this makes it much simpler and with easier to understand semantics than systems like udev that have complicated asynchronous notifications.
Another advantage is that unlike udev it does not require any user-space daemon, thus making for a simpler and quicker boot, it does support one to allow user-space actions on device file creation and deletion.
[edit] Implementations
| Operating System | Device file system | Standard mount-point | Author | Notes |
|---|---|---|---|---|
| 2.4 <= Linux < 2.6.18 | devfs | /dev | Richard Gooch | Implemented fully in the kernel. OBSOLETED: Users are encouraged to migrate to udev. |
| 2.6.15 <= Linux | udev | /dev | Greg Kroah-Hartman, Kay Sievers and Dan Stekloff | Implemented largely in user space, device information is gathered from sysfs. Device files can be stored on a conventional general-purpose file system, or in a memory file system (tmpfs). |
| Solaris | devfs | /devices | Sun Microsystems | |
| 2.0 <= FreeBSD | devfs | /dev | ? | Implemented fully in the kernel. |
| Mac OS X | devfs | /dev | ? | Implemented fully in the kernel. |
| Plan 9 | # | ? | Implemented in kernel. Can not be mounted elsewhere or unmounted. | |
| Operating System | Device file system | Standard mount-point | Author | Notes |
[edit] Appendix
[edit] Further reading
- Philip Streck. "devfs for Management and Administration", Linux Journal, 2002-09-24.
- Daniel Robbins (2001-10-01). Part 4: Introduction to devfs. Common threads: Advanced filesystem implementor's guide. IBM.
- Daniel Robbins (2001-10-01). Part 5: Setting up devfs. Common threads: Advanced filesystem implementor's guide. IBM.
- Daniel Robbins (2001-10-01). Part 6: Implementing devfs (using the init wrapper). Common threads: Advanced filesystem implementor's guide. IBM.
- Doug Gilbert (2001-01-22). DEVFS and SCSI.
- 3.3. Device Names in devfs. The Linux 2.4 SCSI subsystem HOWTO: Chapter 3. Names and Addresses. Linux Documentation Project.
- Device File System Guide. Gentoo Linux Documentation. Gentoo Foundation, Inc..
- Mark Ellis (2003-09-23). How to use kernel module autoloading with devfs and devfsd. Linux From Scratch Hints.
- Martial Daumas (2003-09-18). How to create a basic mk_initrd command that works nice with LFS and devfs. Linux From Scratch Hints.
- Jeroen Coumans (2003-04-19). How to setup devfs with your current LFS-configuration using devfsd. How you can use devfs from scratch.. Linux From Scratch Hints.
- Tushar Teredesai (2003-03-05). Using devfs and devfsd. Linux From Scratch Hints.
[edit] External links
- http://www.atnf.csiro.au/people/rgooch/linux/docs/devfs.html - FAQ about Linux devfs
[edit] See also
[edit] References
| This article does not cite any references or sources. (September 2006) Please help improve this article by adding citations to reliable sources. Unverifiable material may be challenged and removed. |

