当前位置: 技术问答>linux和unix
请教一下"/sys/devices"和"/dev"这两个目录下的文件的区别?
来源: 互联网 发布时间:2017-02-13
本文导语: 好像没啥区别,都是存放设备的,我刚转到linux来,不熟悉,那位知道的麻烦告知一声,谢谢!! | 1、/dev 下放的是设备文件,是由应用层mknod创建的文件。如果底层驱动对mknod的设备号有对应的...
好像没啥区别,都是存放设备的,我刚转到linux来,不熟悉,那位知道的麻烦告知一声,谢谢!!
|
1、/dev 下放的是设备文件,是由应用层mknod创建的文件。如果底层驱动对mknod的设备号有对应的驱动,如open等函数,那么应用层open "/dev/**"时,就会调用到底层的驱动。说白了,/dev下放的是内核和应用层交互的文件,让应用层去open,write,poll等。
2、/sys 是个文件系统,你写内核代码时,如果有调用kobj_init等函数,就会在/sys下的相应目录生成相应文件。 它的作用是将内核注册的设备、驱动、BUS连成一个树形结构。 另外,应用层也可以通过读写/sys下的文件和内核进行交互(ktype)。 说白了/sys就是一个树形结构,让你明白内核都有哪些驱动和设备已经bus,方便电源管理。
2、/sys 是个文件系统,你写内核代码时,如果有调用kobj_init等函数,就会在/sys下的相应目录生成相应文件。 它的作用是将内核注册的设备、驱动、BUS连成一个树形结构。 另外,应用层也可以通过读写/sys下的文件和内核进行交互(ktype)。 说白了/sys就是一个树形结构,让你明白内核都有哪些驱动和设备已经bus,方便电源管理。
|
跟楼上说的一样
/dev 相当于 c盘,d盘 之类的
/sys/device 相当于 Windows的 “设备管理器” 一样的功能。
明白了?
/dev 相当于 c盘,d盘 之类的
/sys/device 相当于 Windows的 “设备管理器” 一样的功能。
明白了?
|
open函数打开的就是/dev下面的设备,不过具体区别还没研究过。
|
这是内核设备按总线类型分层放置的目录结构, devices 中的所有设备都是连接于某种总线之下,在这里的每一种具体总线之下可以找到每一个具体设备的符号链接,它也是构成 Linux 统一设备模型的一部分;
摘自--Linux 内核/sys 文件系统介绍 - zippyzou的日志 - 网易博客
摘自--Linux 内核/sys 文件系统介绍 - zippyzou的日志 - 网易博客
|
参考我在此贴中的回复:
http://topic.csdn.net/u/20120209/11/35ea88d6-dee0-4902-807e-6dfa35487ade.html?61512
http://topic.csdn.net/u/20120209/11/35ea88d6-dee0-4902-807e-6dfa35487ade.html?61512
|
/dev,设备文件存储目录,应用程序通过对这些文件的读写和控制,可以访问实际的设备;
/sys/devices目录,按照设备挂接的总线类型,组织成层次结构,保存了系统所有的设备;是文件系统管理设备的最重要的目录结构;
/sys/dev下有两个子目录,block和char,存放的是块设备和字符设备的主次号码,形式为(major:minor),它指向/sys/devices目录下的设备。
/sys/devices目录,按照设备挂接的总线类型,组织成层次结构,保存了系统所有的设备;是文件系统管理设备的最重要的目录结构;
/sys/dev下有两个子目录,block和char,存放的是块设备和字符设备的主次号码,形式为(major:minor),它指向/sys/devices目录下的设备。
|
/dev 目录是给应用程序使用的
/sys/devices 是给内核使用的
--纯粹个人理解
/sys/devices 是给内核使用的
--纯粹个人理解
|
根据上面几位的介绍,很明显特定的设备要在特定的路径下创建
|
dev下存放设备文件的。