[ RCOS.java Home | RCOS Home | David's Home ]
Name: |
TranslationEntry |
Comment: |
The following class defines an entry in a translation table -- either
in a page table or a TLB. Each entry defines a mapping from one
virtual page to one physical page. In addition, there are some extra bits for access control (valid and read-only) and some bits for usage information (use and dirty). |
Collaborators: |
class TranslationEntry {
public:
int virtualPage; // The page number in virtual memory.
int physicalPage; // The page number in real memory (relative to the
// start of "mainMemory"
bool valid; // If this bit is set, the translation is ignored.
// (In other words, the entry hasn't been initialized.)
bool readOnly; // If this bit is set, the user program is not allowed
// to modify the contents of the page.
bool use; // This bit is set by the hardware every time the
// page is referenced or modified.
bool dirty; // This bit is set by the hardware every time the
// page is modified.
};