Provide a makefile to compile your code

Assignment Help C/C++ Programming
Reference no: EM131299375

Programming Assignment Lab 3: Virtual Memory Management

You are to implement a Virtual Memory Manager in C or C++ and submit the source code, which we will compile and run. Please provide a Makefile to compile your code and submit as a single tar, tar.Z, tar.bz2, zip file through NYU classes. The name of the file should be your N<id>_OS_lab3.

In this lab/programming assignment you will implement/simulate the virtual memory operations that map a virtual address space comprised of virtual pages onto physical page frames. As the size of the virtual address space may exceed the number of physical pages of the simulated system (#frames will be an input parameter) paging needs to be implemented. Only one virtual address space will be considered in this assignment. The size of the virtual space is 64 virtual pages. The number of physical page frames varies and is specified by an option, but assume you have to support 64 frames (but no more).

The input to your program will be a sequence of "instructions" and optional comment line (shown in Listing 1). A comment line anywhere in the input file starts with '#' and should be completely ignored by your program and not count towards the instruction count. An instruction line is comprised of two integers, where the first number indicates whether the instruction is a read (value=0) or a write (value=1) operation and which virtual page is touched by that operation. You can assume that the input files are well formed as shown below, so fancy parsing is not required (but verify the virtual page index falls within [0..63]).

You need to represent the virtual address space as a single level pagetable. There is only one process, hence only one address space, hence pagetable (just to make your life easiers).

Each page table entry (pte) is comprised of the PRESENT, MODIFIED, REFERENCED and PAGEDOUT bits and an index to the physical frame (in case the pte is present). This information can and should be implemented as a single 32Gbit value or as a bit structures (likely easier), but can not be a structure of multiple integer values that collectively are larger than 32Gbit. (see  https://www.cs.cf.ac.uk/Dave/C/node13.html (BitFields) or 

https://www.catonmat.net/blog/bitGhacksGheaderGfile/ as an example).

During each instruction you simulate the behavior of the hardware and hence you must check that the page is present and if not locate a free frame, pageGin the page if the PAGEDOUT flag is set to the frame or zero the frame. Then the virtual page of the instruction needs to be mapped to the frame. You must maintain the PRESENT (aka valid), MODIFIED, REFERENCED and PAGEDOUT bits and the frame index in the pagetable's pte. The frame table is NOT updated by the simulated hardware. Only the pagetable entry (pte) is updated just as in real operating systems and hardware.

Initially all page frames are maintained in a free list with frameG0 being the first frame in the list and all pte's of the pagetable are zero'd (i.e. NOT PRESENT and NOT PAGEDOUT).

The page replacement should be generic and the algorithms should be special instances of the page replacement class to avoid "switch/case statements" in the simulation of instructions. Think of using object oriented programming and inheritance.

When a virtual page is replaced it must be first unmapped and then optionally paged out. While you are not effectively implementing these operations you still need to track them and create entries in the output (see below).

In "Physical" you base your decision on the status of the physical frames. Since you need access to the pteGs (access to the ref and modify bits which are only maintained in the pagetable) you should keep track of the inverse mapping (frame G> pte). This structure is known as the operating system's frametable, namely one entry per physical frame.  In "Virtual", you base the replacement decision on the virtual pages.

Assignment link - https://www.dropbox.com/s/hbren2rsxehnofr/Lab%20Assignment.rar?dl=0

Reference no: EM131299375

Questions Cloud

Would revealing the sponsor to respondents bias the poll : The standards accepted by polling organizations also require giving respondents the name and address of the organization that carries out the poll. Why do you think this is required?
Describe understanding of us public health system : In an opening paragraph describe your understanding of U.S. public health system using course material - In a second paragraph discuss how two of the module activities address different aspects of the three core functions of public health (assessme..
Elasticity of substitution illustrate : What does elasticity of substitution illustrate? What two factors affect its magnitude?
Price acceptance decisions : How does convenience impact your buying or price acceptance decisions? Please provide a detailed, in your own words explanation.
Provide a makefile to compile your code : You are to implement a Virtual Memory Manager in C or C++ and submit the source code, which we will compile and run. Please provide a Makefile to compile your code and submit as a single tar, tar.Z, tar.bz2, zip file through NYU classes
Problem regarding the amount of money : Assume you have $100 in cash, $500 in your checking account, and $2,000 in savings. According to the M1 definition (cash plus checking account balances) the amount of money you have is?
How can we ethically test new drugs for aids : . This is a strong example of the conflict between doing the best we know for patients now and finding better treatments for other patients in the future. How can we ethically test new drugs for AIDS?
What is happening in construction : Can someone please answer this question for me the correct way! Entry and exit of firms-What is happening in construction?
Write a two-page paper following the directions : Write a two-page paper following the directions within the textbook on Case Project 6-4, Case Project 7-2, and Project 1-3. Include a title page and separate reference page

Reviews

len1299375

12/3/2016 3:35:41 AM

You are to implement a Virtual Memory Manager in C or C++ and submit the source code, which we will compile and run. Please provide a Makefile to compile your code and submit as a single tar, tar.Z, tar.bz2, zip. In this lab/programming assignment you will implement/simulate the virtual memory operations that map a virtual address space comprised of virtual pages onto physical page frames. As the size of the virtual address space may exceed the number of physical pages of the simulated system (#frames will be an input parameter) paging needs to be implemented. Only one virtual address space will be considered in this assignment. The size of the virtual space is 64 virtual pages. The number of physical page frames varies and is specified by an option, but assume you have to support 64 frames (but no more). A full writeup with many more details is provided in the attached mmu_fall.pdf file. A set of inputs and associated reference outputs as well as scripts are provided in the lab3_assign.tar.Z file.

Write a Review

C/C++ Programming Questions & Answers

  Print the minimum cost of conversion

Print the minimum cost of conversion for each string to super ascii string

  A c++ program using the concept of function overloading

write a c++ program using the concept of function overloading for the following options : select the options from [1-3], 1- Area of rectangle 2- Area of square 3- Exit ,

  One of the disadvantage of pass by reference

One of the disadvantage of pass by reference is that the called function may inadvertently corrupt the called data. How ca this be avoided?

  Size of an uncompressed text

Suppose the size of an uncompressed text file is 1 megabyte. How long does it take to download the file over a 32 Kilobit per second modem? How long does it take to take to download the file over a 1 megabit per second modem?

  Program that reads source file

For this assignment you will write a program that reads a source file, edits the file based on a second file containing commands, and then saves the resulting text to a third file. You will find my executable and test files in ~davis/40/p7.

  Implements the features of the minesweeper game

The map generator generates a rectangle matrix of 9 rows and 10 columns, and each cell of the matrix contains an integer 0 or 1 only. Such a matrix represents the map of the minesweeper game - write a Windows Console Application that implements mos..

  Advantages and disadvantages of using iso standards

Discussion Questions from the book "A Guide to Computer Forensics and Investigations" 3rd Edition

  Program that evaluates a infix expression

Program that evaluates a infix expression using stacks terminated by an equal sign. for example: (4-2)-5)/(2+1)-2))=the expression will contain single digit and the operators +, -, *,/. Make sure to consider the operator precedence.

  The celsius value as input

Write a program that has the main() call a user-defined function that takes a Celsius temperature value as an argument and then returns the equivalent Fahrenheit value. The program should request the Celsius value as input from the user and display t..

  Using visual studio for pc,inside the visual c++

Data and Code to be used for this assignment 3 are attached. Using Visual Studio for PC,Inside the Visual C++ option, we want to select a Win32 Console Application.

  Features with the real life scenarios

Explain any three features that must be implemented by the application that will be created by WebSoft Solutions Pvt. Ltd. Support your answer with suitable examples. Relate the features with the real life scenarios.

  Write a program with a while loop to print 1 to n in square

Write a program with a while loop to print 1 to N in square brackets. N is an integer input from the user. (i) Write the same program using a for-loop

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd