This commit is contained in:
kuchy 2022-05-06 11:42:53 +02:00
parent f4c92111d8
commit 7ef199ab9d
103 changed files with 6210 additions and 0 deletions

Binary file not shown.

View File

@ -0,0 +1,25 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
\global\let\oldcontentsline\contentsline
\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
\global\let\oldnewlabel\newlabel
\gdef\newlabel#1#2{\newlabelxx{#1}#2}
\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
\AtEndDocument{\ifx\hyper@anchor\@undefined
\let\contentsline\oldcontentsline
\let\newlabel\oldnewlabel
\fi}
\fi}
\global\let\hyper@last\relax
\gdef\HyperFirstAtBeginDocument#1{#1}
\providecommand\HyField@AuxAddToFields[1]{}
\providecommand\HyField@AuxAddToCoFields[2]{}
\citation{Page Replacement Algorithms}
\bibcite{Page Replacement Algorithms}{1}
\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{1}{section.1}\protected@file@percent }
\@writefile{toc}{\contentsline {paragraph}{First in First out}{1}{section*.1}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces PageFault.java file}}{1}{figure.1}\protected@file@percent }
\@writefile{toc}{\contentsline {paragraph}{Mapping}{1}{section*.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {2}Finishing comments}{1}{section.2}\protected@file@percent }

View File

@ -0,0 +1,87 @@
# Fdb version 3
["pdflatex"] 1651819250 "report.tex" "report.pdf" "report" 1651819251
"/etc/texmf/web2c/texmf.cnf" 1649511474 475 c0e671620eb5563b2130f56340a5fde8 ""
"/usr/share/texlive/texmf-dist/fonts/map/fontname/texfonts.map" 1577235249 3524 cb3e574dea2d1052e39280babc910dc8 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/tcti1000.tfm" 1136768653 2048 3777f70f4372b17e2d3fda2b5684af05 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmbx10.tfm" 1136768653 1328 c834bbb027764024c09d3d2bf908b5f0 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmbx12.tfm" 1136768653 1324 c910af8c371558dc20f2d7822f66fe64 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm" 1136768653 1524 4414a8315f39513458b80dfc63bff03a ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi6.tfm" 1136768653 1512 f21f83efb36853c0b70002322c1ab3ad ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi8.tfm" 1136768653 1520 eccf95517727cb11801f4f1aee3a21b4 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr12.tfm" 1136768653 1288 655e228510b4c2a1abe905c368440826 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr17.tfm" 1136768653 1292 296a67155bdbfc32aa9c636f21e91433 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr6.tfm" 1136768653 1300 b62933e007d01cfd073f79b963c01526 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr8.tfm" 1136768653 1292 21c1c5bfeaebccffdb478fd231a0997d ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm" 1136768653 1124 6c73e740cf17375f03eec0ee63599741 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy6.tfm" 1136768653 1116 933a60c408fc0a863a92debe84b2d294 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy8.tfm" 1136768653 1120 8b7d695260f3cff42e636090a8002094 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmti10.tfm" 1136768653 1480 aa8e34af0eb6a2941b776984cf1dfdc4 ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx10.pfb" 1248133631 34811 78b52f49e893bcba91bd7581cdc144c0 ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.pfb" 1248133631 32080 340ef9bf63678554ee606688e7b5339d ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb" 1248133631 36299 5f9df58c2139e7edcf37c8fca4bd384d ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb" 1248133631 35752 024fb6c41858982481f6968b5fc26508 ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr12.pfb" 1248133631 32722 d7379af29a190c3f453aba36302ff5a9 ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr17.pfb" 1248133631 32362 179c33bbf43f19adbb3825bb4e36e57a ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb" 1248133631 32569 5e5ddc8df908dea60932f3c484a54c0d ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmti10.pfb" 1248133631 37944 359e864bd06cde3b1cf57bb20757fb06 ""
"/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii" 1461363279 71627 94eb9990bed73c364d7f53f960cc8c5b ""
"/usr/share/texlive/texmf-dist/tex/generic/atbegshi/atbegshi.sty" 1575674566 24708 5584a51a7101caf7e6bbf1fc27d8f7b1 ""
"/usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty" 1576625341 40635 c40361e206be584d448876bba8a64a3b ""
"/usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty" 1576016050 33961 6b5c75130e435b2bfdb9f480a09a39f9 ""
"/usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty" 1576625273 7734 b98cbb34c81f667027c1e3ebdbfce34b ""
"/usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty" 1576625223 8371 9d55b8bd010bc717624922fb3477d92e ""
"/usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty" 1573336935 6902 30fdaf7dc5636b8e3afa306210c45cae ""
"/usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty" 1572645307 1057 525c2192b5febbd8c1f662c9468335bb ""
"/usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty" 1575499628 8356 7bbb2c2373aa810be568c29e333da8ed ""
"/usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty" 1576625065 31769 002a487f55041f8e805cfbf6385ffd97 ""
"/usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty" 1576878844 5412 d5a2436094cd7be85769db90f29250a6 ""
"/usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty" 1576624944 13807 952b0226d4efca026f0e19dd266dcc22 ""
"/usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty" 1576624883 18552 1e1cc7b75da0dfaacce7cdcb27d306bf ""
"/usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty" 1576015897 19007 15924f7228aca6c6d184b115f4baa231 ""
"/usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty" 1576624663 7008 f92eaa0a3872ed622bbf538217cd2ab7 ""
"/usr/share/texlive/texmf-dist/tex/latex/atveryend/atveryend.sty" 1576191570 19336 ce7ae9438967282886b3b036cfad1e4d ""
"/usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty" 1576625391 3935 57aa3c3e203a5c2effb4d2bd2efbc323 ""
"/usr/share/texlive/texmf-dist/tex/latex/base/article.cls" 1580683321 20023 e427dd9e17e239bf926ef3aab67fe35e ""
"/usr/share/texlive/texmf-dist/tex/latex/base/omlcmr.fd" 1580683321 2471 93c7889092ef3d83d375b915c5381dfe ""
"/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd" 1580683321 2470 59e43b502a8bea3a12f4954945302e40 ""
"/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo" 1580683321 8446 9874cccac5fee462272c582807dbbf56 ""
"/usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty" 1579991033 13886 d1306dcf79a944f6988e688c1785f9ce ""
"/usr/share/texlive/texmf-dist/tex/latex/float/float.sty" 1137110151 6749 16d2656a1984957e674b149555f1ea1d ""
"/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty" 1578002852 41601 9cf6c5257b1bc7af01a58859749dd37a ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg" 1465944070 1224 978390e9c2234eab29404bc21b268d1e ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def" 1515537368 17334 520b9b85ad8a2a48eda3f643e27a5179 ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty" 1580683321 16932 04729abe63b66ec59ea56edcd722b058 ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty" 1580683321 9067 1b996612394a52e1efe89c8bfe8a5892 ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty" 1580683321 2590 e3b24ff953e5b58d924f163d25380312 ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty" 1580683321 3976 d7fa7d81d2870d509d25b17d0245e735 ""
"/usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty" 1580250785 17914 4c28a13fc3d975e6e81c9bea1d697276 ""
"/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def" 1579642962 50630 3d9728faf8630190cf601ce2cbe470d9 ""
"/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty" 1579642962 238752 60dd338d71b6a4ab2192131f73dc908b ""
"/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty" 1579642962 13244 0070bcab7b5a88187847128d22faf4d8 ""
"/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def" 1579642962 14134 32b36577d311ddb6522413c7581ee968 ""
"/usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty" 1575152344 22520 c4c2dab203104295e1e618be7e5c0f5b ""
"/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def" 1580854751 25404 9d60f463a00d154207ec0048dee27cf0 ""
"/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg" 1279039959 678 4792914a8f45be57bb98413425e4c7af ""
"/usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty" 1575499565 5766 13a9e8766c47f30327caf893ece86ac8 ""
"/usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg" 1568236792 1830 bbaba8afaf42cc048ec4d4ff73467521 ""
"/usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty" 1568236792 80511 830f3f1d3ab7448dd84233e9c2f6462c ""
"/usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty" 1568236792 204271 6a0ce6b8dafb6c4a13b9036ab1717c77 ""
"/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty" 1568236792 77022 32914f01b528131c47be2a1040d3856d ""
"/usr/share/texlive/texmf-dist/tex/latex/pdftexcmds/pdftexcmds.sty" 1574631863 19963 36fd8e818f9f0f32e2db8413d4970122 ""
"/usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty" 1576624809 9878 9e94e8fa600d95f9c7731bb21dfb67a4 ""
"/usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty" 1575674187 9715 b051d5b493d9fe5f4bc251462d039e5f ""
"/usr/share/texlive/texmf-dist/tex/latex/url/url.sty" 1388531844 12796 8edb7d69a20b857904dd0ea757c14ec9 ""
"/usr/share/texlive/texmf-dist/web2c/texmf.cnf" 1581979058 38841 ce3692aa899bb693b90b87eaa5d4d84e ""
"/usr/share/texmf/fonts/enc/dvips/cm-super/cm-super-ts1.enc" 1565080000 2900 1537cc8184ad1792082cd229ecc269f4 ""
"/usr/share/texmf/fonts/type1/public/cm-super/sfti1000.pfb" 1565080000 186554 e8f0fa8ca05e038f257a06405232745f ""
"/usr/share/texmf/web2c/texmf.cnf" 1581979058 38841 ce3692aa899bb693b90b87eaa5d4d84e ""
"/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map" 1649511498 4770781 1ed1abab22da9c3e2cc82e4db562318b ""
"/var/lib/texmf/web2c/pdftex/pdflatex.fmt" 1649511522 8256308 efb305160d4d659dcd0c4df67bdfa340 ""
"report.aux" 1651819250 1291 2ad45efb724135c31d626d6936d14b17 "pdflatex"
"report.out" 1651819250 100 25fdc042cd41a4fc702071f1ee9cd704 "pdflatex"
"report.tex" 1651819249 1665 7fe501939e4c3d08e14885cab811844d ""
(generated)
"report.pdf"
"report.aux"
"report.out"
"report.log"

View File

@ -0,0 +1,142 @@
PWD /home/kuchy/Zlew/Studia/NieNotatki/Projekty/nie_inzynierka/Programowanie/EOPSY/eopsy_rudnicki_lab/lab4/report
INPUT /etc/texmf/web2c/texmf.cnf
INPUT /usr/share/texmf/web2c/texmf.cnf
INPUT /usr/share/texlive/texmf-dist/web2c/texmf.cnf
INPUT /var/lib/texmf/web2c/pdftex/pdflatex.fmt
INPUT report.tex
OUTPUT report.log
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/article.cls
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/article.cls
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/size10.clo
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/size10.clo
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pdftexcmds/pdftexcmds.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pdftexcmds/pdftexcmds.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def
INPUT /usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/url/url.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/url/url.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/atbegshi/atbegshi.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/atbegshi/atbegshi.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/atveryend/atveryend.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/atveryend/atveryend.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/float/float.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/float/float.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def
INPUT report.aux
INPUT report.aux
OUTPUT report.aux
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty
INPUT report.out
INPUT report.out
INPUT report.out
INPUT report.out
OUTPUT report.pdf
INPUT ./report.out
INPUT ./report.out
OUTPUT report.out
INPUT /usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
INPUT /usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
INPUT /usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
INPUT /usr/share/texlive/texmf-dist/fonts/map/fontname/texfonts.map
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr17.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr12.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr8.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr6.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi8.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi6.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy8.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy6.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr12.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmbx12.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmbx10.tfm
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmti10.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/tcti1000.tfm
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/omlcmr.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/omlcmr.fd
INPUT /var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map
INPUT report.aux
INPUT ./report.out
INPUT ./report.out
INPUT /usr/share/texmf/fonts/enc/dvips/cm-super/cm-super-ts1.enc
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx10.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr12.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr17.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmti10.pfb
INPUT /usr/share/texmf/fonts/type1/public/cm-super/sfti1000.pfb

View File

@ -0,0 +1,340 @@
This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=pdflatex 2022.4.9) 6 MAY 2022 08:40
entering extended mode
restricted \write18 enabled.
file:line:error style messages enabled.
%&-line parsing enabled.
**report.tex
(./report.tex
LaTeX2e <2020-02-02> patch level 2
L3 programming layer <2020-02-14> (/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2019/12/20 v1.4l Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo
File: size10.clo 2019/12/20 v1.4l Standard LaTeX file (size option)
)
\c@part=\count167
\c@section=\count168
\c@subsection=\count169
\c@subsubsection=\count170
\c@paragraph=\count171
\c@subparagraph=\count172
\c@figure=\count173
\c@table=\count174
\abovecaptionskip=\skip47
\belowcaptionskip=\skip48
\bibindent=\dimen134
) (/usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty (/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
Package: keyval 2014/10/28 v1.15 key=value parser (DPC)
\KV@toks@=\toks14
)
\lst@mode=\count175
\lst@gtempboxa=\box45
\lst@token=\toks15
\lst@length=\count176
\lst@currlwidth=\dimen135
\lst@column=\count177
\lst@pos=\count178
\lst@lostspace=\dimen136
\lst@width=\dimen137
\lst@newlines=\count179
\lst@lineno=\count180
\lst@maxwidth=\dimen138
(/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
File: lstmisc.sty 2019/09/10 1.8c (Carsten Heinz)
\c@lstnumber=\count181
\lst@skipnumbers=\count182
\lst@framebox=\box46
) (/usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg
File: listings.cfg 2019/09/10 1.8c listings configuration
))
Package: listings 2019/09/10 1.8c (Carsten Heinz)
(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
Package: hyperref 2020/01/14 v7.00d Hypertext links for LaTeX
(/usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
Package: ltxcmds 2019/12/15 v1.24 LaTeX kernel commands for general use (HO)
) (/usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty
Package: iftex 2019/11/07 v1.0c TeX engine tests
) (/usr/share/texlive/texmf-dist/tex/latex/pdftexcmds/pdftexcmds.sty
Package: pdftexcmds 2019/11/24 v0.31 Utility functions of pdfTeX for LuaTeX (HO)
(/usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty
Package: infwarerr 2019/12/03 v1.5 Providing info/warning/error messages (HO)
)
Package pdftexcmds Info: \pdf@primitive is available.
Package pdftexcmds Info: \pdf@ifprimitive is available.
Package pdftexcmds Info: \pdfdraftmode found.
) (/usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty
Package: kvsetkeys 2019/12/15 v1.18 Key value parser (HO)
) (/usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty
Package: kvdefinekeys 2019-12-19 v1.6 Define keys (HO)
) (/usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty
Package: pdfescape 2019/12/09 v1.15 Implements pdfTeX's escape features (HO)
) (/usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty
Package: hycolor 2020-01-27 v1.10 Color options for hyperref/bookmark (HO)
) (/usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty
Package: letltxmacro 2019/12/03 v1.6 Let assignment for LaTeX macros (HO)
) (/usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty
Package: auxhook 2019-12-17 v1.6 Hooks for auxiliary files (HO)
) (/usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty
Package: kvoptions 2019/11/29 v3.13 Key value format for package options (HO)
)
\@linkdim=\dimen139
\Hy@linkcounter=\count183
\Hy@pagecounter=\count184
(/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def
File: pd1enc.def 2020/01/14 v7.00d Hyperref: PDFDocEncoding definition (HO)
Now handling font encoding PD1 ...
... no UTF-8 mapping file for font encoding PD1
) (/usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty
Package: intcalc 2019/12/15 v1.3 Expandable calculations with integers (HO)
) (/usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty
Package: etexcmds 2019/12/15 v1.7 Avoid name clashes with e-TeX commands (HO)
)
\Hy@SavedSpaceFactor=\count185
\pdfmajorversion=\count186
Package hyperref Info: Hyper figures OFF on input line 4547.
Package hyperref Info: Link nesting OFF on input line 4552.
Package hyperref Info: Hyper index ON on input line 4555.
Package hyperref Info: Plain pages OFF on input line 4562.
Package hyperref Info: Backreferencing OFF on input line 4567.
Package hyperref Info: Implicit mode ON; LaTeX internals redefined.
Package hyperref Info: Bookmarks ON on input line 4800.
\c@Hy@tempcnt=\count187
(/usr/share/texlive/texmf-dist/tex/latex/url/url.sty
\Urlmuskip=\muskip16
Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc.
)
LaTeX Info: Redefining \url on input line 5159.
\XeTeXLinkMargin=\dimen140
(/usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty
Package: bitset 2019/12/09 v1.3 Handle bit-vector datatype (HO)
(/usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty
Package: bigintcalc 2019/12/15 v1.5 Expandable calculations on big integers (HO)
))
\Fld@menulength=\count188
\Field@Width=\dimen141
\Fld@charsize=\dimen142
Package hyperref Info: Hyper figures OFF on input line 6430.
Package hyperref Info: Link nesting OFF on input line 6435.
Package hyperref Info: Hyper index ON on input line 6438.
Package hyperref Info: backreferencing OFF on input line 6445.
Package hyperref Info: Link coloring OFF on input line 6450.
Package hyperref Info: Link coloring with OCG OFF on input line 6455.
Package hyperref Info: PDF/A mode OFF on input line 6460.
LaTeX Info: Redefining \ref on input line 6500.
LaTeX Info: Redefining \pageref on input line 6504.
(/usr/share/texlive/texmf-dist/tex/generic/atbegshi/atbegshi.sty
Package: atbegshi 2019/12/05 v1.19 At begin shipout hook (HO)
)
\Hy@abspage=\count189
\c@Item=\count190
\c@Hfootnote=\count191
)
Package hyperref Info: Driver (autodetected): hpdftex.
(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def
File: hpdftex.def 2020/01/14 v7.00d Hyperref driver for pdfTeX
(/usr/share/texlive/texmf-dist/tex/latex/atveryend/atveryend.sty
Package: atveryend 2019-12-11 v1.11 Hooks at the very end of document (HO)
Package atveryend Info: \enddocument detected (standard20110627).
)
\Fld@listcount=\count192
\c@bookmark@seq@number=\count193
(/usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty
Package: rerunfilecheck 2019/12/05 v1.9 Rerun checks for auxiliary files (HO)
(/usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty
Package: uniquecounter 2019/12/15 v1.4 Provide unlimited unique counter (HO)
)
Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 286.
)
\Hy@SectionHShift=\skip49
) (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
Package: graphicx 2019/11/30 v1.2a Enhanced LaTeX Graphics (DPC,SPQR)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
Package: graphics 2019/11/30 v1.4a Standard LaTeX Graphics (DPC,SPQR)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
Package: trig 2016/01/03 v1.10 sin cos tan (DPC)
) (/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration
)
Package graphics Info: Driver file: pdftex.def on input line 105.
(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
File: pdftex.def 2018/01/08 v1.0l Graphics/color driver for pdftex
))
\Gin@req@height=\dimen143
\Gin@req@width=\dimen144
) (/usr/share/texlive/texmf-dist/tex/latex/float/float.sty
Package: float 2001/11/08 v1.3d Float enhancements (AL)
\c@float@type=\count194
\float@exts=\toks16
\float@box=\box47
\@float@everytoks=\toks17
\@floatcapt=\box48
) (/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
Package: geometry 2020/01/02 v5.9 Page Geometry
(/usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty
Package: ifvtex 2019/10/25 v1.7 ifvtex legacy package. Use iftex instead.
)
\Gm@cnth=\count195
\Gm@cntv=\count196
\c@Gm@tempcnt=\count197
\Gm@bindingoffset=\dimen145
\Gm@wd@mp=\dimen146
\Gm@odd@mp=\dimen147
\Gm@even@mp=\dimen148
\Gm@layoutwidth=\dimen149
\Gm@layoutheight=\dimen150
\Gm@layouthoffset=\dimen151
\Gm@layoutvoffset=\dimen152
\Gm@dimlist=\toks18
) (/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def
File: l3backend-pdfmode.def 2020-02-03 L3 backend support: PDF mode
\l__kernel_color_stack_int=\count198
\l__pdf_internal_box=\box49
) (./report.aux)
\openout1 = `report.aux'.
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 7.
LaTeX Font Info: ... okay on input line 7.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 7.
LaTeX Font Info: ... okay on input line 7.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 7.
LaTeX Font Info: ... okay on input line 7.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 7.
LaTeX Font Info: ... okay on input line 7.
LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 7.
LaTeX Font Info: ... okay on input line 7.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 7.
LaTeX Font Info: ... okay on input line 7.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 7.
LaTeX Font Info: ... okay on input line 7.
LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 7.
LaTeX Font Info: ... okay on input line 7.
\c@lstlisting=\count199
\AtBeginShipoutBox=\box50
Package hyperref Info: Link coloring OFF on input line 7.
(/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
Package: nameref 2019/09/16 v2.46 Cross-referencing by name of section
(/usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty
Package: refcount 2019/12/15 v3.6 Data extraction from label references (HO)
) (/usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty
Package: gettitlestring 2019/12/15 v1.6 Cleanup title references (HO)
)
\c@section@level=\count266
)
LaTeX Info: Redefining \ref on input line 7.
LaTeX Info: Redefining \pageref on input line 7.
LaTeX Info: Redefining \nameref on input line 7.
(./report.out) (./report.out)
\@outlinefile=\write3
\openout3 = `report.out'.
(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
\scratchcounter=\count267
\scratchdimen=\dimen153
\scratchbox=\box51
\nofMPsegments=\count268
\nofMParguments=\count269
\everyMPshowfont=\toks19
\MPscratchCnt=\count270
\MPscratchDim=\dimen154
\MPnumerator=\count271
\makeMPintoPDFobject=\count272
\everyMPtoPDFconversion=\toks20
) (/usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
Package: epstopdf-base 2020-01-24 v2.11 Base part for package epstopdf
Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 485.
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Live
))
*geometry* driver: auto-detecting
*geometry* detected driver: pdftex
*geometry* verbose mode - [ preamble ] result:
* driver: pdftex
* paper: <default>
* layout: <same size as paper>
* layoutoffset:(h,v)=(0.0pt,0.0pt)
* modes:
* h-part:(L,W,R)=(90.3375pt, 433.62001pt, 90.3375pt)
* v-part:(T,H,B)=(90.3375pt, 614.295pt, 90.3375pt)
* \paperwidth=614.295pt
* \paperheight=794.96999pt
* \textwidth=433.62001pt
* \textheight=614.295pt
* \oddsidemargin=18.0675pt
* \evensidemargin=18.0675pt
* \topmargin=-18.9325pt
* \headheight=12.0pt
* \headsep=25.0pt
* \topskip=10.0pt
* \footskip=30.0pt
* \marginparwidth=65.0pt
* \marginparsep=11.0pt
* \columnsep=10.0pt
* \skip\footins=9.0pt plus 4.0pt minus 2.0pt
* \hoffset=0.0pt
* \voffset=0.0pt
* \mag=1000
* \@twocolumnfalse
* \@twosidefalse
* \@mparswitchfalse
* \@reversemarginfalse
* (1in=72.27pt=25.4mm, 1cm=28.453pt)
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <12> on input line 12.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <8> on input line 12.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <6> on input line 12.
(/usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
File: lstlang1.sty 2019/09/10 1.8c listings language file
)
LaTeX Font Info: Trying to load font information for OMS+cmr on input line 20.
(/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd
File: omscmr.fd 2019/12/16 v2.5j Standard LaTeX font definitions
)
LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10> not available
(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 20.
LaTeX Font Info: Trying to load font information for OML+cmr on input line 25.
(/usr/share/texlive/texmf-dist/tex/latex/base/omlcmr.fd
File: omlcmr.fd 2019/12/16 v2.5j Standard LaTeX font definitions
)
LaTeX Font Info: Font shape `OML/cmr/m/it' in size <10> not available
(Font) Font shape `OML/cmm/m/it' tried instead on input line 25.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <7> on input line 27.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <5> on input line 27.
Package atveryend Info: Empty hook `BeforeClearDocument' on input line 48.
[1
{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}pdfTeX warning (ext4): destination with the same identifier (name{figure.1}) has been already used, duplicate ignored
\AtBegShi@Output ...ipout \box \AtBeginShipoutBox
\fi \fi
l.48 \end{document}
]
Package atveryend Info: Empty hook `AfterLastShipout' on input line 48.
(./report.aux)
Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 48.
Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 48.
Package rerunfilecheck Info: File `report.out' has not changed.
(rerunfilecheck) Checksum: 25FDC042CD41A4FC702071F1EE9CD704;100.
Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 48.
)
Here is how much of TeX's memory you used:
7424 strings out of 481239
110306 string characters out of 5920378
570541 words of memory out of 5000000
22566 multiletter control sequences out of 15000+600000
537009 words of font info for 39 fonts, out of 8000000 for 9000
1141 hyphenation exceptions out of 8191
34i,6n,42p,215b,1492s stack positions out of 5000i,500n,10000p,200000b,80000s
{/usr/share/texmf/fonts/enc/dvips/cm-super/cm-super-ts1.enc}</usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr12.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr17.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmti10.pfb></usr/share/texmf/fonts/type1/public/cm-super/sfti1000.pfb>
Output written on report.pdf (1 page, 96710 bytes).
PDF statistics:
85 PDF objects out of 1000 (max. 8388607)
72 compressed objects within 1 object stream
24 named destinations out of 1000 (max. 500000)
17 words of extra memory for PDF output out of 10000 (max. 10000000)

View File

@ -0,0 +1,2 @@
\BOOKMARK [1][-]{section.1}{Introduction}{}% 1
\BOOKMARK [1][-]{section.2}{Finishing comments}{}% 2

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,48 @@
\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}
\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)
\cite{Page Replacement Algorithms}
\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]}
\end{thebibliography}
\end{document}

1
EOPSY/lab4/task4/README Normal file
View File

@ -0,0 +1 @@
Change directory to ./ftp and submit "make setup".

View File

@ -0,0 +1,24 @@
default: info
help:
less README.tjk
compile:
javac -nowarn *.java
run:
java MemoryManagement commands memory.conf
setup:
./setUp
info:
@echo ""
@echo "Use 'make' with one argument:"
@echo ""
@echo " make help"
@echo " make compile"
@echo " make run"
@echo ""

View File

@ -0,0 +1,45 @@
WORKPLACE ORGANIZATION:
mkdir ../work
cd ../work
cp ../ftp/* .
gzip -d memory.tgz
tar -xvf memory.tar
rm memory.tar
READING:
more/less/vi/vim README.tjk
netscape/lynx/links install_unix.html
netscape/lynx/links user_guide.html
COMPILE:
javac -nowarn *.java
RUN:
java MemoryManagement commands memory.conf
FILES:
input file name: commands
initial content of the VM map: memory.conf
output file name: tracefile
--[ YOUR TASK ]-------------------------------------------------------
Create a command file that maps any 8 pages of physical memory to the
first 8 pages of virtual memory, and then reads from one virtual memory
address on each of the 64 virtual pages. Step through the simulator one
operation at a time and see if you can predict which virtual memory
addresses cause page faults. What page replacement algorithm is being
used?
Locate in the sources and describe to the instructor the page
replacement algorithm.
----------------------------------------------------------------------

Binary file not shown.

9
EOPSY/lab4/task4/ftp/setUp Executable file
View File

@ -0,0 +1,9 @@
echo "Creating ../work subdirectory"
mkdir ../work 2>/dev/null
cd ../work
cp ../ftp/* .
gzip -d memory.tgz
tar -xvf memory.tar
rm memory.tar
echo ""
echo "Now, go to the directory ../work and submit 'make'"

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,58 @@
public class Common {
static public long s2l ( String s )
{
long i = 0;
try {
i = Long.parseLong(s.trim());
} catch (NumberFormatException nfe) {
System.out.println("NumberFormatException: " + nfe.getMessage());
}
return i;
}
static public int s2i ( String s )
{
int i = 0;
try {
i = Integer.parseInt(s.trim());
} catch (NumberFormatException nfe) {
System.out.println("NumberFormatException: " + nfe.getMessage());
}
return i;
}
static public byte s2b ( String s )
{
int i = 0;
byte b = 0;
try {
i = Integer.parseInt(s.trim());
} catch (NumberFormatException nfe) {
System.out.println("NumberFormatException: " + nfe.getMessage());
}
b = (byte) i;
return b;
}
public static long randomLong( long MAX )
{
long i = -1;
java.util.Random generator = new
java.util.Random(System.currentTimeMillis());
while (i > MAX || i < 0)
{
int intOne = generator.nextInt();
int intTwo = generator.nextInt();
i = (long) intOne + intTwo;
}
return i;
}
}

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -0,0 +1,12 @@
public class Instruction
{
public String inst;
public long addr;
public Instruction( String inst, long addr )
{
this.inst = inst;
this.addr = addr;
}
}

Binary file not shown.

View File

@ -0,0 +1,511 @@
import java.lang.Thread;
import java.io.*;
import java.util.*;
public class Kernel extends Thread
{
// The number of virtual pages must be fixed at 63 due to
// dependencies in the GUI
private static int virtPageNum = 63;
private String output = null;
private static final String lineSeparator =
System.getProperty("line.separator");
private String command_file;
private String config_file;
private ControlPanel controlPanel ;
private Vector memVector = new Vector();
private Vector instructVector = new Vector();
private String status;
private boolean doStdoutLog = false;
private boolean doFileLog = false;
public int runs;
public int runcycles;
public long block = (int) Math.pow(2,12);
public static byte addressradix = 10;
public void init( String commands , String config )
{
File f = new File( commands );
command_file = commands;
config_file = config;
String line;
String tmp = null;
String command = "";
byte R = 0;
byte M = 0;
int i = 0;
int j = 0;
int id = 0;
int physical = 0;
int physical_count = 0;
int inMemTime = 0;
int lastTouchTime = 0;
int map_count = 0;
double power = 14;
long high = 0;
long low = 0;
long addr = 0;
long address_limit = (block * virtPageNum+1)-1;
if ( config != null )
{
f = new File ( config );
try
{
DataInputStream in = new DataInputStream(new FileInputStream(f));
while ((line = in.readLine()) != null)
{
if (line.startsWith("numpages"))
{
StringTokenizer st = new StringTokenizer(line);
while (st.hasMoreTokens())
{
tmp = st.nextToken();
virtPageNum = Common.s2i(st.nextToken()) - 1;
if ( virtPageNum < 2 || virtPageNum > 63 )
{
System.out.println("MemoryManagement: numpages out of bounds.");
System.exit(-1);
}
address_limit = (block * virtPageNum+1)-1;
}
}
}
in.close();
} catch (IOException e) { /* Handle exceptions */ }
for (i = 0; i <= virtPageNum; i++)
{
high = (block * (i + 1))-1;
low = block * i;
memVector.addElement(new Page(i, -1, R, M, 0, 0, high, low));
}
try
{
DataInputStream in = new DataInputStream(new FileInputStream(f));
while ((line = in.readLine()) != null)
{
if (line.startsWith("memset"))
{
StringTokenizer st = new StringTokenizer(line);
st.nextToken();
while (st.hasMoreTokens())
{
id = Common.s2i(st.nextToken());
tmp = st.nextToken();
if (tmp.startsWith("x"))
{
physical = -1;
}
else
{
physical = Common.s2i(tmp);
}
if ((0 > id || id > virtPageNum) || (-1 > physical || physical > ((virtPageNum - 1) / 2)))
{
System.out.println("MemoryManagement: Invalid page value in " + config);
System.exit(-1);
}
R = Common.s2b(st.nextToken());
if (R < 0 || R > 1)
{
System.out.println("MemoryManagement: Invalid R value in " + config);
System.exit(-1);
}
M = Common.s2b(st.nextToken());
if (M < 0 || M > 1)
{
System.out.println("MemoryManagement: Invalid M value in " + config);
System.exit(-1);
}
inMemTime = Common.s2i(st.nextToken());
if (inMemTime < 0)
{
System.out.println("MemoryManagement: Invalid inMemTime in " + config);
System.exit(-1);
}
lastTouchTime = Common.s2i(st.nextToken());
if (lastTouchTime < 0)
{
System.out.println("MemoryManagement: Invalid lastTouchTime in " + config);
System.exit(-1);
}
Page page = (Page) memVector.elementAt(id);
page.physical = physical;
page.R = R;
page.M = M;
page.inMemTime = inMemTime;
page.lastTouchTime = lastTouchTime;
}
}
if (line.startsWith("enable_logging"))
{
StringTokenizer st = new StringTokenizer(line);
while (st.hasMoreTokens())
{
if ( st.nextToken().startsWith( "true" ) )
{
doStdoutLog = true;
}
}
}
if (line.startsWith("log_file"))
{
StringTokenizer st = new StringTokenizer(line);
while (st.hasMoreTokens())
{
tmp = st.nextToken();
}
if ( tmp.startsWith( "log_file" ) )
{
doFileLog = false;
output = "tracefile";
}
else
{
doFileLog = true;
doStdoutLog = false;
output = tmp;
}
}
if (line.startsWith("pagesize"))
{
StringTokenizer st = new StringTokenizer(line);
while (st.hasMoreTokens())
{
tmp = st.nextToken();
tmp = st.nextToken();
if ( tmp.startsWith( "power" ) )
{
power = (double) Integer.parseInt(st.nextToken());
block = (int) Math.pow(2,power);
}
else
{
block = Long.parseLong(tmp,10);
}
address_limit = (block * virtPageNum+1)-1;
}
if ( block < 64 || block > Math.pow(2,26))
{
System.out.println("MemoryManagement: pagesize is out of bounds");
System.exit(-1);
}
for (i = 0; i <= virtPageNum; i++)
{
Page page = (Page) memVector.elementAt(i);
page.high = (block * (i + 1))-1;
page.low = block * i;
}
}
if (line.startsWith("addressradix"))
{
StringTokenizer st = new StringTokenizer(line);
while (st.hasMoreTokens())
{
tmp = st.nextToken();
tmp = st.nextToken();
addressradix = Byte.parseByte(tmp);
if ( addressradix < 0 || addressradix > 20 )
{
System.out.println("MemoryManagement: addressradix out of bounds.");
System.exit(-1);
}
}
}
}
in.close();
} catch (IOException e) { /* Handle exceptions */ }
}
f = new File ( commands );
try
{
DataInputStream in = new DataInputStream(new FileInputStream(f));
while ((line = in.readLine()) != null)
{
if (line.startsWith("READ") || line.startsWith("WRITE"))
{
if (line.startsWith("READ"))
{
command = "READ";
}
if (line.startsWith("WRITE"))
{
command = "WRITE";
}
StringTokenizer st = new StringTokenizer(line);
tmp = st.nextToken();
tmp = st.nextToken();
if (tmp.startsWith("random"))
{
instructVector.addElement(new Instruction(command,Common.randomLong( address_limit )));
}
else
{
if ( tmp.startsWith( "bin" ) )
{
addr = Long.parseLong(st.nextToken(),2);
}
else if ( tmp.startsWith( "oct" ) )
{
addr = Long.parseLong(st.nextToken(),8);
}
else if ( tmp.startsWith( "hex" ) )
{
addr = Long.parseLong(st.nextToken(),16);
}
else
{
addr = Long.parseLong(tmp);
}
if (0 > addr || addr > address_limit)
{
System.out.println("MemoryManagement: " + addr + ", Address out of range in " + commands);
System.exit(-1);
}
instructVector.addElement(new Instruction(command,addr));
}
}
}
in.close();
} catch (IOException e) { /* Handle exceptions */ }
runcycles = instructVector.size();
if ( runcycles < 1 )
{
System.out.println("MemoryManagement: no instructions present for execution.");
System.exit(-1);
}
if ( doFileLog )
{
File trace = new File(output);
trace.delete();
}
runs = 0;
for (i = 0; i < virtPageNum; i++)
{
Page page = (Page) memVector.elementAt(i);
if ( page.physical != -1 )
{
map_count++;
}
for (j = 0; j < virtPageNum; j++)
{
Page tmp_page = (Page) memVector.elementAt(j);
if (tmp_page.physical == page.physical && page.physical >= 0)
{
physical_count++;
}
}
if (physical_count > 1)
{
System.out.println("MemoryManagement: Duplicate physical page's in " + config);
System.exit(-1);
}
physical_count = 0;
}
if ( map_count < ( virtPageNum +1 ) / 2 )
{
for (i = 0; i < virtPageNum; i++)
{
Page page = (Page) memVector.elementAt(i);
if ( page.physical == -1 && map_count < ( virtPageNum + 1 ) / 2 )
{
page.physical = i;
map_count++;
}
}
}
for (i = 0; i < virtPageNum; i++)
{
Page page = (Page) memVector.elementAt(i);
if (page.physical == -1)
{
controlPanel.removePhysicalPage( i );
}
else
{
controlPanel.addPhysicalPage( i , page.physical );
}
}
for (i = 0; i < instructVector.size(); i++)
{
high = block * virtPageNum;
Instruction instruct = ( Instruction ) instructVector.elementAt( i );
if ( instruct.addr < 0 || instruct.addr > high )
{
System.out.println("MemoryManagement: Instruction (" + instruct.inst + " " + instruct.addr + ") out of bounds.");
System.exit(-1);
}
}
}
public void setControlPanel(ControlPanel newControlPanel)
{
controlPanel = newControlPanel ;
}
public void getPage(int pageNum)
{
Page page = ( Page ) memVector.elementAt( pageNum );
controlPanel.paintPage( page );
}
private void printLogFile(String message)
{
String line;
String temp = "";
File trace = new File(output);
if (trace.exists())
{
try
{
DataInputStream in = new DataInputStream( new FileInputStream( output ) );
while ((line = in.readLine()) != null) {
temp = temp + line + lineSeparator;
}
in.close();
}
catch ( IOException e )
{
/* Do nothing */
}
}
try
{
PrintStream out = new PrintStream( new FileOutputStream( output ) );
out.print( temp );
out.print( message );
out.close();
}
catch (IOException e)
{
/* Do nothing */
}
}
public void run()
{
step();
while (runs != runcycles)
{
try
{
Thread.sleep(2000);
}
catch(InterruptedException e)
{
/* Do nothing */
}
step();
}
}
public void step()
{
int i = 0;
Instruction instruct = ( Instruction ) instructVector.elementAt( runs );
controlPanel.instructionValueLabel.setText( instruct.inst );
controlPanel.addressValueLabel.setText( Long.toString( instruct.addr , addressradix ) );
getPage( Virtual2Physical.pageNum( instruct.addr , virtPageNum , block ) );
if ( controlPanel.pageFaultValueLabel.getText() == "YES" )
{
controlPanel.pageFaultValueLabel.setText( "NO" );
}
if ( instruct.inst.startsWith( "READ" ) )
{
Page page = ( Page ) memVector.elementAt( Virtual2Physical.pageNum( instruct.addr , virtPageNum , block ) );
if ( page.physical == -1 )
{
if ( doFileLog )
{
printLogFile( "READ " + Long.toString(instruct.addr , addressradix) + " ... page fault" );
}
if ( doStdoutLog )
{
System.out.println( "READ " + Long.toString(instruct.addr , addressradix) + " ... page fault" );
}
PageFault.replacePage( memVector , virtPageNum , Virtual2Physical.pageNum( instruct.addr , virtPageNum , block ) , controlPanel );
controlPanel.pageFaultValueLabel.setText( "YES" );
}
else
{
page.R = 1;
page.lastTouchTime = 0;
if ( doFileLog )
{
printLogFile( "READ " + Long.toString( instruct.addr , addressradix ) + " ... okay" );
}
if ( doStdoutLog )
{
System.out.println( "READ " + Long.toString( instruct.addr , addressradix ) + " ... okay" );
}
}
}
if ( instruct.inst.startsWith( "WRITE" ) )
{
Page page = ( Page ) memVector.elementAt( Virtual2Physical.pageNum( instruct.addr , virtPageNum , block ) );
if ( page.physical == -1 )
{
if ( doFileLog )
{
printLogFile( "WRITE " + Long.toString(instruct.addr , addressradix) + " ... page fault" );
}
if ( doStdoutLog )
{
System.out.println( "WRITE " + Long.toString(instruct.addr , addressradix) + " ... page fault" );
}
PageFault.replacePage( memVector , virtPageNum , Virtual2Physical.pageNum( instruct.addr , virtPageNum , block ) , controlPanel ); controlPanel.pageFaultValueLabel.setText( "YES" );
}
else
{
page.M = 1;
page.lastTouchTime = 0;
if ( doFileLog )
{
printLogFile( "WRITE " + Long.toString(instruct.addr , addressradix) + " ... okay" );
}
if ( doStdoutLog )
{
System.out.println( "WRITE " + Long.toString(instruct.addr , addressradix) + " ... okay" );
}
}
}
for ( i = 0; i < virtPageNum; i++ )
{
Page page = ( Page ) memVector.elementAt( i );
if ( page.R == 1 && page.lastTouchTime == 10 )
{
page.R = 0;
}
if ( page.physical != -1 )
{
page.inMemTime = page.inMemTime + 10;
page.lastTouchTime = page.lastTouchTime + 10;
}
}
runs++;
controlPanel.timeValueLabel.setText( Integer.toString( runs*10 ) + " (ns)" );
}
public void reset() {
memVector.removeAllElements();
instructVector.removeAllElements();
controlPanel.statusValueLabel.setText( "STOP" ) ;
controlPanel.timeValueLabel.setText( "0" ) ;
controlPanel.instructionValueLabel.setText( "NONE" ) ;
controlPanel.addressValueLabel.setText( "NULL" ) ;
controlPanel.pageFaultValueLabel.setText( "NO" ) ;
controlPanel.virtualPageValueLabel.setText( "x" ) ;
controlPanel.physicalPageValueLabel.setText( "0" ) ;
controlPanel.RValueLabel.setText( "0" ) ;
controlPanel.MValueLabel.setText( "0" ) ;
controlPanel.inMemTimeValueLabel.setText( "0" ) ;
controlPanel.lastTouchTimeValueLabel.setText( "0" ) ;
controlPanel.lowValueLabel.setText( "0" ) ;
controlPanel.highValueLabel.setText( "0" ) ;
init( command_file , config_file );
}
}

View File

@ -0,0 +1,24 @@
default: info
help:
less README.tjk
compile:
javac -nowarn *.java
run:
java MemoryManagement commands memory.conf
setup:
./setUp
info:
@echo ""
@echo "Use 'make' with one argument:"
@echo ""
@echo " make help"
@echo " make compile"
@echo " make run"
@echo ""

Binary file not shown.

View File

@ -0,0 +1,61 @@
// The main MemoryManagement program, created by Alexander Reeder, 2000 Nov 19
import java.applet.*;
import java.awt.*;
import java.io.*;
import java.util.*;
public class MemoryManagement
{
public static void main(String[] args)
{
ControlPanel controlPanel;
Kernel kernel;
if ( args.length < 1 || args.length > 2 )
{
System.out.println( "Usage: 'java MemoryManagement <COMMAND FILE> <PROPERTIES FILE>'" );
System.exit( -1 );
}
File f = new File( args[0] );
if ( ! ( f.exists() ) )
{
System.out.println( "MemoryM: error, file '" + f.getName() + "' does not exist." );
System.exit( -1 );
}
if ( ! ( f.canRead() ) )
{
System.out.println( "MemoryM: error, read of " + f.getName() + " failed." );
System.exit( -1 );
}
if ( args.length == 2 )
{
f = new File( args[1] );
if ( ! ( f.exists() ) )
{
System.out.println( "MemoryM: error, file '" + f.getName() + "' does not exist." );
System.exit( -1 );
}
if ( ! ( f.canRead() ) )
{
System.out.println( "MemoryM: error, read of " + f.getName() + " failed." );
System.exit( -1 );
}
}
kernel = new Kernel();
controlPanel = new ControlPanel( "Memory Management" );
if ( args.length == 1 )
{
controlPanel.init( kernel , args[0] , null );
}
else
{
controlPanel.init( kernel , args[0] , args[1] );
}
}
}

Binary file not shown.

View File

@ -0,0 +1,24 @@
public class Page
{
public int id;
public int physical;
public byte R;
public byte M;
public int inMemTime;
public int lastTouchTime;
public long high;
public long low;
public Page( int id, int physical, byte R, byte M, int inMemTime, int lastTouchTime, long high, long low )
{
this.id = id;
this.physical = physical;
this.R = R;
this.M = M;
this.inMemTime = inMemTime;
this.lastTouchTime = lastTouchTime;
this.high = high;
this.low = low;
}
}

Binary file not shown.

View File

@ -0,0 +1,92 @@
/* It is in this file, specifically the replacePage function that will
be called by MemoryManagement when there is a page fault. The
users of this program should rewrite PageFault to implement the
page replacement algorithm.
*/
// This PageFault file is an example of the FIFO Page Replacement
// Algorithm as described in the Memory Management section.
import java.util.*;
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.
* <pre>
* Page page = ( Page ) mem.elementAt( oldestPage )
* </pre>
* This line brings the contents of the Page at oldestPage (a
* specified integer) from the mem vector into the page object.
* Next recall the contents of the target page, replacePageNum.
* Set the physical memory address of the page to be added equal
* to the page to be removed.
* <pre>
* controlPanel.removePhysicalPage( oldestPage )
* </pre>
* Once a page is removed from memory it must also be reflected
* graphically. This line does so by removing the physical page
* at the oldestPage value. The page which will be added into
* memory must also be displayed through the addPhysicalPage
* function call. One must also remember to reset the values of
* the page which has just been removed from memory.
*
* @param mem is the vector which contains the contents of the pages
* in memory being simulated. mem should be searched to find the
* proper page to remove, and modified to reflect any changes.
* @param virtPageNum is the number of virtual pages in the
* simulator (set in Kernel.java).
* @param replacePageNum is the requested page which caused the
* page fault.
* @param controlPanel represents the graphical element of the
* simulator, and allows one to modify the current display.
*/
public static void replacePage ( Vector mem , int virtPageNum , int replacePageNum , ControlPanel controlPanel )
{
int count = 0;
int oldestPage = -1;
int oldestTime = 0;
int firstPage = -1;
int map_count = 0;
boolean mapped = false;
while ( ! (mapped) || count != virtPageNum ) {
Page page = ( Page ) mem.elementAt( count );
if ( page.physical != -1 ) {
if (firstPage == -1) {
firstPage = count;
}
if (page.inMemTime > oldestTime) {
oldestTime = page.inMemTime;
oldestPage = count;
mapped = true;
}
}
count++;
if ( count == virtPageNum ) {
mapped = true;
}
}
if (oldestPage == -1) {
oldestPage = firstPage;
}
Page page = ( Page ) mem.elementAt( oldestPage );
Page nextpage = ( Page ) mem.elementAt( replacePageNum );
controlPanel.removePhysicalPage( oldestPage );
nextpage.physical = page.physical;
controlPanel.addPhysicalPage( nextpage.physical , replacePageNum );
page.inMemTime = 0;
page.lastTouchTime = 0;
page.R = 0;
page.M = 0;
page.physical = -1;
}
}

View File

@ -0,0 +1,45 @@
WORKPLACE ORGANIZATION:
mkdir ../work
cd ../work
cp ../ftp/* .
gzip -d memory.tgz
tar -xvf memory.tar
rm memory.tar
READING:
more/less/vi/vim README.tjk
netscape/lynx/links install_unix.html
netscape/lynx/links user_guide.html
COMPILE:
javac -nowarn *.java
RUN:
java MemoryManagement commands memory.conf
FILES:
input file name: commands
initial content of the VM map: memory.conf
output file name: tracefile
--[ YOUR TASK ]-------------------------------------------------------
Create a command file that maps any 8 pages of physical memory to the
first 8 pages of virtual memory, and then reads from one virtual memory
address on each of the 64 virtual pages. Step through the simulator one
operation at a time and see if you can predict which virtual memory
addresses cause page faults. What page replacement algorithm is being
used?
Locate in the sources and describe to the instructor the page
replacement algorithm.
----------------------------------------------------------------------

Binary file not shown.

View File

@ -0,0 +1,22 @@
import java.util.Vector;
public class Virtual2Physical
{
public static int pageNum ( long memaddr , int numpages , long block )
{
int i = 0;
long high = 0;
long low = 0;
for (i = 0; i <= numpages; i++)
{
low = block * i;
high = block * ( i + 1 );
if ( low <= memaddr && memaddr < high )
{
return i;
}
}
return -1;
}
}

View File

@ -0,0 +1,11 @@
// Enter READ/WRITE commands into this file
// READ <OPTIONAL number type: bin/hex/oct> <virtual memory address or random>
// WRITE <OPTIONAL number type: bin/hex/oct> <virtual memory address or random>
READ bin 100
READ 19
WRITE hex CC32
READ bin 100000000000000
READ bin 100000000000000
WRITE bin 110000000000001
WRITE random

View File

@ -0,0 +1,340 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

View File

@ -0,0 +1,410 @@
<html>
<head>
<title>MOSS | Memory Management Simlulator | Installation |
Unix
</title>
</head>
<body bgcolor="#ffffff">
<h1>MOSS Memory Management Simulator
<br>Installation on Unix/Linux/Solaris/HP-UX Systems</h1>
<h2>Purpose</h2>
<p>
This document provides instructions for the installation
of the MOSS Memory Management Simulator on
Unix
operating systems. This procedure should be the same or similar on
Unix, Linux, Solaris, HP-UX and other Unix-compatible
systems.
The MOSS software
is designed for use with
<a href="http://www.cs.vu.nl/~ast/">Andrew S. Tanenbaum</a>,
<a href="http://vig.prenhall.com/catalog/academic/product/1,4096,0130313580,00.html">Modern Operating Systems, 2nd Edition</a>
(<a href="http://www.prenhall.com/">Prentice Hall</a>, 2001).
The Memory Management Simulator was written by
<a href="http://www.cs.earlham.edu/~odo/">Alex Reeder</a>
(<a href="mailto:alexr@e-sa.org"><i>alexr@e-sa.org</i></a>).
This installation guide was written by
<a href="http://www.ontko.com/~rayo/">Ray Ontko</a>
(<a href="mailto:rayo@ontko.com"><i>rayo@ontko.com</i></a>).
<p>
This installation guide only provides information about
installing the software and testing the configuration for
Unix-like operating systems. To install on Windows
operating systems, please read the
<a href="install_windows.html">Installation Guide for Win95/98/Me/NT/2000 Systems</a>.
For more detailed information about the simulator, please
read the <a href="user_guide.html">User Guide</a>.
</p>
<h2>Requirements</h2>
The following software components are required
to install and use the MOSS Memory Management
Simulator.
<ul>
<li>X-windows environment for running Java Application Window Toolkit (AWT) programs
<li>Java Development Kit (JDK) 1.0 or greater
<li>Text program editor (e.g., notepad)
</ul>
<h2>Pre-Installation</h2>
<p>
Before installation, you should verify:
</p>
<ul>
<li>that you have a working java runtime environment,
<li>that you have a working java development environment, and
<li>that the working directory is in the classpath for the runtime environment.
</ul>
<p>
If you're using a standard command-line java compiler, the following
instructions will help determine if your environment is configured
correctly.
</p>
<ol>
<li>Verify that you have java installed and configured in your environment.
<blockquote><pre>
$ java -version
</pre></blockquote>
You should see a message like this with possibly a different version number.
<blockquote><pre>
java version "1.1.8"
</pre></blockquote>
If you get a message like:
<blockquote><pre>
java: Command not found.
</pre></blockquote>
Then java may not be installed on your system, or may not be configured
for your use.
<p>
If you think that Java may already be installed on your system
but may not be in your "path", you can find it by
<blockquote><pre>
$ find /usr -name java -print
</pre></blockquote>
On my system, for example, the following is returned.
<blockquote><pre>
/usr/lib/netscape/477/communicator/java
/usr/lib/netscape/477/netscape/java
/usr/lib/jdk1.1/bin/java
/usr/lib/jdk1.1/bin/ia32/green_threads/java
/usr/share/java
/usr/bin/java
/usr/src/kernel-source-2.2.17/include/config/binfmt/java
</pre></blockquote>
On my system, I also searched for "javac" and found
that it exists in /usr/bin/java. I'll use this jdk for my
installation.
<p>
If Java isn't available on your system, you should check with
your instructor or system administrator. If you administer your
own system, then you should be able to find a copy of Java
for your operating system.
<p>
If you find that java is installed but not configured for
your use, then perhaps you need to add it to your path. Consult
your instructor or system administrator if you need help adding this
to your path.
</p>
<p><!-- --></p>
<li>Verify that the java compiler is installed and configured in
your environment.
<blockquote><pre>
$ javac
</pre></blockquote>
If you're using a standard java command-line compiler, you should
see a message similar to this.
<blockquote><pre>
use: javac [-g][-O][-debug][-depend][-nowarn][-verbose][-classpath path][-nowrite][-deprecation][-d dir][-J<runtime flag>] file.java...
</pre></blockquote>
If you get a message like:
<blockquote><pre>
javac: Command not found.
</pre></blockquote>
then the java compiler may not be installed on your system, or
may not be configured for your use. Consult your instructor
or system administrator.
<p><!-- --></p>
<li>Verify that that the current directory is in your classpath.
<blockquote><pre>
$ echo $CLASSPATH
</pre></blockquote>
You should see a list of directories separated by colons (":")
or possibly just a blank line. If you don't see the directory
"." (a single period, which stands for the current directory), then
you should add it to the claspath.
<p>
Determine which shell you're using:
</p>
<blockquote><pre>
$ echo $SHELL
</pre></blockquote>
<p>
If you're using sh, ksh, or bash:
</p>
<blockquote><pre>
$ CLASSPATH=.:$CLASSPATH
$ export CLASSPATH
</pre></blockquote>
<p>
If you're using csh, or tcsh:
</p>
<blockquote><pre>
% set CLASSPATH=.:$CLASSPATH
</pre></blockquote>
<p><!-- --></p>
</ol>
<p>
If you have a working java runtime environment, a working java
compiler, and the current directory is in your path, then you're
ready to proceed with the installation.
</p>
<h2>Installation</h2>
Installation of the software can be accomplished with
these simple steps:
<ol>
<li>
Create a directory in which you wish to install the
simulator (e.g., "moss/memory").
<blockquote><pre>
$ cd
$ mkdir moss
$ cd moss
$ mkdir memory
$ cd memory
</pre></blockquote>
<p><!-- --></p>
<li>
Download the compressed tar archive (memory.tgz) into
the directory.
The latest release for this file can always be found at
<a href="http://www.ontko.com/moss/memory/memory.tgz">http://www.ontko.com/moss/memory/memory.tgz</a>.
<p><!-- --></p>
<li>
Expand the compressed tar archive.
<blockquote><pre>
$ tar -xzf memory.tgz
</pre></blockquote>
or
<blockquote><pre>
$ gunzip memory.tgz
$ tar xf memory.tar
</pre></blockquote>
<p><!-- --></p>
</ol>
<h2>Files</h2>
<p>
The directory should now contain the following files:
</p>
<table border="1" cellspacing="0">
<tr>
<th>Files
<th>Description
<tr>
<td>
memory.tgz
<td>Compressed tar
archive which contains all the other files.
<tr>
<td>Common.java
<br>ControlPanel.java
<br>Instruction.java
<br>Kernel.java
<br>MemoryManagement.java
<br>PageFault.java
<br>Page.java
<br>Virtual2Physical.java
<td valign="top">
Java source files (*.java)
<tr>
<td>Common.class
<br>ControlPanel.class
<br>Instruction.class
<br>Kernel.class
<br>MemoryManagement.class
<br>PageFault.class
<br>Page.class
<br>Virtual2Physical.class
<td valign="top">
Compiled Java class files (*.class)
<tr>
<td>commands
<td>Sample input command file
<tr>
<td>memory.conf
<td>Sample configuration file
<tr>
<td>install_unix.html
<br>install_windows.html
<br>user_guide.html
<br>user_guide_1.gif
<td valign="top">
Documentation and associated images
<tr>
<td>copying.txt</td>
<td>Gnu General Public License: Terms and Conditions
for Copying, Distribution, and Modification
</table>
<h2>Compilation</h2>
<p>
The distribution includes compiled class files as
well as the source java files. You should not need
to recompile unless you decide to change the code.
If you wish to compile the code,
the following commands should work if you're using
a Java compiler that accepts the normal "javac" command
line.
<blockquote><pre>
$ javac -nowarn *.java
</pre></blockquote>
The <tt>-nowarn</tt> flag supresses warning messges, of which
there may be several. For backward compatability we use only
those features of Java which have been present from the beginning,
some of which are deprecated and are usually reported by the
compiler with warning messages.
<h2>Test</h2>
<p>
To test the program, enter the following command line.
<blockquote><pre>
$ java MemoryManagement commands memory.conf
</pre></blockquote>
<p>
The program will display a window allowing you to run the
simulator.
When the window presents itself, click on the Run
button.
You should see the
program "execute" 7 memory operations, about one per second.
When the simulation completes, click the
Exit button.
<p>
The memory operation commands are read from a file called
"commands",
and the initial configuration and various options are
specified in the file "memory.conf".
The program also produces a log file called "tracefile"
in the working directory.
<p>
The "commands" file looks something like this:
<blockquote><pre>
// Enter READ/WRITE commands into this file
// READ &lt;OPTIONAL number type: bin/hex/oct&gt; &lt;virtual memory address or random&gt;
// WRITE &lt;OPTIONAL number type: bin/hex/oct&gt; &lt;virtual memory address or random&gt;
READ bin 100
READ 19
WRITE hex CC32
READ bin 10000000000000000
READ bin 10000000000000000
WRITE bin 11000000000000001
WRITE random
</pre></blockquote>
<p>
If things are working correctly, the "tracefile" should look
something like this:
<blockquote><pre>
READ 4 ... okay
READ 13 ... okay
WRITE 3acc32 ... okay
READ 10000000 ... okay
READ 10000000 ... okay
WRITE c0001000 ... page fault
WRITE 1ff82cdc ... okay
</pre></blockquote>
<p>
The program and its input and output files are described
more fully in the <i>MOSS Memory Management Simulator
<a href="user_guide.html">User Guide</a></i>.
<p>
&copy; Copyright 2001, Prentice-Hall, Inc.
This program is free software; it is distributed under the
terms of the Gnu General Public License.
See <a href="copying.txt">copying.txt</a>,
included with this distribution.
<p>
Please send suggestions, corrections, and comments to
Ray Ontko (<A href="mailto:rayo@ontko.com"><i>rayo@ontko.com</i></a>).
<p>
<i>Last updated: July 28, 2001</i>
</body>
</html>

View File

@ -0,0 +1,385 @@
<html>
<head>
<title>MOSS | Memory Management Simlulator | Installation |
Windows
</title>
</head>
<body bgcolor="#ffffff">
<h1>MOSS Memory Management Simulator
<br>Installation on Windows 95/98/Me/NT/2000 Systems</h1>
<h2>Purpose</h2>
<p>
This document provides instructions for the installation
of the MOSS Memory Management Simulator on
Microsoft Windows
operating systems. This procedure should be the same or similar on
Windows 95, 98, Me, NT, and 2000
systems.
The MOSS software
is designed for use with
<a href="http://www.cs.vu.nl/~ast/">Andrew S. Tanenbaum</a>,
<a href="http://vig.prenhall.com/catalog/academic/product/1,4096,0130313580,00.html">Modern Operating Systems, 2nd Edition</a>
(<a href="http://www.prenhall.com/">Prentice Hall</a>, 2001).
The Memory Management Simulator was written by
<a href="http://www.cs.earlham.edu/~odo/">Alex Reeder</a>
(<a href="mailto:alexr@e-sa.org"><i>alexr@e-sa.org</i></a>).
This installation guide was written by
<a href="http://www.ontko.com/~rayo/">Ray Ontko</a>
(<a href="mailto:rayo@ontko.com"><i>rayo@ontko.com</i></a>).
<p>
This installation guide only provides information about
installing the software and testing the configuration for
Windows operating systems. To install on Unix-like
operating systems, please read the
<a href="install_unix.html">Installation Guide for Unix/Linux/Solaris/HP-UX Systems</a>.
For more detailed information about the simulator, please
read the <a href="user_guide.html">User Guide</a>.
</p>
<h2>Requirements</h2>
The following software components are required
to install and use the MOSS Memory Management
Simulator.
<ul>
<li>Microsoft Windows 95, 98, Me, NT, or 2000
<li>Java Development Kit (JDK) 1.0 or greater
<li>Text program editor (e.g., notepad)
</ul>
<h2>Pre-Installation</h2>
<p>
Before installation, you should verify:
</p>
<ul>
<li>that you have a working java runtime environment,
<li>that you have a working java development environment, and
<li>that the working directory is in the classpath for the runtime environment.
</ul>
<p>
If you're using a standard command-line java compiler, the following
instructions will help determine if your environment is configured
correctly.
</p>
<ol>
<li>Verify that you have java installed and configured in your environment.
<blockquote><pre>
C:\WINDOWS> java -version
</pre></blockquote>
You should see a message like this with possibly a different version number.
<blockquote><pre>
java version "1.1.8"
</pre></blockquote>
If you get a message like:
<blockquote><pre>
Bad command or file name
</pre></blockquote>
Then java may not be installed on your system, or may not be configured
for your use.
<p>
If you think that Java may already be installed on your system
but may not be in your "path", you can find it by
choosing Start -> Find -> Files or Folders
and enter "java.exe" in the "Named:" field and click the Find Now button.
If found, make note of the directory folder in which it resides (e.g.,
"C:\jdk1.1.8\bin").
<p>
While you're at it, also seach for javac.exe to see if the Java
compiler is installed and whether it's in the same directory as
the java.exe file.
<p>
If Java isn't available on your system, you should check with
your instructor or system administrator. If you administer your
own system, then you should be able to find a copy of Java
for your operating system.
<p>
If you find that java is installed but not configured for
your use, then perhaps you need to add it to your path. Consult
your instructor or system administrator if you need help adding this
to your path.
</p>
<p><!-- --></p>
<li>Verify that the java compiler is installed and configured in
your environment.
<blockquote><pre>
C:\WINDOWS> javac
</pre></blockquote>
If you're using a standard java command-line compiler, you should
see a message similar to this.
<blockquote><pre>
use: javac [-g][-O][-debug][-depend][-nowarn][-verbose][-classpath path][-nowrite][-deprecation][-d dir][-J<runtime flag>] file.java...
</pre></blockquote>
If you get a message like:
<blockquote><pre>
Bad command or file name
</pre></blockquote>
then the java compiler may not be installed on your system, or
may not be configured for your use. Consult your instructor
or system administrator.
<p><!-- --></p>
<li>Verify that that the current directory is in your classpath.
<blockquote><pre>
C:\WINDOWS> echo "%CLASSPATH%"
</pre></blockquote>
You should see a list of directories separated by semi-colons (";")
or possibly just "". If you don't see the directory "." (a single
period, which stands for the current directory), then you should
add it to the classpath.
<blockquote><pre>
C:\WINDOWS> set CLASSPATH=.;%CLASSPATH%
</pre></blockquote>
<p><!-- --></p>
</ol>
<p>
If you have a working java runtime environment, a working java
compiler, and the current directory is in your path, then you're
ready to proceed with the installation.
</p>
<h2>Installation</h2>
Installation of the software can be accomplished with
these simple steps:
<ol>
<li>
Create a directory folder in which you wish to install
the simulator (e.g., "C:\moss\memory"). You can do
this using the Windows explorer, or from the MS-DOS
prompt. To create the directory from the MS-DOS
prompt:
<blockquote><pre>
C:\WINDOWS> cd \&nbsp;
C:\> mkdir moss
C:\> cd moss
C:\moss> mkdir memory
C:\moss> cd memory
C:\moss\memory>
</pre></blockquote>
<p><!-- --></p>
<li>
Download the self-extracting ZIP archive (memory.exe) into
the directory folder.
The latest release for this file can always be found at
<a href="http://www.ontko.com/moss/memory/memory.exe">http://www.ontko.com/moss/memory/memory.exe</a>.
<p><!-- --></p>
<li>
Double-click on the file you downloaded (memory.exe),
or invoke it using Start -> Run..., or invoke it
from an MS-DOS command prompt:
<blockquote><pre>
C:\moss\memory> memory.exe
</pre></blockquote>
<p><!-- --></p>
</ol>
<h2>Files</h2>
<p>
The directory should now contain the following files:
</p>
<table border="1" cellspacing="0">
<tr>
<th>Files
<th>Description
<tr>
<td>
memory.exe
<td>Self-extracting ZIP
archive which contains all the other files.
<tr>
<td>Common.java
<br>ControlPanel.java
<br>Instruction.java
<br>Kernel.java
<br>MemoryManagement.java
<br>PageFault.java
<br>Page.java
<br>Virtual2Physical.java
<td valign="top">
Java source files (*.java)
<tr>
<td>Common.class
<br>ControlPanel.class
<br>Instruction.class
<br>Kernel.class
<br>MemoryManagement.class
<br>PageFault.class
<br>Page.class
<br>Virtual2Physical.class
<td valign="top">
Compiled Java class files (*.class)
<tr>
<td>commands
<td>Sample input command file
<tr>
<td>memory.conf
<td>Sample configuration file
<tr>
<td>install_unix.html
<br>install_windows.html
<br>user_guide.html
<br>user_guide_1.gif
<td valign="top">
Documentation and associated images
<tr>
<td>copying.txt</td>
<td>Gnu General Public License: Terms and Conditions
for Copying, Distribution, and Modification
</table>
<h2>Compilation</h2>
<p>
The distribution includes compiled class files as
well as the source java files. You should not need
to recompile unless you decide to change the code.
If you wish to compile the code,
the following commands should work if you're using
a Java compiler that accepts the normal "javac" command
line.
<blockquote><pre>
C:\moss\memory> javac -nowarn *.java
</pre></blockquote>
The <tt>-nowarn</tt> flag supresses warning messges, of which
there may be several. For backward compatability we use only
those features of Java which have been present from the beginning,
some of which are deprecated and are usually reported by the
compiler with warning messages.
<h2>Test</h2>
<p>
To test the program, enter the following command line.
<blockquote><pre>
C:\moss\memory> java MemoryManagement commands memory.conf
</pre></blockquote>
<p>
The program will display a window allowing you to run the
simulator.
When the window presents itself, click on the Run
button.
You should see the
program "execute" 7 memory operations, about one per second.
When the simulation completes, click the
Exit button.
<p>
The memory operation commands are read from a file called
"commands",
and the initial configuration and various options are
specified in the file "memory.conf".
The program also produces a log file called "tracefile"
in the working directory.
<p>
The "commands" file looks something like this:
<blockquote><pre>
// Enter READ/WRITE commands into this file
// READ &lt;OPTIONAL number type: bin/hex/oct&gt; &lt;virtual memory address or random&gt;
// WRITE &lt;OPTIONAL number type: bin/hex/oct&gt; &lt;virtual memory address or random&gt;
READ bin 100
READ 19
WRITE hex CC32
READ bin 10000000000000000
READ bin 10000000000000000
WRITE bin 11000000000000001
WRITE random
</pre></blockquote>
<p>
If things are working correctly, the "tracefile" should look
something like this:
<blockquote><pre>
READ 4 ... okay
READ 13 ... okay
WRITE 3acc32 ... okay
READ 10000000 ... okay
READ 10000000 ... okay
WRITE c0001000 ... page fault
WRITE 1ff82cdc ... okay
</pre></blockquote>
<p>
The program and its input and output files are described
more fully in the <i>MOSS Memory Management Simulator
<a href="user_guide.html">User Guide</a></i>.
<p>
&copy; Copyright 2001, Prentice-Hall, Inc.
This program is free software; it is distributed under the
terms of the Gnu General Public License.
See <a href="copying.txt">copying.txt</a>,
included with this distribution.
<p>
Please send suggestions, corrections, and comments to
Ray Ontko (<A href="mailto:rayo@ontko.com"><i>rayo@ontko.com</i></a>).
<p>
<i>Last updated: July 28, 2001</i>
</body>
</html>

View File

@ -0,0 +1,274 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<!--NewPage-->
<html>
<head>
<!-- Generated by javadoc on Mon Nov 19 12:24:52 EST 2001 -->
<title>
Index of all Fields and Methods
</title>
</head>
<body>
<a name="_top_"></a>
<pre><a href="packages.html">All Packages</a> <a href="tree.html">Class Hierarchy</a></pre><hr>
<a href="#Thumb-A">A</a>
<a href="#Thumb-B">B</a>
<a href="#Thumb-C">C</a>
<a href="#Thumb-D">D</a>
<a href="#Thumb-E">E</a>
<a href="#Thumb-F">F</a>
<a href="#Thumb-G">G</a>
<a href="#Thumb-H">H</a>
<a href="#Thumb-I">I</a>
<a href="#Thumb-J">J</a>
<a href="#Thumb-K">K</a>
<a href="#Thumb-L">L</a>
<a href="#Thumb-M">M</a>
<a href="#Thumb-N">N</a>
<a href="#Thumb-O">O</a>
<a href="#Thumb-P">P</a>
<a href="#Thumb-Q">Q</a>
<a href="#Thumb-R">R</a>
<a href="#Thumb-S">S</a>
<a href="#Thumb-T">T</a>
<a href="#Thumb-U">U</a>
<a href="#Thumb-V">V</a>
<a href="#Thumb-W">W</a>
<a href="#Thumb-X">X</a>
<a href="#Thumb-Y">Y</a>
<a href="#Thumb-Z">Z</a>
<hr>
<h1>
Index of all Fields and Methods
</h1>
<a name="Thumb-A"></a>
<h2>
<a name="Thumb-A"><b> A </b></a>
</h2>
<dl>
<dt> <a href="ControlPanel.html#action(java.awt.Event, java.lang.Object)"><b>action</b></a>(Event, Object).
Method in class <a href="ControlPanel.html#_top_">ControlPanel</a>
<dd>
<dt> <a href="ControlPanel.html#addPhysicalPage(int, int)"><b>addPhysicalPage</b></a>(int, int).
Method in class <a href="ControlPanel.html#_top_">ControlPanel</a>
<dd>
<dt> <a href="Instruction.html#addr"><b>addr</b></a>.
Variable in class <a href="Instruction.html#_top_">Instruction</a>
<dd>
<dt> <a href="Kernel.html#addressradix"><b>addressradix</b></a>.
Static variable in class <a href="Kernel.html#_top_">Kernel</a>
<dd>
</dl>
<a name="Thumb-B"></a>
<hr>
<h2>
<a name="Thumb-B"><b> B </b></a>
</h2>
<dl>
<dt> <a href="Kernel.html#block"><b>block</b></a>.
Variable in class <a href="Kernel.html#_top_">Kernel</a>
<dd>
</dl>
<a name="Thumb-C"></a>
<hr>
<h2>
<a name="Thumb-C"><b> C </b></a>
</h2>
<dl>
<dt> <a href="Common.html#Common()"><b>Common</b></a>().
Constructor for class <a href="Common.html#_top_">Common</a>
<dd>
<dt> <a href="ControlPanel.html#ControlPanel()"><b>ControlPanel</b></a>().
Constructor for class <a href="ControlPanel.html#_top_">ControlPanel</a>
<dd>
<dt> <a href="ControlPanel.html#ControlPanel(java.lang.String)"><b>ControlPanel</b></a>(String).
Constructor for class <a href="ControlPanel.html#_top_">ControlPanel</a>
<dd>
</dl>
<a name="Thumb-D"></a>
<a name="Thumb-E"></a>
<a name="Thumb-F"></a>
<a name="Thumb-G"></a>
<hr>
<h2>
<a name="Thumb-G"><b> G </b></a>
</h2>
<dl>
<dt> <a href="Kernel.html#getPage(int)"><b>getPage</b></a>(int).
Method in class <a href="Kernel.html#_top_">Kernel</a>
<dd>
</dl>
<a name="Thumb-H"></a>
<hr>
<h2>
<a name="Thumb-H"><b> H </b></a>
</h2>
<dl>
<dt> <a href="Page.html#high"><b>high</b></a>.
Variable in class <a href="Page.html#_top_">Page</a>
<dd>
</dl>
<a name="Thumb-I"></a>
<hr>
<h2>
<a name="Thumb-I"><b> I </b></a>
</h2>
<dl>
<dt> <a href="Page.html#id"><b>id</b></a>.
Variable in class <a href="Page.html#_top_">Page</a>
<dd>
<dt> <a href="ControlPanel.html#init(Kernel, java.lang.String, java.lang.String)"><b>init</b></a>(Kernel, String, String).
Method in class <a href="ControlPanel.html#_top_">ControlPanel</a>
<dd>
<dt> <a href="Kernel.html#init(java.lang.String, java.lang.String)"><b>init</b></a>(String, String).
Method in class <a href="Kernel.html#_top_">Kernel</a>
<dd>
<dt> <a href="Page.html#inMemTime"><b>inMemTime</b></a>.
Variable in class <a href="Page.html#_top_">Page</a>
<dd>
<dt> <a href="Instruction.html#inst"><b>inst</b></a>.
Variable in class <a href="Instruction.html#_top_">Instruction</a>
<dd>
<dt> <a href="Instruction.html#Instruction(java.lang.String, long)"><b>Instruction</b></a>(String, long).
Constructor for class <a href="Instruction.html#_top_">Instruction</a>
<dd>
</dl>
<a name="Thumb-J"></a>
<a name="Thumb-K"></a>
<hr>
<h2>
<a name="Thumb-K"><b> K </b></a>
</h2>
<dl>
<dt> <a href="Kernel.html#Kernel()"><b>Kernel</b></a>().
Constructor for class <a href="Kernel.html#_top_">Kernel</a>
<dd>
</dl>
<a name="Thumb-L"></a>
<hr>
<h2>
<a name="Thumb-L"><b> L </b></a>
</h2>
<dl>
<dt> <a href="Page.html#lastTouchTime"><b>lastTouchTime</b></a>.
Variable in class <a href="Page.html#_top_">Page</a>
<dd>
<dt> <a href="Page.html#low"><b>low</b></a>.
Variable in class <a href="Page.html#_top_">Page</a>
<dd>
</dl>
<a name="Thumb-M"></a>
<hr>
<h2>
<a name="Thumb-M"><b> M </b></a>
</h2>
<dl>
<dt> <a href="Page.html#M"><b>M</b></a>.
Variable in class <a href="Page.html#_top_">Page</a>
<dd>
<dt> <a href="MemoryManagement.html#main(java.lang.String[])"><b>main</b></a>(String[]).
Static method in class <a href="MemoryManagement.html#_top_">MemoryManagement</a>
<dd>
<dt> <a href="MemoryManagement.html#MemoryManagement()"><b>MemoryManagement</b></a>().
Constructor for class <a href="MemoryManagement.html#_top_">MemoryManagement</a>
<dd>
</dl>
<a name="Thumb-N"></a>
<a name="Thumb-O"></a>
<a name="Thumb-P"></a>
<hr>
<h2>
<a name="Thumb-P"><b> P </b></a>
</h2>
<dl>
<dt> <a href="Page.html#Page(int, int, byte, byte, int, int, long, long)"><b>Page</b></a>(int, int, byte, byte, int, int, long, long).
Constructor for class <a href="Page.html#_top_">Page</a>
<dd>
<dt> <a href="PageFault.html#PageFault()"><b>PageFault</b></a>().
Constructor for class <a href="PageFault.html#_top_">PageFault</a>
<dd>
<dt> <a href="Virtual2Physical.html#pageNum(long, int, long)"><b>pageNum</b></a>(long, int, long).
Static method in class <a href="Virtual2Physical.html#_top_">Virtual2Physical</a>
<dd>
<dt> <a href="ControlPanel.html#paintPage(Page)"><b>paintPage</b></a>(Page).
Method in class <a href="ControlPanel.html#_top_">ControlPanel</a>
<dd>
<dt> <a href="Page.html#physical"><b>physical</b></a>.
Variable in class <a href="Page.html#_top_">Page</a>
<dd>
</dl>
<a name="Thumb-Q"></a>
<a name="Thumb-R"></a>
<hr>
<h2>
<a name="Thumb-R"><b> R </b></a>
</h2>
<dl>
<dt> <a href="Page.html#R"><b>R</b></a>.
Variable in class <a href="Page.html#_top_">Page</a>
<dd>
<dt> <a href="Common.html#randomLong(long)"><b>randomLong</b></a>(long).
Static method in class <a href="Common.html#_top_">Common</a>
<dd>
<dt> <a href="ControlPanel.html#removePhysicalPage(int)"><b>removePhysicalPage</b></a>(int).
Method in class <a href="ControlPanel.html#_top_">ControlPanel</a>
<dd>
<dt> <a href="PageFault.html#replacePage(java.util.Vector, int, int, ControlPanel)"><b>replacePage</b></a>(Vector, int, int, ControlPanel).
Static method in class <a href="PageFault.html#_top_">PageFault</a>
<dd> The page replacement algorithm for the memory management sumulator.
<dt> <a href="Kernel.html#reset()"><b>reset</b></a>().
Method in class <a href="Kernel.html#_top_">Kernel</a>
<dd>
<dt> <a href="Kernel.html#run()"><b>run</b></a>().
Method in class <a href="Kernel.html#_top_">Kernel</a>
<dd>
<dt> <a href="Kernel.html#runcycles"><b>runcycles</b></a>.
Variable in class <a href="Kernel.html#_top_">Kernel</a>
<dd>
<dt> <a href="Kernel.html#runs"><b>runs</b></a>.
Variable in class <a href="Kernel.html#_top_">Kernel</a>
<dd>
</dl>
<a name="Thumb-S"></a>
<hr>
<h2>
<a name="Thumb-S"><b> S </b></a>
</h2>
<dl>
<dt> <a href="Common.html#s2b(java.lang.String)"><b>s2b</b></a>(String).
Static method in class <a href="Common.html#_top_">Common</a>
<dd>
<dt> <a href="Common.html#s2i(java.lang.String)"><b>s2i</b></a>(String).
Static method in class <a href="Common.html#_top_">Common</a>
<dd>
<dt> <a href="Common.html#s2l(java.lang.String)"><b>s2l</b></a>(String).
Static method in class <a href="Common.html#_top_">Common</a>
<dd>
<dt> <a href="Kernel.html#setControlPanel(ControlPanel)"><b>setControlPanel</b></a>(ControlPanel).
Method in class <a href="Kernel.html#_top_">Kernel</a>
<dd>
<dt> <a href="ControlPanel.html#setStatus(java.lang.String)"><b>setStatus</b></a>(String).
Method in class <a href="ControlPanel.html#_top_">ControlPanel</a>
<dd>
<dt> <a href="Kernel.html#step()"><b>step</b></a>().
Method in class <a href="Kernel.html#_top_">Kernel</a>
<dd>
</dl>
<a name="Thumb-T"></a>
<a name="Thumb-U"></a>
<a name="Thumb-V"></a>
<hr>
<h2>
<a name="Thumb-V"><b> V </b></a>
</h2>
<dl>
<dt> <a href="Virtual2Physical.html#Virtual2Physical()"><b>Virtual2Physical</b></a>().
Constructor for class <a href="Virtual2Physical.html#_top_">Virtual2Physical</a>
<dd>
</dl>
<a name="Thumb-W"></a>
<a name="Thumb-X"></a>
<a name="Thumb-Y"></a>
<a name="Thumb-Z"></a>
</body>
</html>

View File

@ -0,0 +1,87 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<!--NewPage-->
<html>
<head>
<!-- Generated by javadoc on Mon Nov 19 12:24:52 EST 2001 -->
<title>
Class Common
</title>
</head>
<body>
<a name="_top_"></a>
<h1>
Class Common
</h1>
<pre>
java.lang.Object
|
+----Common
</pre>
<hr>
<dl>
<dt> public class <b>Common</b>
<dt> extends Object
</dl>
<hr>
<a name="index"></a>
<h2>
<img src="images/constructor-index.gif" width=275 height=38 alt="Constructor Index">
</h2>
<dl>
<dt> <img src="images/yellow-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#Common()"><b>Common</b></a>()
<dd>
</dl>
<h2>
<img src="images/method-index.gif" width=207 height=38 alt="Method Index">
</h2>
<dl>
<dt> <img src="images/green-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#randomLong(long)"><b>randomLong</b></a>(long)
<dd>
<dt> <img src="images/green-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#s2b(java.lang.String)"><b>s2b</b></a>(String)
<dd>
<dt> <img src="images/green-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#s2i(java.lang.String)"><b>s2i</b></a>(String)
<dd>
<dt> <img src="images/green-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#s2l(java.lang.String)"><b>s2l</b></a>(String)
<dd>
</dl>
<a name="constructors"></a>
<h2>
<img src="images/constructors.gif" width=231 height=38 alt="Constructors">
</h2>
<a name="Common"></a>
<a name="Common()"><img src="images/yellow-ball.gif" width=12 height=12 alt=" o "></a>
<b>Common</b>
<pre>
public Common()
</pre>
<a name="methods"></a>
<h2>
<img src="images/methods.gif" width=151 height=38 alt="Methods">
</h2>
<a name="s2l(java.lang.String)"><img src="images/green-ball.gif" width=12 height=12 alt=" o "></a>
<a name="s2l"><b>s2l</b></a>
<pre>
public static long s2l(String s)
</pre>
<a name="s2i(java.lang.String)"><img src="images/green-ball.gif" width=12 height=12 alt=" o "></a>
<a name="s2i"><b>s2i</b></a>
<pre>
public static int s2i(String s)
</pre>
<a name="s2b(java.lang.String)"><img src="images/green-ball.gif" width=12 height=12 alt=" o "></a>
<a name="s2b"><b>s2b</b></a>
<pre>
public static byte s2b(String s)
</pre>
<a name="randomLong(long)"><img src="images/green-ball.gif" width=12 height=12 alt=" o "></a>
<a name="randomLong"><b>randomLong</b></a>
<pre>
public static long randomLong(long MAX)
</pre>
</body>
</html>

View File

@ -0,0 +1,129 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<!--NewPage-->
<html>
<head>
<!-- Generated by javadoc on Mon Nov 19 12:24:52 EST 2001 -->
<title>
Class ControlPanel
</title>
</head>
<body>
<a name="_top_"></a>
<h1>
Class ControlPanel
</h1>
<pre>
java.lang.Object
|
+----java.awt.Component
|
+----java.awt.Container
|
+----java.awt.Window
|
+----java.awt.Frame
|
+----ControlPanel
</pre>
<hr>
<dl>
<dt> public class <b>ControlPanel</b>
<dt> extends Frame
</dl>
<hr>
<a name="index"></a>
<h2>
<img src="images/constructor-index.gif" width=275 height=38 alt="Constructor Index">
</h2>
<dl>
<dt> <img src="images/yellow-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#ControlPanel()"><b>ControlPanel</b></a>()
<dd>
<dt> <img src="images/yellow-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#ControlPanel(java.lang.String)"><b>ControlPanel</b></a>(String)
<dd>
</dl>
<h2>
<img src="images/method-index.gif" width=207 height=38 alt="Method Index">
</h2>
<dl>
<dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#action(java.awt.Event, java.lang.Object)"><b>action</b></a>(Event, Object)
<dd>
<dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#addPhysicalPage(int, int)"><b>addPhysicalPage</b></a>(int, int)
<dd>
<dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#init(Kernel, java.lang.String, java.lang.String)"><b>init</b></a>(Kernel, String, String)
<dd>
<dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#paintPage(Page)"><b>paintPage</b></a>(Page)
<dd>
<dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#removePhysicalPage(int)"><b>removePhysicalPage</b></a>(int)
<dd>
<dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#setStatus(java.lang.String)"><b>setStatus</b></a>(String)
<dd>
</dl>
<a name="constructors"></a>
<h2>
<img src="images/constructors.gif" width=231 height=38 alt="Constructors">
</h2>
<a name="ControlPanel"></a>
<a name="ControlPanel()"><img src="images/yellow-ball.gif" width=12 height=12 alt=" o "></a>
<b>ControlPanel</b>
<pre>
public ControlPanel()
</pre>
<a name="ControlPanel(java.lang.String)"><img src="images/yellow-ball.gif" width=12 height=12 alt=" o "></a>
<b>ControlPanel</b>
<pre>
public ControlPanel(String title)
</pre>
<a name="methods"></a>
<h2>
<img src="images/methods.gif" width=151 height=38 alt="Methods">
</h2>
<a name="init(Kernel, java.lang.String, java.lang.String)"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="init"><b>init</b></a>
<pre>
public void init(<a href="Kernel.html#_top_">Kernel</a> useKernel,
String commands,
String config)
</pre>
<a name="paintPage(Page)"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="paintPage"><b>paintPage</b></a>
<pre>
public void paintPage(<a href="Page.html#_top_">Page</a> page)
</pre>
<a name="setStatus(java.lang.String)"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="setStatus"><b>setStatus</b></a>
<pre>
public void setStatus(String status)
</pre>
<a name="addPhysicalPage(int, int)"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="addPhysicalPage"><b>addPhysicalPage</b></a>
<pre>
public void addPhysicalPage(int pageNum,
int physicalPage)
</pre>
<a name="removePhysicalPage(int)"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="removePhysicalPage"><b>removePhysicalPage</b></a>
<pre>
public void removePhysicalPage(int physicalPage)
</pre>
<a name="action(java.awt.Event, java.lang.Object)"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="action"><b>action</b></a>
<pre>
public boolean action(Event e,
Object arg)
</pre>
<dl>
<dd><dl>
<dt> <b>Overrides:</b>
<dd> <a href="java.awt.Component.html#action(java.awt.Event, java.lang.Object)">action</a> in class Component
</dl></dd>
</dl>
</body>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<!--NewPage-->
<html>
<head>
<!-- Generated by javadoc on Mon Nov 19 12:24:52 EST 2001 -->
<title>
Class Instruction
</title>
</head>
<body>
<a name="_top_"></a>
<h1>
Class Instruction
</h1>
<pre>
java.lang.Object
|
+----Instruction
</pre>
<hr>
<dl>
<dt> public class <b>Instruction</b>
<dt> extends Object
</dl>
<hr>
<a name="index"></a>
<h2>
<img src="images/variable-index.gif" width=207 height=38 alt="Variable Index">
</h2>
<dl>
<dt> <img src="images/magenta-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#addr"><b>addr</b></a>
<dd>
<dt> <img src="images/magenta-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#inst"><b>inst</b></a>
<dd>
</dl>
<h2>
<img src="images/constructor-index.gif" width=275 height=38 alt="Constructor Index">
</h2>
<dl>
<dt> <img src="images/yellow-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#Instruction(java.lang.String, long)"><b>Instruction</b></a>(String, long)
<dd>
</dl>
<a name="variables"></a>
<h2>
<img src="images/variables.gif" width=153 height=38 alt="Variables">
</h2>
<a name="inst"><img src="images/magenta-ball.gif" width=12 height=12 alt=" o "></a>
<b>inst</b>
<pre>
public String inst
</pre>
<a name="addr"><img src="images/magenta-ball.gif" width=12 height=12 alt=" o "></a>
<b>addr</b>
<pre>
public long addr
</pre>
<a name="constructors"></a>
<h2>
<img src="images/constructors.gif" width=231 height=38 alt="Constructors">
</h2>
<a name="Instruction"></a>
<a name="Instruction(java.lang.String, long)"><img src="images/yellow-ball.gif" width=12 height=12 alt=" o "></a>
<b>Instruction</b>
<pre>
public Instruction(String inst,
long addr)
</pre>
</body>
</html>

View File

@ -0,0 +1,153 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<!--NewPage-->
<html>
<head>
<!-- Generated by javadoc on Mon Nov 19 12:24:52 EST 2001 -->
<title>
Class Kernel
</title>
</head>
<body>
<a name="_top_"></a>
<h1>
Class Kernel
</h1>
<pre>
java.lang.Object
|
+----java.lang.Thread
|
+----Kernel
</pre>
<hr>
<dl>
<dt> public class <b>Kernel</b>
<dt> extends Thread
</dl>
<hr>
<a name="index"></a>
<h2>
<img src="images/variable-index.gif" width=207 height=38 alt="Variable Index">
</h2>
<dl>
<dt> <img src="images/blue-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#addressradix"><b>addressradix</b></a>
<dd>
<dt> <img src="images/magenta-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#block"><b>block</b></a>
<dd>
<dt> <img src="images/magenta-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#runcycles"><b>runcycles</b></a>
<dd>
<dt> <img src="images/magenta-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#runs"><b>runs</b></a>
<dd>
</dl>
<h2>
<img src="images/constructor-index.gif" width=275 height=38 alt="Constructor Index">
</h2>
<dl>
<dt> <img src="images/yellow-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#Kernel()"><b>Kernel</b></a>()
<dd>
</dl>
<h2>
<img src="images/method-index.gif" width=207 height=38 alt="Method Index">
</h2>
<dl>
<dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#getPage(int)"><b>getPage</b></a>(int)
<dd>
<dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#init(java.lang.String, java.lang.String)"><b>init</b></a>(String, String)
<dd>
<dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#reset()"><b>reset</b></a>()
<dd>
<dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#run()"><b>run</b></a>()
<dd>
<dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#setControlPanel(ControlPanel)"><b>setControlPanel</b></a>(ControlPanel)
<dd>
<dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#step()"><b>step</b></a>()
<dd>
</dl>
<a name="variables"></a>
<h2>
<img src="images/variables.gif" width=153 height=38 alt="Variables">
</h2>
<a name="runs"><img src="images/magenta-ball.gif" width=12 height=12 alt=" o "></a>
<b>runs</b>
<pre>
public int runs
</pre>
<a name="runcycles"><img src="images/magenta-ball.gif" width=12 height=12 alt=" o "></a>
<b>runcycles</b>
<pre>
public int runcycles
</pre>
<a name="block"><img src="images/magenta-ball.gif" width=12 height=12 alt=" o "></a>
<b>block</b>
<pre>
public long block
</pre>
<a name="addressradix"><img src="images/blue-ball.gif" width=12 height=12 alt=" o "></a>
<b>addressradix</b>
<pre>
public static byte addressradix
</pre>
<a name="constructors"></a>
<h2>
<img src="images/constructors.gif" width=231 height=38 alt="Constructors">
</h2>
<a name="Kernel"></a>
<a name="Kernel()"><img src="images/yellow-ball.gif" width=12 height=12 alt=" o "></a>
<b>Kernel</b>
<pre>
public Kernel()
</pre>
<a name="methods"></a>
<h2>
<img src="images/methods.gif" width=151 height=38 alt="Methods">
</h2>
<a name="init(java.lang.String, java.lang.String)"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="init"><b>init</b></a>
<pre>
public void init(String commands,
String config)
</pre>
<a name="setControlPanel(ControlPanel)"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="setControlPanel"><b>setControlPanel</b></a>
<pre>
public void setControlPanel(<a href="ControlPanel.html#_top_">ControlPanel</a> newControlPanel)
</pre>
<a name="getPage(int)"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="getPage"><b>getPage</b></a>
<pre>
public void getPage(int pageNum)
</pre>
<a name="run()"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="run"><b>run</b></a>
<pre>
public void run()
</pre>
<dl>
<dd><dl>
<dt> <b>Overrides:</b>
<dd> <a href="java.lang.Thread.html#run()">run</a> in class Thread
</dl></dd>
</dl>
<a name="step()"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="step"><b>step</b></a>
<pre>
public void step()
</pre>
<a name="reset()"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="reset"><b>reset</b></a>
<pre>
public void reset()
</pre>
</body>
</html>

View File

@ -0,0 +1,63 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<!--NewPage-->
<html>
<head>
<!-- Generated by javadoc on Mon Nov 19 12:24:52 EST 2001 -->
<title>
Class MemoryManagement
</title>
</head>
<body>
<a name="_top_"></a>
<h1>
Class MemoryManagement
</h1>
<pre>
java.lang.Object
|
+----MemoryManagement
</pre>
<hr>
<dl>
<dt> public class <b>MemoryManagement</b>
<dt> extends Object
</dl>
<hr>
<a name="index"></a>
<h2>
<img src="images/constructor-index.gif" width=275 height=38 alt="Constructor Index">
</h2>
<dl>
<dt> <img src="images/yellow-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#MemoryManagement()"><b>MemoryManagement</b></a>()
<dd>
</dl>
<h2>
<img src="images/method-index.gif" width=207 height=38 alt="Method Index">
</h2>
<dl>
<dt> <img src="images/green-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#main(java.lang.String[])"><b>main</b></a>(String[])
<dd>
</dl>
<a name="constructors"></a>
<h2>
<img src="images/constructors.gif" width=231 height=38 alt="Constructors">
</h2>
<a name="MemoryManagement"></a>
<a name="MemoryManagement()"><img src="images/yellow-ball.gif" width=12 height=12 alt=" o "></a>
<b>MemoryManagement</b>
<pre>
public MemoryManagement()
</pre>
<a name="methods"></a>
<h2>
<img src="images/methods.gif" width=151 height=38 alt="Methods">
</h2>
<a name="main(java.lang.String[])"><img src="images/green-ball.gif" width=12 height=12 alt=" o "></a>
<a name="main"><b>main</b></a>
<pre>
public static void main(String args[])
</pre>
</body>
</html>

View File

@ -0,0 +1,126 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<!--NewPage-->
<html>
<head>
<!-- Generated by javadoc on Mon Nov 19 12:24:52 EST 2001 -->
<title>
Class Page
</title>
</head>
<body>
<a name="_top_"></a>
<h1>
Class Page
</h1>
<pre>
java.lang.Object
|
+----Page
</pre>
<hr>
<dl>
<dt> public class <b>Page</b>
<dt> extends Object
</dl>
<hr>
<a name="index"></a>
<h2>
<img src="images/variable-index.gif" width=207 height=38 alt="Variable Index">
</h2>
<dl>
<dt> <img src="images/magenta-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#high"><b>high</b></a>
<dd>
<dt> <img src="images/magenta-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#id"><b>id</b></a>
<dd>
<dt> <img src="images/magenta-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#inMemTime"><b>inMemTime</b></a>
<dd>
<dt> <img src="images/magenta-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#lastTouchTime"><b>lastTouchTime</b></a>
<dd>
<dt> <img src="images/magenta-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#low"><b>low</b></a>
<dd>
<dt> <img src="images/magenta-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#M"><b>M</b></a>
<dd>
<dt> <img src="images/magenta-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#physical"><b>physical</b></a>
<dd>
<dt> <img src="images/magenta-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#R"><b>R</b></a>
<dd>
</dl>
<h2>
<img src="images/constructor-index.gif" width=275 height=38 alt="Constructor Index">
</h2>
<dl>
<dt> <img src="images/yellow-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#Page(int, int, byte, byte, int, int, long, long)"><b>Page</b></a>(int, int, byte, byte, int, int, long, long)
<dd>
</dl>
<a name="variables"></a>
<h2>
<img src="images/variables.gif" width=153 height=38 alt="Variables">
</h2>
<a name="id"><img src="images/magenta-ball.gif" width=12 height=12 alt=" o "></a>
<b>id</b>
<pre>
public int id
</pre>
<a name="physical"><img src="images/magenta-ball.gif" width=12 height=12 alt=" o "></a>
<b>physical</b>
<pre>
public int physical
</pre>
<a name="R"><img src="images/magenta-ball.gif" width=12 height=12 alt=" o "></a>
<b>R</b>
<pre>
public byte R
</pre>
<a name="M"><img src="images/magenta-ball.gif" width=12 height=12 alt=" o "></a>
<b>M</b>
<pre>
public byte M
</pre>
<a name="inMemTime"><img src="images/magenta-ball.gif" width=12 height=12 alt=" o "></a>
<b>inMemTime</b>
<pre>
public int inMemTime
</pre>
<a name="lastTouchTime"><img src="images/magenta-ball.gif" width=12 height=12 alt=" o "></a>
<b>lastTouchTime</b>
<pre>
public int lastTouchTime
</pre>
<a name="high"><img src="images/magenta-ball.gif" width=12 height=12 alt=" o "></a>
<b>high</b>
<pre>
public long high
</pre>
<a name="low"><img src="images/magenta-ball.gif" width=12 height=12 alt=" o "></a>
<b>low</b>
<pre>
public long low
</pre>
<a name="constructors"></a>
<h2>
<img src="images/constructors.gif" width=231 height=38 alt="Constructors">
</h2>
<a name="Page"></a>
<a name="Page(int, int, byte, byte, int, int, long, long)"><img src="images/yellow-ball.gif" width=12 height=12 alt=" o "></a>
<b>Page</b>
<pre>
public Page(int id,
int physical,
byte R,
byte M,
int inMemTime,
int lastTouchTime,
long high,
long low)
</pre>
</body>
</html>

View File

@ -0,0 +1,107 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<!--NewPage-->
<html>
<head>
<!-- Generated by javadoc on Mon Nov 19 12:24:52 EST 2001 -->
<title>
Class PageFault
</title>
</head>
<body>
<a name="_top_"></a>
<h1>
Class PageFault
</h1>
<pre>
java.lang.Object
|
+----PageFault
</pre>
<hr>
<dl>
<dt> public class <b>PageFault</b>
<dt> extends Object
</dl>
<hr>
<a name="index"></a>
<h2>
<img src="images/constructor-index.gif" width=275 height=38 alt="Constructor Index">
</h2>
<dl>
<dt> <img src="images/yellow-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#PageFault()"><b>PageFault</b></a>()
<dd>
</dl>
<h2>
<img src="images/method-index.gif" width=207 height=38 alt="Method Index">
</h2>
<dl>
<dt> <img src="images/green-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#replacePage(java.util.Vector, int, int, ControlPanel)"><b>replacePage</b></a>(Vector, int, int, ControlPanel)
<dd> The page replacement algorithm for the memory management sumulator.
</dl>
<a name="constructors"></a>
<h2>
<img src="images/constructors.gif" width=231 height=38 alt="Constructors">
</h2>
<a name="PageFault"></a>
<a name="PageFault()"><img src="images/yellow-ball.gif" width=12 height=12 alt=" o "></a>
<b>PageFault</b>
<pre>
public PageFault()
</pre>
<a name="methods"></a>
<h2>
<img src="images/methods.gif" width=151 height=38 alt="Methods">
</h2>
<a name="replacePage(java.util.Vector, int, int, ControlPanel)"><img src="images/green-ball.gif" width=12 height=12 alt=" o "></a>
<a name="replacePage"><b>replacePage</b></a>
<pre>
public static void replacePage(Vector mem,
int virtPageNum,
int replacePageNum,
<a href="ControlPanel.html#_top_">ControlPanel</a> controlPanel)
</pre>
<dl>
<dd> 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.
<pre>
Page page = ( Page ) mem.elementAt( oldestPage )
</pre>
This line brings the contents of the Page at oldestPage (a
specified integer) from the mem vector into the page object.
Next recall the contents of the target page, replacePageNum.
Set the physical memory address of the page to be added equal
to the page to be removed.
<pre>
controlPanel.removePhysicalPage( oldestPage )
</pre>
Once a page is removed from memory it must also be reflected
graphically. This line does so by removing the physical page
at the oldestPage value. The page which will be added into
memory must also be displayed through the addPhysicalPage
function call. One must also remember to reset the values of
the page which has just been removed from memory.
<p>
<dd><dl>
<dt> <b>Parameters:</b>
<dd> mem - is the vector which contains the contents of the pages
in memory being simulated. mem should be searched to find the
proper page to remove, and modified to reflect any changes.
<dd> virtPageNum - is the number of virtual pages in the
simulator (set in Kernel.java).
<dd> replacePageNum - is the requested page which caused the
page fault.
<dd> controlPanel - represents the graphical element of the
simulator, and allows one to modify the current display.
</dl></dd>
</dl>
</body>
</html>

View File

@ -0,0 +1,65 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<!--NewPage-->
<html>
<head>
<!-- Generated by javadoc on Mon Nov 19 12:24:52 EST 2001 -->
<title>
Class Virtual2Physical
</title>
</head>
<body>
<a name="_top_"></a>
<h1>
Class Virtual2Physical
</h1>
<pre>
java.lang.Object
|
+----Virtual2Physical
</pre>
<hr>
<dl>
<dt> public class <b>Virtual2Physical</b>
<dt> extends Object
</dl>
<hr>
<a name="index"></a>
<h2>
<img src="images/constructor-index.gif" width=275 height=38 alt="Constructor Index">
</h2>
<dl>
<dt> <img src="images/yellow-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#Virtual2Physical()"><b>Virtual2Physical</b></a>()
<dd>
</dl>
<h2>
<img src="images/method-index.gif" width=207 height=38 alt="Method Index">
</h2>
<dl>
<dt> <img src="images/green-ball-small.gif" width=6 height=6 alt=" o ">
<a href="#pageNum(long, int, long)"><b>pageNum</b></a>(long, int, long)
<dd>
</dl>
<a name="constructors"></a>
<h2>
<img src="images/constructors.gif" width=231 height=38 alt="Constructors">
</h2>
<a name="Virtual2Physical"></a>
<a name="Virtual2Physical()"><img src="images/yellow-ball.gif" width=12 height=12 alt=" o "></a>
<b>Virtual2Physical</b>
<pre>
public Virtual2Physical()
</pre>
<a name="methods"></a>
<h2>
<img src="images/methods.gif" width=151 height=38 alt="Methods">
</h2>
<a name="pageNum(long, int, long)"><img src="images/green-ball.gif" width=12 height=12 alt=" o "></a>
<a name="pageNum"><b>pageNum</b></a>
<pre>
public static int pageNum(long memaddr,
int numpages,
long block)
</pre>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 925 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 925 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 886 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 896 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 527 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 925 B

View File

@ -0,0 +1,17 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<!--NewPage-->
<html>
<head>
<!-- Generated by javadoc on Mon Nov 19 12:24:52 EST 2001 -->
<title>
Package Index
</title>
</head>
<body>
<a name="_top_"></a>
<pre><a href="API_users_guide.html">API User's Guide</a> <a href="tree.html">Class Hierarchy</a> <a href="AllNames.html">Index</a></pre><hr>
<h1>
<img src="images/package-index.gif" width=238 height=37 alt="Package Index">
</h1>
</body>
</html>

View File

@ -0,0 +1,45 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<!--NewPage-->
<html>
<head>
<!-- Generated by javadoc on Mon Nov 19 12:24:52 EST 2001 -->
<title>
Class Hierarchy
</title>
</head>
<body>
<a name="_top_"></a>
<pre><a href="packages.html">All Packages</a> <a href="AllNames.html">Index</a></pre><hr>
<h1>
Class Hierarchy
</h1>
<ul>
<li> class java.lang.Object
<ul>
<li> class <a href="Common.html#_top_">Common</a>
<li> class java.awt.Component (implements java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable)
<ul>
<li> class java.awt.Container
<ul>
<li> class java.awt.Window
<ul>
<li> class java.awt.Frame (implements java.awt.MenuContainer)
<ul>
<li> class <a href="ControlPanel.html#_top_">ControlPanel</a>
</ul>
</ul>
</ul>
</ul>
<li> class <a href="Instruction.html#_top_">Instruction</a>
<li> class <a href="MemoryManagement.html#_top_">MemoryManagement</a>
<li> class <a href="Page.html#_top_">Page</a>
<li> class <a href="PageFault.html#_top_">PageFault</a>
<li> class java.lang.Thread (implements java.lang.Runnable)
<ul>
<li> class <a href="Kernel.html#_top_">Kernel</a>
</ul>
<li> class <a href="Virtual2Physical.html#_top_">Virtual2Physical</a>
</ul>
</ul>
</body>
</html>

View File

@ -0,0 +1,33 @@
// memset virt page # physical page # R (read from) M (modified) inMemTime (ns) lastTouchTime (ns)
memset 0 0 0 0 0 0
memset 1 1 0 0 0 0
memset 2 2 0 0 0 0
memset 3 3 0 0 0 0
memset 4 4 0 0 0 0
memset 5 5 0 0 0 0
memset 6 6 0 0 0 0
memset 7 7 0 0 0 0
// enable_logging 'true' or 'false'
// When true specify a log_file or leave blank for stdout
enable_logging true
// log_file <FILENAME>
// Where <FILENAME> is the name of the file you want output
// to be print to.
log_file tracefile
// page size, defaults to 2^14 and cannot be greater than 2^26
// pagesize <single page size (base 10)> or <'power' num (base 2)>
pagesize 16384
// addressradix sets the radix in which numerical values are displayed
// 2 is the default value
// addressradix <radix>
addressradix 16
// numpages sets the number of pages (physical and virtual)
// 64 is the default value
// numpages must be at least 2 and no more than 64
// numpages <num>
numpages 64

Some files were not shown because too many files have changed in this diff Show More