Project 3 Test Cases
Short descriptions of Test Cases run by the AutoGrader for Project 3
The Autograder executes a series of reads and writes to virtual memory, using a combination of direct accesses through the TLB, and indirect accesses through readVirtualMemory() and writeVirtualMemory().
The TLB is regularly checked for incorrect entries. If at any time, a virtual page is mapped to the wrong physical page (the contents of the physical page do not match the expected contents of the virtual page), or a virtual page that should be read-only is not marked read-only in the TLB, the test fails. The test succeeds if all the memory accesses complete.
tests 0-5 use a memory size of 2 physical pages
tests 6-9, 13 use 4 physical pages
tests 10-12 use 1 physical page
- vm-00 : 1 read
- vm-01 : 2 reads
- vm-02 : 2 reads, 1 write
- vm-03 : read/write, forces a swap on the page just used, re-read
- vm-04 : scan read across several virtual pages, repeat the scan again, this is also a preliminary test on your page replacement algorithm.
- vm-05 : multiple reads/writes, checking the number of page faults not excessive for 2 phys pages
- vm-06 : multiple reads/writes, checking the number of page faults not excessive for 4 phys pages
- vm-07 : multiple TLB references, checking the number of TLB misses not excessive
- vm-08 : single process read/write stress tests with some modification
- vm-09 : test swap file growth
- vm-10 : forcing page faults at the same time from multiple processes to test pinning
- vm-11 : test pinning in combination with swap
- vm-12 : writeVirtualMemory test
- vm-13 : 5 processes read/write test