永发信息网

关于linux 内核建立proc文件夹的问题

答案:2  悬赏:70  手机版
解决时间 2021-03-28 00:31
  • 提问者网友:暮烟疏雨之际
  • 2021-03-27 15:51
关于linux 内核建立proc文件夹的问题
最佳答案
  • 五星知识达人网友:雾月
  • 2021-03-27 17:06
在早期的 2.6内核(比如2.6.11),是定义在 include/linux/proc_fs.h 中,比如

extern struct proc_dir_entry proc_root;
extern struct proc_dir_entry *proc_root_fs;
extern struct proc_dir_entry *proc_net;
extern struct proc_dir_entry *proc_net_stat;
extern struct proc_dir_entry *proc_bus;
extern struct proc_dir_entry *proc_root_driver;
extern struct proc_dir_entry *proc_root_kcore;

而这些全局变量的真正定义和初始化,则是在 fs/proc/root.c里,比如:

变量声明
L21 struct proc_dir_entry *proc_net, *proc_net_stat, *proc_bus, *proc_root_fs, *proc_root_driver;

在 void __init proc_root_init(void) 这个函数中,内核创建了proc文件系统的根目录及net,driver等子目录,比如在这个函数中,你可以看到类似于这样的语句,就是用来创建这些目录的

L55 proc_net = proc_mkdir("net", NULL);

L69 proc_root_driver = proc_mkdir("driver", NULL);

但是我看了一下,在最新的内核中 (比如2.6.34),proc fs这个模块改动了不少,已经无法用上面的方法来找到 proc_net 这些全局变量了,不过说实话这些变量意义并不大,毕竟在 proc_mkdir的时候,只要用全路径名就可以了,比如
proc_mkdir("test", proc_net)
其实和
proc_mkdir("net/test", NULL)
没有区别的。
全部回答
  • 1楼网友:往事隔山水
  • 2021-03-27 17:13
系统默认文件夹,可以查看系统信息:cat /proc/cpuinfo
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯