内核符号表映射到虚拟地址空间 - 为什么?

6

/proc/ksyms和/proc/kallsyms是什么,为什么它们被映射到进程的地址空间中?它们有什么作用?在系统调用期间,它是否用于内核上下文切换?

1个回答

3
Solaris的ksyms(7d)页面解释了这一点。这些数据仅供参考,内核通过/dev/ksyms向内核调试器和/或内核模块装载器公开其当前使用的符号表。

Linux也通过/proc/kallsyms实现同样的功能; 如果存在,/proc/ksyms是一个“传统”的文件,呈现相同数据的子集(即已弃用)。
像往常一样,Linux / Solaris的区别在于,Linux版本呈现文本,而Solaris版本是二进制形式。您可以在Solaris上运行nm /dev/ksyms以获取与Linux上的cat/proc/kallsyms相同类型的输出。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接