操作系统_再识(linux设备管理文件系统-devfs与udev)
2013-05-28 21:15
393 查看
linux下有专门的文件系统用来对设备进行管理,devfs和sysfs就是其中2种。
在2.6内核以前一直使用的是devfs,devfs挂载于/dev目录下,提供了一种类似于文件的方法来管理位于/dev目录下的所有设备,我们知道/dev目录下的每一个文件都对应的是一个设备,至于当前该设备存在与否先且不论,而且这些特殊文件是位于根文件系统上的,在制作文件系统的时候我们就已经建立了这些设备文件,因此通过操作这些特殊文件,可以实现与内核进行交互。但是devfs文件系统有一些缺点,例如:不确定的设备映射,有时一个设备映射的设备文件可能不同,例如我的U盘可能对应sda有可能对应sdb;没有足够的主/辅设备号,当设备过多的时候,显然这会成为一个问题;/dev目录下文件太多而且不能表示当前系统上的实际设备;命名不够灵活,不能任意指定等等。
正因为上述这些问题的存在,在linux2.6内核以后,引入了一个新的文件系统sysfs,它挂载于/sys目录下,跟devfs一样它也是一个虚拟文件系统,也是用来对系统的设备进行管理的,它把实际连接到系统上的设备和总线组织成一个分级的文件,用户空间的程序同样可以利用这些信息以实现和内核的交互,该文件系统是当前系统上实际设备树的一个直观反应,它是通过kobject子系统来建立这个信息的,当一个kobject被创建的时候,对应的文件和目录也就被创建了,位于/sys下的相关目录下,既然每个设备在sysfs中都有唯一对应的目录,那么也就可以被用户空间读写了。用户空间的工具udev就是利用了sysfs提供的信息来实现所有devfs的功能的,但不同的是udev运行在用户空间中,而devfs却运行在内核空间,而且udev不存在devfs那些先天的缺陷。
在2.6内核以前一直使用的是devfs,devfs挂载于/dev目录下,提供了一种类似于文件的方法来管理位于/dev目录下的所有设备,我们知道/dev目录下的每一个文件都对应的是一个设备,至于当前该设备存在与否先且不论,而且这些特殊文件是位于根文件系统上的,在制作文件系统的时候我们就已经建立了这些设备文件,因此通过操作这些特殊文件,可以实现与内核进行交互。但是devfs文件系统有一些缺点,例如:不确定的设备映射,有时一个设备映射的设备文件可能不同,例如我的U盘可能对应sda有可能对应sdb;没有足够的主/辅设备号,当设备过多的时候,显然这会成为一个问题;/dev目录下文件太多而且不能表示当前系统上的实际设备;命名不够灵活,不能任意指定等等。
正因为上述这些问题的存在,在linux2.6内核以后,引入了一个新的文件系统sysfs,它挂载于/sys目录下,跟devfs一样它也是一个虚拟文件系统,也是用来对系统的设备进行管理的,它把实际连接到系统上的设备和总线组织成一个分级的文件,用户空间的程序同样可以利用这些信息以实现和内核的交互,该文件系统是当前系统上实际设备树的一个直观反应,它是通过kobject子系统来建立这个信息的,当一个kobject被创建的时候,对应的文件和目录也就被创建了,位于/sys下的相关目录下,既然每个设备在sysfs中都有唯一对应的目录,那么也就可以被用户空间读写了。用户空间的工具udev就是利用了sysfs提供的信息来实现所有devfs的功能的,但不同的是udev运行在用户空间中,而devfs却运行在内核空间,而且udev不存在devfs那些先天的缺陷。
相关文章推荐
- linux驱动学习--第十天:第五章 Linux 文件系统与设备文件系统(四) 之 设备文件系统 devfs 和 udev
- 使用 udev 高效、动态地管理 Linux 设备文件
- Udev:介绍现代Linux系统的设备管理
- iscsi共享存储... udev 高效 管理Linux设备文件
- 文件系统管理 之 在Linux系统中存储设备的两种表示方法
- udev 高效、动态地管理 Linux 设备文件
- 使用 udev 高效、动态地管理 Linux 设备文件
- 使用 udev 高效、动态地管理 Linux 设备文件
- 使用 udev 高效、动态地管理 Linux 设备文件(转载)--2
- linux 设备管理之 mem proc sysfs devfs udev
- Udev:介绍现代Linux系统的设备管理
- 第八天 Linux文件系统基础、设备文件磁盘分区、文件系统管理与挂载
- 嵌入式 使用udev高效、动态地管理Linux 设备文件
- 嵌入式 使用udev高效、动态地管理Linux 设备文件
- 【转】使用 udev 高效、动态地管理 Linux 设备文件
- 使用 udev 高效、动态地管理 Linux 设备文件(转载)--3
- 使用 udev 高效、动态地管理 Linux 设备文件
- Linux设备管理之权限倾斜——mem、proc、devfs、sysfs、udev(下)
- Linux设备管理之权限倾斜——mem、proc、devfs、sysfs、udev
- Devfs益处多多 设备管理文件系统介绍