标签:opera 虚拟文件系统 关系 create alt /proc 调用 ges str
当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
标签:opera 虚拟文件系统 关系 create alt /proc 调用 ges str
原文地址:http://www.cnblogs.com/deng-tao/p/6080316.html