X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=doc%2Fvm.texi;h=f922810e17baa5eb93e897542d08b636790ed6a6;hb=749088412dc35dfc51035c30b86dd0b86a6954f7;hp=42bb3cea5c856d8ebb7955db5b3ee03fa754ac1b;hpb=96c122af8890db8f39dfd2ee21df761c6131e8f5;p=pintos-anon diff --git a/doc/vm.texi b/doc/vm.texi index 42bb3ce..f922810 100644 --- a/doc/vm.texi +++ b/doc/vm.texi @@ -412,11 +412,12 @@ pages less frequently using your algorithm than using some inferior page replacement policy. The canonical example of a poor page replacement policy is random replacement. -You must write your code so that we can choose a page replacement policy -at compile time. By default, the LRU-like algorithm must be in effect, -but we must be able to choose random replacement by inserting the line -@code{#define RANDOM_REPLACEMENT 1} in @file{constants.h}. -@xref{Conditional Compilation}, for details. +You must write your code so that we can choose a page replacement +policy at Pintos startup time. By default, the LRU-like algorithm +must be in effect, but we must be able to choose random replacement by +invoking @command{pintos} with the @option{-o random-paging} option. +Passing this option sets @code{enable_random_paging}, declared in +@file{threads/init.h}, to true. Since you will already be paging from disk, you should implement a ``lazy'' loading scheme for new processes. When a process is created, @@ -460,7 +461,7 @@ such as Linux do not load partial pages lazily. Incidentally, if you have trouble handling the third case above, you can eliminate it temporarily by linking the test programs with a -special ``linker script.'' Read @file{tests/userprog/Makefile} for +special ``linker script.'' Read @file{Makefile.userprog} for details. We will not test your submission with this special linker script, so the code you turn in must properly handle all cases.