Project 4 Grading Criteria

Intermediate submission (Tuesday, March 29th, worth 10 points)

This will test kernel mapping. You should have paging turned on, as described in item 1 below. We'll test by looking at the output. If your kernel crashes or paging doesn't turn on, we'll check your code and will determine whether you've made a 'good faith' attempt at kernel mapping or not. Note that doing random changes to pretend you've started the kernel mapping will not bring you the 10%.

Project 4 (Friday, April 8th, worth 90 points)

  1. Turning On Paging:
    - Modify the Enable_Paging() call (in Init_VM(), paging.c); to be checkPaging(); Enable_Paging(); checkPaging();

    Launching bochs should output:

    Paging on?: 0
    Paging on?: 1
    
    when bochs starts up. Nothing should crash and the shell prompt should come up. Enabling paging is worth 27 points.

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

     /c/rec.exe 300
    should output
    300
    349
    348
    ...
    1
    %
    
    Correct implementation is worth 27 points.

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

     /c/rec.exe 3300
    should output
    3300
    3299
    3298
    ...
    1
    %
    
    Correct implementation is worth 36 points.

  4. Extra Credit
    You can receive 10 points of extra credit if you make page tables pageable too, as described in the project description in the Extra Credit section.