As usual, this project will be done in your project teams. This time, we have added a peer review component. Every member should do the peer review individually.
File | Contents |
---|---|
vmtrace.c | The main() routine; very simple. |
vmtrace.h | Defines common datatypes (e.g. vaddr_t). |
simulate.{c,h} | The main loop; gets the next reference, determines if it is a fault, and updates the modified/reference bits. |
fault.{c,h} | The fault handlers; this is where you'll be adding most of your code. |
pagetable.{c,h} | Implements a pagetable. Also contains the definition of the pte_t struct. |
physmem.{c,h} | Models physical memory, which your replacement algorithm needs to manage. |
stats.{c,h} | Collect and output statistics. Note the increment-accessors are in stats.h as inline functions. |
util.{c,h} | Utility routines to access bit fields and compute logarithms/exponents (base 2). util.h also contains vaddr_to_vfn, which converts a virtual address to a virtual frame number. |
options.{c,h} | Parses command line options; if you add configuration parameters to your algorithm, you can parse them here. |
input.{c,h} | Parses the tracefile and returns the next reference. You probably won't need to modify or use these files. |
Makefile.am | This file lists the source files (both .c and .h) for the project. See below for instructions on adding new files. |
Statistic | Description |
---|---|
references | Total number of memory accesses. |
miss | Number of page faults. |
compulsory | Number of compulsory faults (first time a page was accessed). |
evictions | Number of times a page was removed from physical memory. |
pageouts | Number of times an eviction required a write to disk. |
Second, you will submit the vmtrace source code using turnin.
In your top-level vmtrace directory, run make dist. This will
produce a file named vmtrace-1.X.tar.gz. Submit this file
using the turnin(1L) program under project name
project3 before lecture on the due date.
If you have added any files, run tar -tzf vmtrace-1.X.tar.gz
and check to make sure your new files are listed.
The third thing to submit is your written report. This time, you will
submit a printed version of the report in class on Wedesday, November
12th.