Skip to main content.

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.

  1. Tests
    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
    Test VMGrader
    1. vm-00 : 1 read
    2. vm-01 : 2 reads
    3. vm-02 : 2 reads, 1 write
    4. vm-03 : read/write, forces a swap on the page just used, re-read
    5. vm-04 : scan read across several virtual pages, repeat the scan again, this is also a preliminary test on your page replacement algorithm.
    6. vm-05 : multiple reads/writes, checking the number of page faults not excessive for 2 phys pages
    7. vm-06 : multiple reads/writes, checking the number of page faults not excessive for 4 phys pages
    8. vm-07 : multiple TLB references, checking the number of TLB misses not excessive
    9. vm-08 : single process read/write stress tests with some modification
    10. vm-09 : test swap file growth
    11. vm-10 : forcing page faults at the same time from multiple processes to test pinning
    12. vm-11 : test pinning in combination with swap
    13. vm-12 : writeVirtualMemory test
    14. vm-13 : 5 processes read/write test