/ dev,/ proc和/ sys中有什么?


Answers:


23

/dev树包含设备节点,使用户空间可以访问操作系统正在运行的内核中的设备驱动程序。¹所有POSIX类型的操作系统都具有一/dev棵树。

/proc树起源于System V Unix,它仅使用/proc/$PID/stuff方案提供有关每个正在运行的进程的信息。Linux大大扩展了它,添加了有关正在运行的内核状态的各种信息。除了这些只读信息文件外,Linux的文件/proc还具有可写虚拟文件,可以更改正在运行的内核的状态。BSD类型的操作系统通常根本没有/proc,因此您在这里发现的许多内容都是不可移植的。

在Linux中,此混乱的预期解决方案/proc/sys。理想情况下,/proc/sys现在为止,所有陷入树中的非过程信息都应该已经转移到了,但是历史惯性使很多东西留在了树上/proc。通常,有两种方法可以对正在运行的内核进行更改:为/proc保持向后兼容性而保留的旧方法,以及/sys您现在应该使用的新方法。²


脚注:

  1. 也有几个/dev项目不对应于硬件设备,如/dev/null/dev/random/dev/tty。这些虚拟设备允许用户空间程序以类似于设备的方式与正在运行的驱动程序进行通信,与内核的其他部分进行通讯。

  2. 通常,它/sys倾向于比严格地组织/proc,因为它/sys镜像了管理系统资源的内部内核数据结构,而/proc多年来却有机地增长,并且由于某些程序正在使用那些旧接口,因此旧的可疑设计决策现在无法更改。 。/sys从更清晰的设计开始,无需拖累尽可能多的历史包g /proc


1
此外,它们不会保留您应备份的文件类型。它们是动态生成的。他们使用特殊的“魔术”文件系统。
ctrl-alt-delor
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.