X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=doc%2Fuserprog.texi;h=9ca19a58645a7fe89f3a05ed0d454e19248f5b8f;hb=5bea544e0a9df3e1bf5d18b49018f0c9df614fb0;hp=9db073776ab70c7fadb9e711325b991a23e5e552;hpb=c3db4f872fdc6ac50cd5bfde5117467b40bd54db;p=pintos-anon diff --git a/doc/userprog.texi b/doc/userprog.texi index 9db0737..9ca19a5 100644 --- a/doc/userprog.texi +++ b/doc/userprog.texi @@ -15,9 +15,7 @@ other part of the code for this assignment. We will describe the relevant parts below. If you are confident in your HW1 code, you can build on top of it. However, if you wish you can start with a fresh copy of the code and re-implement @func{thread_join}, which is the -only part of project #1 required for this assignment. Your submission -should define @code{THREAD_JOIN_IMPLEMENTED} in @file{constants.h} -(@pxref{Conditional Compilation}). +only part of project #1 required for this assignment. Up to now, all of the code you have written for Pintos has been part of the operating system kernel. This means, for example, that all the @@ -280,8 +278,8 @@ that needs @var{N} pages of memory must not require that all @var{N} be contiguous. In fact, it must not require that any of the pages be contiguous. -@node Global Requirements -@section Global Requirements +@node Grading Requirements +@section Grading Requirements For testing and grading purposes, we have some simple overall requirements: @@ -328,6 +326,16 @@ make sure that it takes the start-up process name and arguments from the @samp{-ex} argument. For example, running @code{pintos run -ex "testprogram 1 2 3 4"} will spawn @samp{testprogram 1 2 3 4} as the first process. + +@item +In the previous project, we required that you provided some specific +function interfaces, because we tested your project by compiling our +test code into it. For this project and all later projects, this is +no longer necessary, because we will do all of our testing with user +programs. You must make sure that the user program interface meets +the specifications described in the assignments, but given that +constraint you are free to restructure or rewrite kernel code however +you wish. @end itemize @node Problem 2-1 Argument Passing