[ RCOS.java Home | RCOS Home | David's Home ]

TranslationEntry CRC

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:

Responsibilities:

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.
};