linux如何保护内存?

时间:2012-04-16 23:31:50

标签: linux memory-management assembly linux-kernel kernel

我对从汇编角度看linux如何在保护模式下运行感兴趣。在将cpu置于i386:0x86_64机器的保护模式时,会使用哪些寄存器和中断?我理解当我查看mmap和mprotect等函数的来源时内存管理是如何工作的,但是什么让我不能接管汇编?我在哪里可以获得更多相关信息?

2 个答案:

答案 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。