Linux 为什么这些内核符号根据/proc/kallsyms位于用户空间中?

Linux 为什么这些内核符号根据/proc/kallsyms位于用户空间中?,linux,kernel,symbols,memory-address,Linux,Kernel,Symbols,Memory Address,在学习linux内核时,我对这些符号的地址感到困惑。 为什么符号sys\u call\u表位于0x8000e348中,而0x8000e348应该是用户地址空间 / $ cat /boot/System.map |grep sys_call_table c0013fe8 T sys_call_table / $ cat /proc/kallsyms |grep sys_call_table 8000e348 T sys_call_table 同时,我还想知道为什么根据/boot/System.m

在学习linux内核时,我对这些符号的地址感到困惑。 为什么符号sys\u call\u表位于0x8000e348中,而0x8000e348应该是用户地址空间

/ $ cat /boot/System.map |grep sys_call_table
c0013fe8 T sys_call_table
/ $ cat /proc/kallsyms |grep sys_call_table
8000e348 T sys_call_table
同时,我还想知道为什么根据/boot/System.map,有些符号位于0x000010000左右。以下是一些例子:

00000000 t __vectors_start
0000000c A cpu_arm926_suspend_size
00001000 t __stubs_start
00001004 t vector_rst
00001020 t vector_irq
000010a0 t vector_dabt
00001120 t vector_pabt
这是一些系统信息

/ $ uname -a
Linux (none) 3.11.4 #13 SMP Fri Jul 11 00:48:31 PDT 2014 armv7l GNU/Linux
谢谢你的帮助:)