词条 | procfs |
释义 | 在许多类 Unix 计算机系统中, procfs 是 进程 文件系统(file system) 的缩写,包含一个伪文件系统(启动时动态生成的文件系统),用于通过内核访问进程信息。这个文件系统通常被挂载到 /proc 目录。由于 /proc 不是一个真正的文件系统,它也就不占用存储空间,只是占用有限的内存。 以下操作系统支持 procfs : SolarisBSDLinux(将此概念扩展到了非进程相关数据)IBM AIX (其实现基于Linux以提高兼容性)QNX 贝尔实验室九号计划(此概念之源头) UNIX 8th EditionTom J. Killian 实现了 UNIX 8th Edition 版本的 /proc:他1984年6月向 USENIX 提交了一份题为 "Processes as Files" 的论文。procfs 的设计目标是用来替代进行进程跟踪的 ptrace 系统调用。 详细文档请参考 proc(4) manual page。 SVR4Roger Faulkner 和 Ron Gomes 将 V8 的 /proc 移植到了 SVR4,并在1991年1月的 USENIX 上发表了一篇题为 "The Process File System and Process Model in UNIX System V" 的论文。此类 procfs 支持 ps 的创建,但是文件只能由如下函数访问: read(), write(), ioctl(). 九号计划九号计划 实现了一个进程文件系统,但比 V8 做得更多。V8 的进程文件系统中,对一个进程相关的所有函数都在一个文件进行操作。九号计划使用单独的文件,提供这些函数,使得/proc 成为文件系统真正的一部分。 4.4BSD4.4BSD 基于九号计划 克隆得到了其 /proc 系统。注意,在 FreeBSD 中 procfs 已被放弃。默认安装的 base 系统不依赖 procfs,FreeBSD 本地 ports 也不再依赖 procfs。 Solaris Solaris 2.6 的 /proc(完成于 1996)也克隆了九号计划. LinuxLinux中的 /proc实现也克隆了 九号计划 中对应的部分。Linux中的 /proc 包括: Linux下使用 /proc 的基本工具是 procps (/proc processes) 中的程序,这个程序只对 procfs 具有意义。procfs 对部分功能从核心态移到用户态的过程中产生重大的意义。像是 GNU 版本的 ps 只需在用户态底下运作通过 procfs 取得数据便可以完成所有的工作。Linux 2.6 核心开发者把 /proc 下大量的非进程相关的文件移动到一个特有的伪文件系统,称为 sysfs(该文件系统是挂载到 /sys 上面)。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。