proc 文件系统是一个虚拟文件系统,它以文件系统的方式为应用层访问系统内核数据提供了接口,用户和应用程序可以通过 proc 文件系统得到系统信息和进程相关信息,对 proc 文件系统的读写作为与内核进行通信的一种手段。但是与普通文件不同的是,proc 文件系统是动态创建的,文件本身并不存在于磁盘当中、只存在于内存当中,与 devfs 一样,都被称为虚拟文件系统。
proc 文件系统挂载在系统的/proc 目录下,对于内核开发者(譬如驱动开发工程师)来说,proc 文件系统给了开发者一种调试内核的方法:通过查看/proc/xxx 文件来获取到内核特定数据结构的值
/proc 目录下中包含了一些目录和虚拟文件,如下所示:
![](https://i-blog.csdnimg.cn/blog_migrate/51ded2c6e183cdd3952ddb617d997905.png)
可以看到/proc 目录下有很多以数字命名的文件夹,这些数字对应的其实就是一个一个的进程 PID 号,每一个进程在内核中都会存在一个编号。
![](https://i-blog.csdnimg.cn/blog_migrate/257c60698aa4cbc1bf3328e5f47db342.png)
查看内核启动参数
![](https://i-blog.csdnimg.cn/blog_migrate/2f852a76d6fbd9efd05913ac5d684d1c.png)
查看CPU的相关信息
![](https://i-blog.csdnimg.cn/blog_migrate/82f121eb973e9e46a6f729333838d95e.png)
查看中断的使用情况
![](https://i-blog.csdnimg.cn/blog_migrate/f1505c4742a80a55bbff11ba80ee174f.png)
查看内核的版本
![](https://i-blog.csdnimg.cn/blog_migrate/de942dc4885a0790dd6b49d20781f725.png)