X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=doc%2Fuserprog.texi;h=db1ad33bbf3e458ea2657a3b03e3f0eab270790d;hb=be29a7d336f7ca5a40afe1ed6bf0828b9a9b2a92;hp=a92697d1b4fe209cbe78b6a2d2b6965bcac41854;hpb=7d4e3dda080a47db88616f1c0d975f2091be47f1;p=pintos-anon diff --git a/doc/userprog.texi b/doc/userprog.texi index a92697d..db1ad33 100644 --- a/doc/userprog.texi +++ b/doc/userprog.texi @@ -506,9 +506,9 @@ call functionality. @anchor{Synchronizing File Access} You must make sure that system calls are properly synchronized so that any number of user processes can make them at once. In particular, it -is not safe to call into the filesystem code provided in the +is not safe to call into the file system code provided in the @file{filesys} directory from multiple threads at once. For now, we -recommend adding a single lock that controls access to the filesystem +recommend adding a single lock that controls access to the file system code. You should acquire this lock before calling any functions in the @file{filesys} directory, and release it afterward. Don't forget that @func{process_execute} also accesses files. @strong{For now, we @@ -516,9 +516,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