![]() |
Contur 2
Educational OS kernel simulator
|
First-In First-Out page replacement. More...
#include <fifo_replacement.h>
Public Member Functions | |
| FifoReplacement () | |
| Creates a FIFO replacement policy with empty queue state. | |
| ~FifoReplacement () override | |
| Destroys FIFO replacement policy. | |
| FifoReplacement (const FifoReplacement &)=delete | |
| Copy construction is disabled. | |
| FifoReplacement & | operator= (const FifoReplacement &)=delete |
| Copy assignment is disabled. | |
| FifoReplacement (FifoReplacement &&) noexcept | |
| Move-constructs policy state. | |
| FifoReplacement & | operator= (FifoReplacement &&) 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_ |
First-In First-Out page replacement.
Maintains a queue of loaded frames in order of arrival. On eviction, selects the frame that was loaded earliest.
Definition at line 16 of file fifo_replacement.h.
| contur::FifoReplacement::FifoReplacement | ( | ) |
Creates a FIFO replacement policy with empty queue state.
Referenced by FifoReplacement(), FifoReplacement(), operator=(), and operator=().
|
override |
Destroys FIFO replacement policy.
|
delete |
Copy construction is disabled.
References FifoReplacement().
|
noexcept |
Move-constructs policy state.
References FifoReplacement().
|
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 FifoReplacement().
|
noexcept |
Move-assigns policy state.
References FifoReplacement().
|
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 fifo_replacement.h.