【问题标题】:Kernel symbol table mapped into virtual address space - why?映射到虚拟地址空间的内核符号表 - 为什么?
【发布时间】:2012-05-21 16:52:30
【问题描述】:

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

【问题讨论】:

    标签: linux unix


    【解决方案1】:

    ksyms(7d) 的 Solaris 手册页对此进行了说明。数据仅供参考,内核以这种方式通过/dev/ksyms 向内核调试器和/或内核模块加载器公开其当前使用的符号表。

    Linux 通过/proc/kallsyms 做同样的事情; /proc/ksyms - 如果存在 - 是“传统”文件,表示相同数据的子集(即已弃用)。

    与 Linux/Solaris 一样,区别在于 Linux 版本显示文本,而 Solaris 版本是二进制。您可以在 Solaris 上运行 nm /dev/ksyms 以获得与在 Linux 上从 cat /proc/kallsyms 获得的相同类型的输出。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-03
      • 2018-01-16
      • 1970-01-01
      • 1970-01-01
      • 2012-10-12
      • 2015-12-30
      • 2015-05-24
      • 1970-01-01
      相关资源
      最近更新 更多