有没有办法禁用特定块内存的mmu?

时间:2011-03-21 10:26:11

标签: c linux

如果我们可以在没有mmu的情况下访问某些块存储器,则在使用mmu访问其他存储器时,可以实现良好的性能增益。我已经阅读了intelx86_64手册,但却发现这项任务似乎不可能......或者也许我们可以在访问特定内存时使mmu无法工作?

有人可以告诉我答案吗?谢谢!

1 个答案:

答案 0 :(得分:1)

简答:不,你不能。

答案很长:您可以编写一个内核模块,将CPU切换到32位模式(如果是64位模式)并禁用分页,同时保持保护模式。在此期间,您将只能运行纯计算,即无法输入/输出(包括网络)。 (假设您希望能够将操作系统内核和其他正在运行的应用程序恢复到其原始状态,如果您希望能够保存计算结果,那么这基本上是必须的。)