什么是/proc/ksyms 和/proc/kallsyms,为什么它映射到进程地址空间?它有什么作用?是否用于系统调用时内核的上下文切换?
最佳答案
ksyms(7d)
的 Solaris 联机帮助页解释这个。数据仅供引用,内核以这种方式通过 /dev/ksyms
将其当前使用的符号表公开给内核调试器和/或内核模块加载器。
Linux 通过/proc/kallsyms
做同样的事情; /proc/ksyms
- 如果存在 - 是一个“传统”文件,表示相同数据的子集(即已弃用)。
与 Linux/Solaris 一样,不同之处在于 Linux 版本显示文本,而 Solaris 版本显示二进制文件。您可以在 Solaris 上运行 nm/dev/ksyms
以获得与在 Linux 上从 cat/proc/kallsyms
获得的相同类型的输出。
关于linux - 映射到虚拟地址空间的内核符号表——为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10689310/