Question
Moss Simulation Lab Assignment: Need to c reate a command file that maps any 8 pages of physical memory to the first 8 pages of
Moss Simulation Lab Assignment: Need to 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.
I was able to modify and run the Command file:
// Enter READ/WRITE commands into this file // READ
This is the TRACEFILE
READ 6 ... okay READ 7 ... okay WRITE cb33 ... okay WRITE fb12 ... okay WRITE b4a2b ... page fault READ 4120 ... okay READ 6086 ... okay WRITE 6700 ... okay WRITE 437f3 ... okay
Now I have to Modify replacePage() in PageFault.java to implement a round robin page replacement algorithm (i.e., first page fault replaces page 0, next one replaces page 1, next one replaces page 2, etc.).
Not quite sure how to do this. I have pasted the PageFault.java below.
/* 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.*; import Page;
public class PageFault {
/** * The page replacement algorithm for the memory management sumulator. * This method gets called whenever a page needs to be replaced. *
* 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. *
* Page page = ( Page ) mem.elementAt( oldestPage ) ** 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. *
* controlPanel.removePhysicalPage( oldestPage ) ** 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; } }
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started