qingfeng007 发表于 2004-10-30 09:45:48

续:用CR3进行页目录和表交换不好吧!我不太理解

看了zt52952以及版主的回答。我这也有些不明白的地方,希望各位指教。

每一个进程页目录项、页表项的内容是如何被更新的呢?
当进程中的内存页被交换出内存时,相应的页表项中的指针是否要做修改啊?
或者说,在内存页被交换出内存时,会执行哪些相关的操做?

这个问题也许问的很傻 ^_^不过我只是一年多前看了一阵linux源码,很长时间没看了。看到了这个论坛和这么多朋友在这交流, 加上现在的时间比较富裕,我现在又想接着看下去,希望大家共同进步。

kakuyou 发表于 2004-10-30 17:35:09

再说一遍,这个是i386 系列芯片中的MMU决定的,也就是说这是硬件决定的,软件只能遵从。所以用CR3是必须的。

交换出内存时,只要把相应页表项中的present位清0,告诉CPU相应的页不再内存中,然后把那页放回空闲表就行了。

suowei1979 发表于 2004-10-31 15:16:51

:)
页: [1]
查看完整版本: 续:用CR3进行页目录和表交换不好吧!我不太理解