/dev、/sys/devices 和 /sys/dev 之间区别

来源:互联网 发布:织梦5.7如何安装 编辑:程序博客网 时间:2024/05/29 02:40

/dev,设备文件存储目录,应用程序通过对这些文件的读写和控制,可以访问实际的设备;


/sys/devices 目录,按照设备挂接的总线类型,组织成层次结构,保存了系统所有的设备;是文件系统管理设备的最重要的目录结构;这是内核设备按总线类型分层放置的目录结构, devices 中的所有设备都是连接于某种总线之下,在这里的每一种具体总线之下可以找到每一个具体设备的符号链接,它也是构成Linux 统一设备模型的一部分;


/sys/dev 下有两个子目录,block和char,存放的是块设备和字符设备的主次号码,形式为(major:minor),它指向 /sys/devices 目录下的设备。


1. sysfs的挂载点是/sys目录, sysfs是一个虚拟的文件系统(还有其它的虚拟文件系统,例如usbfs和procfs),sysfs导出了内核的数据结构。

2. /sys/dev/ 和/sys/devices是sysfs按面向对象管理的思想来组织,sysfs最主要是用来描绘linux kernel 2.6中的设备驱动模型,用户态的后台程序会动态地周期性的扫描/sys目录中的属性项来自动管理设备文件(也称为设备节点),从而在/dev目录会建立或者删除对应的设备文件。


1、/dev 下放的是设备文件,是由应用层mknod创建的文件。如果底层驱动对mknod的设备号有对应的驱动,如open等函数,那么应用层open "/dev/**"时,就会调用到底层的驱动。说白了,/dev下放的是内核和应用层交互的文件,让应用层去open,write,poll等。
2、/sys 是个文件系统,你写内核代码时,如果有调用kobj_init等函数,就会在/sys下的相应目录生成相应文件。 它的作用是将内核注册的设备、驱动、BUS连成一个树形结构。 另外,应用层也可以通过读写/sys下的文件和内核进行交互(ktype)。 说白了/sys就是一个树形结构,让你明白内核都有哪些驱动和设备已经bus,方便电源管理。

跟楼上说的一样
/dev 相当于 c盘,d盘 之类的

/sys/device 相当于 Windows的  “设备管理器” 一样的功能。

原创粉丝点击