X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=doc%2Fvm.texi;h=31a8f1ea54a8f3b81131334dcfb53d8e156b2413;hb=96d5454f0787f4d190291f823a545a035ccf40c3;hp=25135f067efb66cee2aa2016a9ed5e5ea9e64e9f;hpb=3f08530b1f8640d3fdc05477e44d0e81c0199ed3;p=pintos-anon diff --git a/doc/vm.texi b/doc/vm.texi index 25135f0..31a8f1e 100644 --- a/doc/vm.texi +++ b/doc/vm.texi @@ -260,7 +260,7 @@ page fault might only indicate that the page must be brought in from a file or swap. You will have to implement a more sophisticated page fault handler to handle these cases. Your page fault handler, which you should implement by modifying @func{page_fault} in -@file{threads/exception.c}, needs to do roughly the following: +@file{userprog/exception.c}, needs to do roughly the following: @enumerate 1 @item @@ -714,6 +714,12 @@ process. If you carefully designed your data structures, sharing of read-only pages should not make this part significantly harder. +@item How do we resume a process after we have handled a page fault? + +Returning from @func{page_fault} resumes the current user process +(@pxref{Internal Interrupt Handling}). +It will then retry the instruction to which the instruction pointer points. + @item Does the virtual memory system need to support data segment growth? No. The size of the data segment is determined by the linker. We still