该地址指定了什么?这些地址在内存中的加载地址?

最佳答案

内核从进程的虚拟地址空间中的固定位置开始。 linux内核通常[取决于您的系统架构]位于4GB虚拟地址空间的前1 GB中。因此,用于3G/1G拆分的系统体系结构的内核从地址0xC0000000开始。根据平台的内存映射,此映射将映射到物理内存中的物理地址。

system.map文件是内核符号表。它具有列出的符号及其虚拟地址。要找出这些符号在主存储器中的加载位置,请从符号地址中减去PAGE_OFFSET [对于3G/1G系统,这是0xC00000000]以获取偏移量,并将此偏移量添加为物理内存中内核的起始物理地址,如下所示:由系统内存映射确定。

10-07 20:01
查看更多