mirror of
https://github.com/kuhyx/WUT_Computer_Science.git
synced 2026-11-11 18:13:54 +01:00
66 lines
2.4 KiB
TeX
66 lines
2.4 KiB
TeX
\documentclass{article}
|
|
\usepackage{listings}
|
|
\usepackage{hyperref}
|
|
\usepackage{graphicx}
|
|
\usepackage{float}
|
|
\usepackage[margin=1.25in]{geometry}
|
|
\begin{document}
|
|
\title{EOPSY Lab 4 Report}
|
|
\author{Krzysztof Rudnicki, 307585}
|
|
\date{\today}
|
|
\maketitle
|
|
\section{Introduction}
|
|
\subsection{Page replacament algorithms}
|
|
\paragraph{First in First out}
|
|
We use FIFO (First in First out) page replacement algorithm for those laboratories as indicated
|
|
by the PageFault.java file line 18
|
|
\begin{figure}[H]
|
|
\caption{PageFault.java file}
|
|
\begin{lstlisting}[language=Java]
|
|
[...]
|
|
public class PageFault {
|
|
|
|
/**
|
|
* The page replacement algorithm for the memory management sumulator.
|
|
* This method gets called whenever a page needs to be replaced.
|
|
* <p>
|
|
* The page replacement algorithm included with the simulator is
|
|
* FIFO (first-in first-out). A while or for loop should be used
|
|
* to search through the current memory contents for a canidate
|
|
* replacement page. In the case of FIFO the while loop is used
|
|
* to find the proper page while making sure that virtPageNum is
|
|
* not exceeded.
|
|
[...]
|
|
\end{lstlisting}
|
|
\end{figure}
|
|
All pages are stored in memory in a queue. Oldest page (First that came in) is
|
|
in front of this queue. \\ When we need to replace the page we remove the page that
|
|
is first in queue (so the one that came in as a first one, first in, first out)
|
|
\\
|
|
It is easy to explain and implement but in practical application it performs
|
|
poorly. It is still used but usually we use modified version of it.
|
|
\cite{Page Replacement Algorithms}
|
|
\paragraph{Optimal Page Replacement}
|
|
We replace pages which in the future will not be used for the longest time.
|
|
This is purely theoretical algorithm. It is perfect but not doable in practice
|
|
since operating systems can not know future requests. \\
|
|
It is used as a benchmark against which we compare other algorithms.
|
|
\cite{Page Replacament Algorithms}
|
|
\paragraph{Least Recently Used}
|
|
We replace page which was not used for the longest time.
|
|
\cite{Page Replacamanet Algorithms}
|
|
\cite{pageWiki}
|
|
\paragraph{Mapping}
|
|
|
|
|
|
\section{Finishing comments}
|
|
\begin{thebibliography}{9}
|
|
\bibitem{Page Replacement Algorithms}
|
|
\href{https://www.geeksforgeeks.org/page-replacement-algorithms-in-operating-systems/}{[Geeks
|
|
for Geeks page replacament algorithms]}
|
|
\bibitem{pageWiki}
|
|
\href{https://en.wikipedia.org/wiki/Page_replacement_algorithm}{Wikipedia Page
|
|
replacament algorithm}
|
|
\end{thebibliography}
|
|
\end{document}
|