Project 4 Grading Criteria

Intermediate submission (worth 10 points)

This will test kernel mapping. You should have paging turned on, as follows:

- Inside Init_VM() (defined in paging.c) insert a call to checkPaging() before and after you call Enable_Paging(). So your code should look like:

- Now, when you launch QEMU, you should see the following in the output (before the shell prompt):
	Paging on?: 0
	Paging on?: 1

- Finally, when QEMU starts up, nothing should crash and the shell prompt should come up as usual. You should be able to run user mode executables like they used to run when paging wasn't enabled. We'll test by checking the shell and running an user mode program (e.g. b.exe). We will also check the code to make sure you have enabled paging.

Project 4 (worth 90 points)

  1. Turning On Paging:
    - Described above. Enabling paging is worth 25 points.

  2. Dynamically Growing Stack using rec.c.
    At the shell prompt, typing:

     /c/rec.exe 300
    should output:
    calling Recurse 300
    calling Recurse 299
    calling Recurse 298
    ...
    calling Recurse 1
    return from Recurse 1
    return from Recurse 2
    ...
    return from Recurse 298
    return from Recurse 299
    return from Recurse 300
    %
    
    Correct implementation is worth 20 points: 10 from successful rec 300 once, 10 from repeated rec 300 success.

  3. Paging Out to a Swapfile using rec.c.
    At the shell prompt, typing:

     /c/rec.exe 3300
    should output
    calling Recurse 3300
    calling Recurse 3299
    calling Recurse 3298
    ...
    calling Recurse 1
    return from Recurse 1
    return from Recurse 2
    ...
    return from Recurse 3298
    return from Recurse 3299
    return from Recurse 3300
    %
    
    Correct implementation is worth 30 points: 15 from successful rec 3300 once, 15 from repeated rec 3300 success.

  4. Miscellaneous tests
    Expect a few additional tests that, for example: For testing, we may need to reduce the size of physical memory and of the pagefile so that tests complete in reasonable time. Be careful with extra debugging messages: you will need to add Print() statements to help track down problems, but you may have to remove them to speed execution when testing. So, expect:
  5. Code Review/Coding Style
    The reading of your code for style and readability will be worth 15 points

    Web Accessibility