Paging: Difference between revisions

Jump to navigation Jump to search
[unchecked revision][unchecked revision]
Content deleted Content added
Added a relaxed MMU\Page Structure overview
Slight Correction
Line 35: Line 35:
The structure of the above in computer speak is quite simple. Each entry is the address of it's child. If it's a directory entry, the entry consists of the table's address. Moreover, if it's a table's entry we're talking about, then it's the the address of the mapped physical memory.
The structure of the above in computer speak is quite simple. Each entry is the address of it's child. If it's a directory entry, the entry consists of the table's address. Moreover, if it's a table's entry we're talking about, then it's the the address of the mapped physical memory.


A short note, however, just to ruin your simplicity. Each entry described above also contains 3 flags on the least significant bits. The full layout is as follows:
A short note, however, just to ruin your simplicity. Each entry described above also contains several flags. As this is a relaxed overview, I'll only list the three major ones here:
*Bits 31-3: 4kb aligned address of entry
*Bits 31-12: 4kb aligned address of entry
*Bit 2: User\Supervisor
*Bit 2: Modified flag - Pages with this set must be copied to disk before deletion.
*Bit 1: Read\Write
*Bit 1: Used Flag - While set, the MMU assumes that this page is actively mapped to some physical address.
*Bit 0: Presence Flag - While set, the MMU will assume that this page is currently in memory.
*Bit 0: Presence Flag - While set, the MMU will assume that this page is currently in memory.