* Virtual Memory FAQ::
@end menu
-@node VM Design, Page Faults, Project 3--Virtual Memory, Project 3--Virtual Memory
+@node VM Design
@section A Word about Design
It is important for you to note that in addition to getting virtual
as possible about how to do things. Instead we will focus on what end
functionality we require your OS to support.
-@node Page Faults, Disk as Backing Store, VM Design, Project 3--Virtual Memory
+@node Page Faults
@section Page Faults
For the last assignment, whenever a context switch occurred, the new
FIXME need to mention that there are many possible implementations and
that the above is just an outline
-@node Disk as Backing Store, Memory Mapped Files, Page Faults, Project 3--Virtual Memory
+@node Disk as Backing Store
@section Disk as Backing Store
In VM systems, since memory is less plentiful than disk, you will
overhead by writing modified pages to disk in advance, so that later
page faults can be completed more quickly.
-@node Memory Mapped Files, Stack, Disk as Backing Store, Project 3--Virtual Memory
+@node Memory Mapped Files
@section Memory Mapped Files
The traditional way to access the file system is via @code{read} and
memory mapped files for problem 3 of this assignment, but you should
design your solutions to problems 1 and 2 to account for this.
-@node Stack, Problem 3-1 Page Table Management, Memory Mapped Files, Project 3--Virtual Memory
+@node Stack
@section Stack
In project 2, the stack was a single page at the top of the user
unless those pages are unavailable because they are in use by another
segment, in which case some sort of fault should occur.
-@node Problem 3-1 Page Table Management, Problem 3-2 Paging To and From Disk, Stack, Project 3--Virtual Memory
+@node Problem 3-1 Page Table Management
@section Problem 3-1: Page Table Management
Implement page directory and page table management to support virtual
use your new page table management code to construct the page tables
only as page faults occur for them.
-@node Problem 3-2 Paging To and From Disk, Problem 3-3 Memory Mapped Files, Problem 3-1 Page Table Management, Project 3--Virtual Memory
+@node Problem 3-2 Paging To and From Disk
@section Problem 3-2: Paging To and From Disk
Implement paging to and from disk.
structures in part 1, sharing of read-only pages should not make this
part significantly harder.
-@node Problem 3-3 Memory Mapped Files, Virtual Memory FAQ, Problem 3-2 Paging To and From Disk, Project 3--Virtual Memory
+@node Problem 3-3 Memory Mapped Files
@section Problem 3-3: Memory Mapped Files
Implement memory mapped files.
the file. (In fact, you may choose to implement executable mappings
as a special case of file mappings.)
-@node Virtual Memory FAQ, , Problem 3-3 Memory Mapped Files, Project 3--Virtual Memory
+@node Virtual Memory FAQ
@section FAQ
@enumerate 1
#include <syscall.h>
int main (void)
-{
+@{
void *addr = (void *) 0x10000000;
int fd = open ("foo");
int length = filesize (fd);
if (mmap (fd, addr, length))
printf ("success!\n");
-}
+@}
@end example
Suppose @file{foo} is a text file and you want to print the first 64