首页 > 解决方案 > 内核如何管理虚拟内存

问题描述

我只是想知道内核实际上是如何拒绝进程访问另一个内存区域的,例如,如果IP寄存器设置为0x41414141不是直接 cpu 指令,内核如何拒绝 cpu 访问物理内存中的该地址

另一个问题:

在调试应用程序时,我们看到的地址以及 libc 和共享库地址都在虚拟内存中,那么 cpu 如何访问不存在的内存?或者实际上内核如何在运行时告诉 cpu 该区域在物理内存中的位置

还有另一个问题,在 x86_32 arch syscalls issues by int 0x80 内核如何为自己保留一个软件中断号是如何发生的

标签: linuxlinux-kernelcpuvirtual-memorymicrokernel

解决方案


推荐阅读