proc文件系统在内核中的表现
Posted 涛少&
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了proc文件系统在内核中的表现相关的知识,希望对你有一定的参考价值。
当Linux内核启动起来之后,我们可以通过proc虚拟文件系统来查看内的中的一些动态信息。
例如:可以 cat /proc/misc 来查看系统中装载的所有misc类设备
cat /proc/devices 来查看系统中装载的字符设备和块设备
但是需要注意的是:proc文件系统现在用到比较少了,主要原因我之前也说过,proc中的文件目录关系混乱,不好管理,现在一般都是用sys文件系统,
所以在内核配置的时候是可以将proc文件系统给去掉的。
今天也来说说proc文件系统内部的实现:
1、在proc文件系统下创建文件:proc_create(以 /proc/misc 文件为例子)
proc_create("misc", 0, NULL, &misc_proc_fops); // misc_proc_fops是一个struct file_operations结构体的变量,这个跟字符设备注册中的结构体是一样的
2、misc_seq_open函数分析:
从上面可以看出来,misc_seq_open函数中调用的seq_open函数,向proc系统注册了一个struct seq_operations类型的结构体变量misc_seq_ops。
变量中就挂接了各种操作函数,其中就包括 cat /proc/misc 时执行的函数 misc_seq_show。
所以一定要搞清楚几个数据结构: struct file_operations、 struct seq_operations
以上是关于proc文件系统在内核中的表现的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向Android 系统文件分析 ( /proc/ 目录文件分析 | 记录系统和进程信息 | version 内核版本信息文件 )
Android 逆向Android 系统文件分析 ( /proc/ 目录文件分析 | 记录系统和进程信息 | version 内核版本信息文件 )