/ dev和/ sys之间的区别


19

到底devfssysfs有什么区别?两者似乎都维护着与系统相连的硬件列表。那为什么还要两个独立的fs呢?据我所知,/ sys维护一些“原始”设备列表(例如“ ser0”)。Udev在这些设备上起作用,获取各种信息并应用各种规则将它们显示为可识别的名称,然后将其映射到/ dev(例如“ camera”)。这是唯一原因吗?然后,我们从/ dev fs 挂载相应的设备(不能从/ sys fs 挂载到/ media fs。

我已经阅读了/ dev和/ sys / class之间的区别的答案。但是我无法得到sys fs部分,它指出

Sysf包含连接到计算机的设备的层次结构

/ sys中的文件不是设备节点文件吗?那它们是什么类型的文件?



我不认为这是重复的。这两个问题的答案都是sysfs从不同的角度来看的,另一个问题的答案都不能解释/dev目录的关系sysfs
安东尼G-莫妮卡(Monica)的正义

Answers:


27

/sys文件系统(sysfs中)包含提供有关设备的信息的文件:不管是上电,供应商名称和型号,什么总线设备插入,等它的利益向管理设备的应用程序。

/dev文件系统包含文件允许程序访问设备本身:写数据到串行端口,读取硬盘,等它感兴趣的应用程序,接入设备。

隐喻是/sys提供对包装的访问,而/dev提供对包装内容的访问。

其中的文件/sys不是设备节点,而是符号链接和常规文件。这些常规文件的特殊之处在于,对它们的读取或写入会调用内核中特定于文件的功能,例如设备节点。不同之处在于,/sys由于文件所在的文件系统而使文件以这种方式工作,而设备节点由于其设备节点特性(文件类型指示(块或字符)设备,而设备主次号指示设备)而以这种方式工作。它是哪个设备)。

/dev独立存在的原因在/sys一定程度上是历史悠久的:它/dev可以追溯到Unix的诞生,而这/sys是一个较新的发明。如果说Linux是今天设计的,没有历史背景,那/dev/sda可能是/sys/block/sda/content


3
另请参阅:man hier
HalosGhost 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.