X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=grading%2Fuserprog%2Freview.txt;h=0a400219c6895c6a10857a3e1868047448a4425e;hb=5780c9f434cca090f88463b7f0199d49b4ded288;hp=c48657e1898666fd1d3a805bcd8248be1cb9560a;hpb=6d3cf8bbe3dbfd60b851b7dd9f51d7f5b77fb4bf;p=pintos-anon diff --git a/grading/userprog/review.txt b/grading/userprog/review.txt index c48657e..0a40021 100644 --- a/grading/userprog/review.txt +++ b/grading/userprog/review.txt @@ -27,8 +27,8 @@ Program arguments: User/kernel copying: -5 Too many copies of user/kernel copying code - -10 Doesn't check for page boundaries - -3 Imperfect checking for page boundaries + -20 Doesn't check for page boundaries + -10 Imperfect checking for page boundaries -5 Doesn't check whether pointers are at or above PHYS_BASE -2 Imperfect checking whether pointers are at or above PHYS_BASE +3 Copies large chunks while properly observing page boundaries @@ -44,6 +44,15 @@ System call design: -5 System call error exit leaks memory/fails to release global lock -5 Uses a pointer as a file descriptor or pid without justifying +Wait system call: + -3 Busy waiting + -3 A static list of all parent-child pairs is extremely wasteful + -3 Obviously wasteful with memory (not deleting processes) + -2 Finished parent deletes children which may still be running + -1 Enable/disable interrupts + -2 Joinable child lets its struct thread be deleted before parent dies + -1 Race condition between wait and thread exit + Style [[/25]] ------------- -5 Extraneous output caused warnings