![]() |
Contur 2
Educational OS kernel simulator
|
Least Recently Used page replacement. More...
#include <lru_replacement.h>
Public Member Functions | |
| LruReplacement () | |
| Creates an LRU replacement policy with empty history state. | |
| ~LruReplacement () override | |
| Destroys LRU replacement policy. | |
| LruReplacement (const LruReplacement &)=delete | |
| Copy construction is disabled. | |
| LruReplacement & | operator= (const LruReplacement &)=delete |
| Copy assignment is disabled. | |
| LruReplacement (LruReplacement &&) noexcept | |
| Move-constructs policy state. | |
| LruReplacement & | operator= (LruReplacement &&) noexcept |
| Move-assigns policy state. | |
| std::string_view | name () const noexcept override |
| Returns the name of the algorithm (e.g., "FIFO", "LRU"). | |
| FrameId | selectVictim (const PageTable &pageTable) override |
| Selects a victim frame to evict. | |
| void | onAccess (FrameId frame) override |
| Notifies the policy that a frame was accessed (read or write). | |
| void | onLoad (FrameId frame) override |
| Notifies the policy that a new page was loaded into a frame. | |
| void | reset () override |
| Resets the policy's internal state. | |
| Public Member Functions inherited from contur::IPageReplacementPolicy | |
| virtual | ~IPageReplacementPolicy ()=default |
Private Attributes | |
| std::unique_ptr< Impl > | impl_ |
Least Recently Used page replacement.
Tracks access order via timestamps. On eviction, selects the frame that has not been accessed for the longest time.
Definition at line 16 of file lru_replacement.h.
| contur::LruReplacement::LruReplacement | ( | ) |
Creates an LRU replacement policy with empty history state.
Referenced by LruReplacement(), LruReplacement(), operator=(), and operator=().
|
override |
Destroys LRU replacement policy.
|
delete |
Copy construction is disabled.
References LruReplacement().
|
noexcept |
Move-constructs policy state.
References LruReplacement().
|
nodiscardoverridevirtualnoexcept |
Returns the name of the algorithm (e.g., "FIFO", "LRU").
Implements contur::IPageReplacementPolicy.
References name().
Referenced by name().
|
overridevirtual |
Notifies the policy that a frame was accessed (read or write).
Implements contur::IPageReplacementPolicy.
References onAccess().
Referenced by onAccess().
|
overridevirtual |
Notifies the policy that a new page was loaded into a frame.
Implements contur::IPageReplacementPolicy.
References onLoad().
Referenced by onLoad().
|
delete |
Copy assignment is disabled.
References LruReplacement().
|
noexcept |
Move-assigns policy state.
References LruReplacement().
|
overridevirtual |
Resets the policy's internal state.
Implements contur::IPageReplacementPolicy.
References reset().
Referenced by reset().
|
nodiscardoverridevirtual |
Selects a victim frame to evict.
| pageTable | The current page table state. |
Implements contur::IPageReplacementPolicy.
References selectVictim().
Referenced by selectVictim().
|
private |
Definition at line 53 of file lru_replacement.h.