Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

Zygoma::PageFrameLinearPolicy Class Reference

#include <pageframelinearpolicy.h>

Inheritance diagram for Zygoma::PageFrameLinearPolicy:

Inheritance graph
[legend]
Collaboration diagram for Zygoma::PageFrameLinearPolicy:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual PageFrameTable::FrameIndex selectUnusedFrame () const
 Selects an unused page frame according to policy.
virtual PageFrameTable::FrameIndex selectReplacementFrame ()
 Selects a page frame for replacement according to the current policy.
virtual PageFrameTable::FrameIndex selectReplacementFrame () const =0
 Selects a page frame for replacement according to the current policy.

Protected Member Functions

const PageFramegetFrame (PageFrameTable *pageFrameTable, PageFrameTable::FrameIndex frameIndex)
 Pulls up page frame information for an indexed page frame in the page fram table.

Member Function Documentation

const PageFrame& Zygoma::PageFrameSelectionPolicy::getFrame PageFrameTable pageFrameTable,
PageFrameTable::FrameIndex  frameIndex
[protected, inherited]
 

Pulls up page frame information for an indexed page frame in the page fram table.

Parameters:
pageFrameTable The page frame table.
frameIndex Index of the page frame to pull.
Returns:
A const reference to the indexed page frame.

virtual PageFrameTable::FrameIndex Zygoma::PageFrameSelectionPolicy::selectReplacementFrame  )  const [pure virtual, inherited]
 

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.

Returns:
The index of a page frame to be used as a replacement.

virtual PageFrameTable::FrameIndex Zygoma::PageFrameLinearPolicy::selectReplacementFrame  )  [virtual]
 

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.

Returns:
The index of a page frame to be used as a replacement.

virtual PageFrameTable::FrameIndex Zygoma::PageFrameLinearPolicy::selectUnusedFrame  )  const [virtual]
 

Selects an unused page frame according to policy.

Returns:
The index of an unused page frame.
Todo:
Determine special value for "no frame available".

Implements Zygoma::PageFrameSelectionPolicy.


The documentation for this class was generated from the following file:
Generated on Fri Sep 2 10:45:08 2005 for zygoma by doxygen 1.4.2