Strategie
Class MRU

java.lang.Object
  |
  +--Strategie.ReplaceStrategy
        |
        +--Strategie.MRU

public class MRU
extends ReplaceStrategy

Implementation of the page replacement strategy MRU (Most-Recently-Used). The victim page is the page that has been most recently used.


Field Summary
static boolean ISACCESSCOUNT
          Number of accesses is not relevant for this strategy.
static boolean ISACCESSTIME
          Time of access is relevant for this strategy.
static boolean ISINSERTIONTIME
          Time of insertion is not relevant for this strategy.
static java.lang.String LONGNAME
          Long name of this streategy.
static int MODBITCOUNT
          Number of reference-bits of this strategy.
static int REFBITCOUNT
          Number of reference-bits of this strategy.
static java.lang.String SHORTNAME
          Short name of this streategy.
 
Fields inherited from class Strategie.ReplaceStrategy
isAccessCount, isAccessTime, isInsertTime, isShowMemoryDetails, longName, modifyBitCount, referenceBitCount, shortName
 
Constructor Summary
MRU(boolean showDetails)
          Creates a new instance of this strategy.
 
Method Summary
 Memory createMemory(int size, int refBits, int modBits)
          Creates a new memory structure with the given size and number of reference- and modifyBits.
 int getDrawLfdNr(Memory memory, int i)
          Returns the index of the frame i in memory structure.
 Page getVictimPage(Memory memory, SimuData simu, GUI gui)
          Selects the next victim page.
 void reInsertPage(Memory memory, Page reInsertPage, SimuData simu, GUI gui)
          Reinserts a page into memory.
 void replacePage(Memory memory, Page oldPage, Page newPage, SimuData simu, GUI gui)
          Replaces the oldPage by the newPage in memory.
 void setInitVictimPointer(Memory memory)
          Sets the indexpointer to the page that has to be placed first.
 
Methods inherited from class Strategie.ReplaceStrategy
getLongName, getModifyBitCount, getReferenceBitCount, getShortName, isAccessCount, isAccessTime, isInsertTime, isModifyBit, isReferenceBit, isShowMemoryDetails, setShowMemoryDetails, sortMemory
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

SHORTNAME

public static final java.lang.String SHORTNAME
Short name of this streategy.

LONGNAME

public static final java.lang.String LONGNAME
Long name of this streategy.

REFBITCOUNT

public static final int REFBITCOUNT
Number of reference-bits of this strategy.

MODBITCOUNT

public static final int MODBITCOUNT
Number of reference-bits of this strategy.

ISACCESSCOUNT

public static final boolean ISACCESSCOUNT
Number of accesses is not relevant for this strategy.

ISACCESSTIME

public static final boolean ISACCESSTIME
Time of access is relevant for this strategy.

ISINSERTIONTIME

public static final boolean ISINSERTIONTIME
Time of insertion is not relevant for this strategy.
Constructor Detail

MRU

public MRU(boolean showDetails)
Creates a new instance of this strategy.
Method Detail

createMemory

public Memory createMemory(int size,
                           int refBits,
                           int modBits)
Creates a new memory structure with the given size and number of reference- and modifyBits.
Overrides:
createMemory in class ReplaceStrategy

setInitVictimPointer

public void setInitVictimPointer(Memory memory)
Sets the indexpointer to the page that has to be placed first. Only needed at the beginning when creating new memory.
Overrides:
setInitVictimPointer in class ReplaceStrategy

getDrawLfdNr

public int getDrawLfdNr(Memory memory,
                        int i)
Returns the index of the frame i in memory structure. The memory structure can have an strategy-dependant internal sort. This is needed for drawing the memory details in the strategy-dependant order.
Overrides:
getDrawLfdNr in class ReplaceStrategy

getVictimPage

public Page getVictimPage(Memory memory,
                          SimuData simu,
                          GUI gui)
Selects the next victim page. It's the oldest page in memory.
Overrides:
getVictimPage in class ReplaceStrategy

replacePage

public void replacePage(Memory memory,
                        Page oldPage,
                        Page newPage,
                        SimuData simu,
                        GUI gui)
Replaces the oldPage by the newPage in memory.
Overrides:
replacePage in class ReplaceStrategy

reInsertPage

public void reInsertPage(Memory memory,
                         Page reInsertPage,
                         SimuData simu,
                         GUI gui)
Reinserts a page into memory. Needed after a page hit. when the page's values has been changed and they are important for the sort in memory.
Overrides:
reInsertPage in class ReplaceStrategy