X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=doc%2Fuserprog.texi;h=fa3b4b8deb23d0a097249e7f1beefcb94d9cff9c;hb=d5859f34033fee47c7ae626ea2d3c0b5d83cfe3b;hp=a92697d1b4fe209cbe78b6a2d2b6965bcac41854;hpb=7d4e3dda080a47db88616f1c0d975f2091be47f1;p=pintos-anon diff --git a/doc/userprog.texi b/doc/userprog.texi index a92697d..fa3b4b8 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 @@ -516,9 +514,9 @@ recommend against modifying code in the @file{filesys} directory.} We have provided you a user-level function for each system call in @file{lib/user/syscall.c}. These provide a way for user processes to -invoke each system call from a C program. Each of them calls an -assembly language routine in @file{lib/user/syscall-stub.S}, which in -turn invokes the system call interrupt and returns. +invoke each system call from a C program. Each uses a little inline +assembly code to invoke the system call and (if appropriate) returns the +system call's return value. When you're done with this part, and forevermore, Pintos should be bulletproof. Nothing that a user program can do should ever cause the