|
contur2
|
Clock (Second Chance) page replacement. More...
#include <clock_replacement.h>


Public Member Functions | |
| ClockReplacement () | |
| ~ClockReplacement () override | |
| ClockReplacement (const ClockReplacement &)=delete | |
| ClockReplacement & | operator= (const ClockReplacement &)=delete |
| ClockReplacement (ClockReplacement &&) noexcept | |
| ClockReplacement & | operator= (ClockReplacement &&) noexcept |
| 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_ |
Clock (Second Chance) page replacement.
Uses a circular buffer and reference bits. On eviction, scans frames:
Definition at line 17 of file clock_replacement.h.
| contur::ClockReplacement::ClockReplacement | ( | ) |
|
override |
|
delete |
|
noexcept |
|
nodiscardoverridevirtualnoexcept |
Returns the name of the algorithm (e.g., "FIFO", "LRU").
Implements contur::IPageReplacementPolicy.
|
overridevirtual |
Notifies the policy that a frame was accessed (read or write).
Implements contur::IPageReplacementPolicy.
|
overridevirtual |
Notifies the policy that a new page was loaded into a frame.
Implements contur::IPageReplacementPolicy.
|
noexcept |
|
delete |
|
overridevirtual |
Resets the policy's internal state.
Implements contur::IPageReplacementPolicy.
|
nodiscardoverridevirtual |
Selects a victim frame to evict.
| pageTable | The current page table state. |
Implements contur::IPageReplacementPolicy.
|
private |
Definition at line 36 of file clock_replacement.h.