X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=ta-advice%2FHW2;h=7a793959e82560e7c1fc9113ff76f0851b3b7f4d;hb=0147215f6360d42fad81ce164b661054f572ac15;hp=3e9b4ac49f679e0c8c773f48cf2c4639553d2487;hpb=e9f27d6bb8c80370aa3b249c090b012f3f24449e;p=pintos-anon diff --git a/ta-advice/HW2 b/ta-advice/HW2 index 3e9b4ac..7a79395 100644 --- a/ta-advice/HW2 +++ b/ta-advice/HW2 @@ -657,3 +657,30 @@ B11: Take off points if an answer assumes that there can be more than one thread per process and doesn't mention that this would be an extension to the Pintos design. + +Check the submitted code, by hand, for the following: + + 1. That the system call handler, which is probably in + userprog/syscall.c in syscall_handler(), is reasonably + abstracted. It should not all be in one function as one huge + switch statement, for example. The code that accesses user + memory should be separated into specialized functions. If either + of these is not the case, or if the code is otherwise difficult + to read, take off points. + + 2. The "Source Code" section in the Introduction to the Pintos + manual says, "Update existing comments as you modify code." Most + students ignore this. Check whether the comment on + process_wait() in process.c has been updated. At a minimum, the + two final sentences ("This function will be implemented in + problem 2-2. For now, it does nothing.") should have been + deleted. + + 3. Find the implementation of the "open" system call. Verify that + all resources are released in error cases and that errors are + properly handled. One particular problem can be malloc() failure + after a file is successfully opened--is the return value checked? + If so, is the file closed before returning an error? + + (Failure to check malloc() is in the OVERALL section of the grade + report, under DESIGN.)