#include <pageframeselectionpolicy.h>
Inheritance diagram for Zygoma::PageFrameSelectionPolicy:
This is a pure virtual base class that can be friends with the PageFrameTable itself to get priviledged access to the page frame table internals. Concrete classes derived from this protocol class can access the page frame internals only through base class calls.
Public Member Functions | |
virtual | ~PageFrameSelectionPolicy ()=0 |
The pure virtual destructor. | |
virtual PageFrameTable::FrameIndex | selectUnusedFrame () const =0 |
Selects an unused page frame according to policy. | |
virtual PageFrameTable::FrameIndex | selectReplacementFrame () const =0 |
Selects a page frame for replacement according to the current policy. | |
Protected Member Functions | |
const PageFrame & | getFrame (PageFrameTable *pageFrameTable, PageFrameTable::FrameIndex frameIndex) |
Pulls up page frame information for an indexed page frame in the page fram table. |
|
The pure virtual destructor.
|
|
Pulls up page frame information for an indexed page frame in the page fram table.
|
|
Selects a page frame for replacement according to the current policy. A replacement frame may or may not currently be in use. The policy must always be ablw to make a page frame available for replacement, even if there is only one frame in the table. Well, I guess a zero-sized page frame table is the degenerate case, but I doubt things would have got as far as starting virtual memory if there was so little memory in the system.
|
|
Selects an unused page frame according to policy.
Implemented in Zygoma::PageFrameLinearPolicy. |