X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=doc%2Fstandards.texi;h=a1c70a47961a69baac2f0bfe906c15870c88677d;hb=1a9c8950f6f40cd7522aee8c326f0889b3aa959f;hp=a13058a91cf6a0de30483cda7ec622d853655001;hpb=4142d6dcf0e7f8d4f348c11b4cc5066db3261c63;p=pintos-anon diff --git a/doc/standards.texi b/doc/standards.texi index a13058a..a1c70a4 100644 --- a/doc/standards.texi +++ b/doc/standards.texi @@ -42,11 +42,20 @@ different style won't cause actual problems, but it's ugly to see gratuitous differences in style from one function to another. If your code is too ugly, it will cost you points. +Please limit C source file lines to at most 79 characters long. + Pintos comments sometimes refer to external standards or 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. We're only going to do a compile in the directory for the current +project, so you don't need to make sure that the previous projects also +compile. + @node Conditional Compilation @section Conditional Compilation @@ -71,16 +80,18 @@ There are a few exceptions: @itemize @bullet @item -Problem 1-2, @func{thread_join}. Some other code expects -@code{THREAD_JOIN_IMPLEMENTED} to be defined once you've implemented -this function. - -@item -Problem 1-4, the advanced scheduler. We must be able to turn this on +Problem 1-3, the advanced scheduler. We must be able to turn this on 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 +specify for that part. @xref{Problem 1-3 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 @@ -193,7 +204,7 @@ terminator and it has performance problems besides. Again, use @func{strlcpy}. @item strcat -Same issue as @func{strcpy}, but substitute @func{strlcat}. +Same issue as @func{strcpy}. Use @func{strlcat} instead. Again, refer to comments in its source code in @code{lib/string.c} for documentation.