Roger L. Kraft

CS 30200/ECE 46810 - Programming Assignment 3

This assignment makes use of files contained in this zip file. This assignment is due Thursday, May 5.

For this assignment you are to write a program that performs virtual memory operations. You will run the program along with a virtual memory mapping program so that you can observe the virtual memory operations and answer some questions.

Complete the program that is outlined in the file VMdriver.c from the above zip file. Create a text file, called VMcmds.txt, with commands to exercise your virtual memory operations. The form of the command file is described in the comments of VMdriver.c. A simple version of VMcmds.txt is contained in hw4.zip. Your command file should demonstrate all of the commands described in the comments of VMdriver.c. Be sure to create a command file that really tests your program. Run your program in a console window using a command of the form

   c:\VMdriver < VMcmds.txt

Your VMdriver.exe program should create a process from the program VMmapper.exe (its source code file, VMmapper.c, is included in the above zip file). The VMmapper.exe process will display a memory map of the VMdriver.exe process as it is running so that you can see the virtual memory operations take place in the VMdriver.exe virtual address space.

In the zip file there is a demo version, VMdriver-demo.exe, that you can run to see how your version should work.

When you are done with your version of VMdriver.c, write a text file, answers.txt, containing answers to the following questions. To answer these questions, you will need to use your version of VMdriver.exe, the VMmapper.exe program, and you may need to use other programs that let you observe virtual memory.

Turn in a zip file called CS302Hw3Surname.zip (where Surname is your last name) containing your version of VMdriver.c, your command file VMcmds.txt, and your text file answers.txt containing answers to the above questions.

This assignment is due Thursday, May 5.

Here are links to some Windows API documentation that you might need to use in this assignment.