From c7129e1a1a2cca41042c1e5e27584550dfcab922 Mon Sep 17 00:00:00 2001 From: manuel Date: Fri, 22 Jun 2012 01:47:28 +0200 Subject: use 80 character long lines --- proj2.txt | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/proj2.txt b/proj2.txt index ab96337..2cc2d43 100644 --- a/proj2.txt +++ b/proj2.txt @@ -59,11 +59,11 @@ actual page-loading is done when a page-fault occurs. >> A3: How do you deal with or prevent page faults in file system >> routines. Argue why your solution is deadlock free. -All system calls assert that a page fault can never occur while the -file system is locked. As for this reason syscall_read uses a temporary page -as buffer which is copied into user space after the filesystem is unlocked -again. This means if a page fault occurs during copying the file system is not -locked an therefore this cannot create a deadlock. +All system calls assert that a page fault can never occur while the file system +is locked. As for this reason syscall_read uses a temporary page as buffer which +is copied into user space after the filesystem is unlocked again. This means if +a page fault occurs during copying the file system is not locked an therefore +this cannot create a deadlock. STACK GROWTH ============ @@ -123,22 +123,21 @@ struct mmap_table_entry: >> memory subsystem. For every page required by the memory mapped file we create an associated entry -in the page table. It contains the first virtual address of the memory mapped file, -the file handler and the number of pages which are needed for the mapping. +in the page table. It contains the first virtual address of the memory mapped +file, the file handler and the number of pages which are needed for the mapping. Additionally we store the lowest free index, the highest used index and the -capacity of the mmap table. We then create for every page required by the -memory mapped file a new page table entry. +capacity of the mmap table. We then create for every page required by the memory +mapped file a new page table entry. >> C3: Explain how you determine whether a new file mapping overlaps >> any existing segment. We avoid overlaps of file mappings by determining in the systemcall which tries to map a file if the required number of pages for the mapping are still free. -To obtain this information we lookup the entries in the page table -that imply that the memory space needed for the mapping is occupied by other -pages. Furthermore we must check if any page not in the page table (for -instance loaded pages on the stack) occupies the space we want to map our file -to. +To obtain this information we lookup the entries in the page table that imply +that the memory space needed for the mapping is occupied by other pages. +Furthermore we must check if any page not in the page table (for instance loaded +pages on the stack) occupies the space we want to map our file to. ---- RATIONALE ---- @@ -150,7 +149,7 @@ to. >> the two situations. As our implementation of the supplemental page table does not distinguish -between pages of memory mapped files and pages of data segments they share +between pages of memory mapped files and pages of data segments they share the same insert and loading code. SURVEY QUESTIONS -- cgit v1.2.3