【发布时间】:2011-12-26 09:19:46
【问题描述】:
我正在阅读维基百科上的分页和内存管理单元。页表项的引用位和修改位如何影响分页的操作?
en.wikipedia.org/wiki/Paging http://en.wikipedia.org/wiki/Memory_management_unit http://wiki.osdev.org/Paging
【问题讨论】:
标签: memory-management operating-system paging
我正在阅读维基百科上的分页和内存管理单元。页表项的引用位和修改位如何影响分页的操作?
en.wikipedia.org/wiki/Paging http://en.wikipedia.org/wiki/Memory_management_unit http://wiki.osdev.org/Paging
【问题讨论】:
标签: memory-management operating-system paging
我假设您指的是 accessed 和 dirty 位。这些位仅用于帮助实现内存管理器,不会影响 MMU 的工作。
来自英特尔的手册,Volume 3: System Programming,第 3.6.4 节(我将两点压缩为一个,因为它们几乎相同,斜体文本仅适用于脏位):
已访问 (A) 标志,位 5 - 脏 (D) 标志,位 6
表示一个页面(或页表)是否有 设置时被访问(写入)。 (此标志不用于指向页表的页目录条目。) 内存管理 软件通常会在页面或页表被清除时清除此标志 最初加载到物理内存中。然后处理器设置这个 标记第一次访问页面(或页表)(用于写操作)。这面旗帜是 “粘性”标志,意味着一旦设置,处理器不会 含蓄地清除它。只有软件可以清除该标志。 被访问的 和脏标志提供给内存管理软件使用 管理页面和页表进出物理的传输 记忆。
【讨论】:
Indicates whether a page (or page table) has been accessed (written to) when set。如何设置页面不被访问?