从汇编的角度来看,我对 linux 如何在保护模式下运行很感兴趣。在将 cpu 置于 i386:0x86_64 机器的保护模式时,使用了哪些寄存器和中断?当我查看诸如 mmap 和 mprotect 之类的函数的 c 源时,我了解内存管理是如何工作的,但是是什么让我无法接管汇编?我在哪里可以获得更多信息?
问问题
662 次
2 回答
1
我相信您正在寻找arch/x86/mm/
——arch/x86/mm/init.c
为正确的架构(ia32 或 AMD64)设置页表并考虑可用的处理器功能(PSE、PGE 等)。
于 2012-04-16T23:40:34.060 回答
0
需要强调的是:这是处理器的功能。Linux 告诉处理器要保护什么,然后处理器来做。
AFA 系统调用接口,看一下http://stromberg.dnsalias.org/~strombrg/pbmonherc.html从 C 库有 mmap 之前,但在 Linux 内核有之后。参见文件 mmap.c。
于 2012-04-17T00:02:43.563 回答