From: Ben Pfaff Date: Tue, 23 Nov 2004 23:52:36 +0000 (+0000) Subject: Update docs. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=276b4866a63f409f91c27cbc6af8ec58e8cbad91;p=pintos-anon Update docs. --- diff --git a/doc/standards.texi b/doc/standards.texi index a13058a..20e27a4 100644 --- a/doc/standards.texi +++ b/doc/standards.texi @@ -47,6 +47,11 @@ specifications by writing a name inside square brackets, like this: @code{[IA32-v3]}. These names refer to the reference names used in this documentation (@pxref{References}). +If you remove existing Pintos code, please delete it from your source +file entirely. Don't just put it into a comment or a conditional +compilation directive, because that makes the resulting code hard to +read. If you're worried about + @node Conditional Compilation @section Conditional Compilation @@ -81,6 +86,13 @@ and off with a compile-time directive. You must use the macro name we specify for that part. @xref{Problem 1-4 Advanced Scheduler}, for details. +@item +Problem 3-2, paging to and from disk. Your page replacement policy must +default to LRU-like replacement, but we must be able to choose a random +replacement policy with a compile-time directive. You must use the +macro name we specify for that part. @xref{Problem 3-2 Paging To and +From Disk}, for details. + @item Code written for extra credit may be included conditionally. If the extra credit code changes the normally expected functionality of the diff --git a/doc/vm.texi b/doc/vm.texi index bf53bf8..260f9d9 100644 --- a/doc/vm.texi +++ b/doc/vm.texi @@ -374,6 +374,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. + Since you will already be paging from disk, you should implement a ``lazy'' loading scheme for new processes. When a process is created, it will not run immediately. Therefore, it doesn't make sense to load