我对从汇编角度看linux如何在保护模式下运行感兴趣。在将cpu置于i386:0x86_64机器的保护模式时,会使用哪些寄存器和中断?我理解当我查看mmap和mprotect等函数的来源时内存管理是如何工作的,但是什么让我不能接管汇编?我在哪里可以获得更多相关信息?
答案 0 :(得分:1)
我相信您正在寻找arch/x86/mm/
- arch/x86/mm/init.c
设置正确架构(ia32或AMD64)的页面表,并考虑可用的处理器功能(PSE,PGE等) )。
答案 1 :(得分:0)
值得强调的是:这是处理器的功能。 Linux告诉处理器要保护什么,处理器会这样做。
AFA系统调用界面,在C库有mmap之前从后面看http://stromberg.dnsalias.org/~strombrg/pbmonherc.html,但在Linux内核之后。参见文件mmap.c。