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

标签 linux unix

什么是/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/

相关文章:

linux - 在ubuntu上安装Eclipse

linux - 哪个更快? `echo` ing 一个变量,或者 `tail` ing 一个长输出文件,或者 `grep` ing 整个东西

linux - Varnish/Nginx 缓存的 SSL 证书之谜

python - 多个 Python 进程缓慢

c - 杀死系统调用C,权限

file - 如何将目录中的所有文件名保存到 bash 中的文本文件?

c - 使用大页面分配的内存是否有限制?

c - C中的函数指针和内存地址

unix - 从管道分隔文件中的字符串中删除不匹配的值

regex - 纯粹使用 bash 正则表达式压缩工作目录