summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormanuel <manuel@mausz.at>2012-06-21 19:16:26 +0200
committermanuel <manuel@mausz.at>2012-06-21 19:16:26 +0200
commit5a6b07a186f9f3f718f312b6b9b365cb02da6556 (patch)
tree8415244bba6ebf0a32a3b330610994f5325a6286
parentf442c3fbe203752f0a751317d3e833fe0b660ae1 (diff)
downloadprogos-5a6b07a186f9f3f718f312b6b9b365cb02da6556.tar.gz
progos-5a6b07a186f9f3f718f312b6b9b365cb02da6556.tar.bz2
progos-5a6b07a186f9f3f718f312b6b9b365cb02da6556.zip
add structs into proj2 and some simple explanations
-rw-r--r--proj2.txt16
1 files changed, 16 insertions, 0 deletions
diff --git a/proj2.txt b/proj2.txt
index 8dd36f2..8572b3f 100644
--- a/proj2.txt
+++ b/proj2.txt
@@ -104,6 +104,17 @@ an exception.
104>> `struct' member, global or static variable, `typedef', or 104>> `struct' member, global or static variable, `typedef', or
105>> enumeration. Identify the purpose of each in 25 words or less. 105>> enumeration. Identify the purpose of each in 25 words or less.
106 106
107struct mmap_table:
108 struct mmap_table_entry **ids;
109 int id_free; ...lowest-index free
110 int id_max; ...highest-index used
111 int id_cap; ...mmap table capacity
112
113struct mmap_table_entry:
114 void *upage; ...virtual address of first page of mmapped file
115 struct file *file; ...file handle
116 int pages; ...number of pages the mapping needs
117
107struct page_table_entry: 118struct page_table_entry:
108 union struct TODO ...structure needed for loading of memory mapped files 119 union struct TODO ...structure needed for loading of memory mapped files
109 120
@@ -112,11 +123,15 @@ struct page_table_entry:
112>> C2: Describe how memory mapped files integrate into your virtual 123>> C2: Describe how memory mapped files integrate into your virtual
113>> memory subsystem. 124>> memory subsystem.
114 125
126for every page required by the memory mapped file we create a new page table
127entry
115TODO 128TODO
116 129
117>> C3: Explain how you determine whether a new file mapping overlaps 130>> C3: Explain how you determine whether a new file mapping overlaps
118>> any existing segment. 131>> any existing segment.
119 132
133in mmap() we simply check if the required pages are still free (no entry in
134the page table).
120TODO 135TODO
121 136
122---- RATIONALE ---- 137---- RATIONALE ----
@@ -128,6 +143,7 @@ TODO
128>> implementation either does or does not share much of the code for 143>> implementation either does or does not share much of the code for
129>> the two situations. 144>> the two situations.
130 145
146we share the same page table entries
131TODO 147TODO
132 148
133 SURVEY QUESTIONS 149 SURVEY QUESTIONS