X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=doc%2Fuserprog.texi;h=5c0ee7224830eb5ae8df2179dcb414e1b1e0ae15;hb=51c7b0ba8caf78a6d47b979664b84bcb392e1c5b;hp=1e18511511ba9fee147b30ef7cbc9ef2cc998c70;hpb=ba48df561d04272b8cd819bf24c9cbde0f4bb085;p=pintos-anon diff --git a/doc/userprog.texi b/doc/userprog.texi index 1e18511..5c0ee72 100644 --- a/doc/userprog.texi +++ b/doc/userprog.texi @@ -390,9 +390,6 @@ exception is a call to the @code{halt} system call. @node User Programs FAQ @section FAQ -@enumerate 1 -@item General FAQs - @enumerate 1 @item @b{Do we need a working project 1 to implement project 2?} @@ -535,7 +532,13 @@ Serial input isn't implemented. Don't use @option{-v} if you want to use the shell or otherwise type at the keyboard. @end enumerate -@item Argument Passing FAQs +@menu +* Problem 2-1 Argument Passing FAQ:: +* Problem 2-2 System Calls FAQ:: +@end menu + +@node Problem 2-1 Argument Passing FAQ +@subsection Problem 2-1: Argument Passing FAQ @enumerate 1 @item @@ -578,7 +581,8 @@ any multiple of @t{0x10000000} from @t{0x80000000} to @t{0xc0000000}, simply via recompilation. @end enumerate -@item System Calls FAQs +@node Problem 2-2 System Calls FAQ +@subsection Problem 2-2: System Calls FAQ @enumerate 1 @item @@ -606,6 +610,7 @@ maximum. That said, if your design calls for it, you may impose a limit of 128 open files per process (as the Solaris machines here do). @item +@anchor{Removing an Open File} @b{What happens when two (or more) processes have a file open and one of them removes it?} @@ -639,7 +644,6 @@ You should print the complete thread name (as specified in the @code{SYS_exec} call) followed by the exit status code, e.g.@: @samp{example 1 2 3 4: 0}. @end enumerate -@end enumerate @node 80x86 Calling Convention @section 80@var{x}86 Calling Convention @@ -650,7 +654,7 @@ calling convention. Some of the basics should be familiar from CS have seen even more of it. I've omitted some of the complexity, since this isn't a class in how function calls work, so don't expect this to be exactly correct in full, gory detail. If you do want all the -details, you can refer to @cite{[SysV-i386]}. +details, you can refer to @bibref{SysV-i386}. Whenever a function call happens, you need to put the arguments on the call stack for that function, before the code for that function