linux文件系统-特殊文件系统/proc

早期的Unix在设备文件目录/dev下设置了一个特殊文件,称为/dev/mem。通过这个文件可以读写系统的整个物理内存,而物理内存的地址就用读写文件内部的位移量。这个特殊文件同样适用于read、write、lseek等常规的文件操作,从而提供了一个在内核外部动态地读写包括内核映像和内核中各个数据结构以及堆栈内容的手段。这个手段既可以用于收集状态信息和统计信息,也可以用于程序调试,还可以动态地给内核打补丁或者改变一些数据结构或变量的内容。采用虚存以后,Unix又增加了一个特殊文件/dev/kmem,对应于系统的整个虚存空间。这两个特殊文件的作用和表现出来的重要性促使人们对其功能加以进一步的扩展,在系统中增设了一个/proc目录,每当创建一个进程 时就以其pid为文件名在这个目录下建立起一个特殊文件,使得通过这个文件就可以读写相应进程的用户空间。而进程exit时则将此文件删除。显然,目录/proc的名称就是这样来的。

经过多年的发展,/proc成了一个特殊的文件系统,文件系统的类型就叫proc,其安装点则一般都固定位/proc,所以称其为proc文件系统,有时也(非正式地)称之为/proc问价系统。这个文件系统中所有的文件都是特殊文件,这些文件的内容都不存在与任何设备上,而是在读写的时候才根据系统所有的有关信息生层出来,或者映射到系统中的有关变量或数据结构。所以又称为“伪文件系统”。同时,这个子系统中的内容也已经扩展到了足以覆盖系统的几乎所有方面,而不再仅仅是关于各个进程的信息。限于篇幅,我们不在这里列出/proc目录下的内容,建议读者自己用命令"du -a /proc"看一下。

。。。。。。

上一篇:7、常用其它命令


下一篇:移动测试