summaryrefslogtreecommitdiff
path: root/microkernel/mach/pmap.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'microkernel/mach/pmap.mdwn')
-rw-r--r--microkernel/mach/pmap.mdwn74
1 files changed, 74 insertions, 0 deletions
diff --git a/microkernel/mach/pmap.mdwn b/microkernel/mach/pmap.mdwn
new file mode 100644
index 00000000..6910bfd3
--- /dev/null
+++ b/microkernel/mach/pmap.mdwn
@@ -0,0 +1,74 @@
+[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]]
+
+[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
+id="license" text="Permission is granted to copy, distribute and/or modify this
+document under the terms of the GNU Free Documentation License, Version 1.2 or
+any later version published by the Free Software Foundation; with no Invariant
+Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
+
+[[!tag open_issue_documentation open_issue_gnumach]]
+
+
+# IRC, freenode, #hurd, 2012-02-01
+
+ <sekon> on Hurd what is the difference between kernel memory object and
+ pmap module ??
+ <sekon> pmap is heap/libraries table for each thread while kernel memory
+ object refers to arbitary blobs of data ??
+ <braunr> sekon: pmap is the low level memory mapping module
+ <braunr> i.e. it programs the mmu
+ <braunr> and these aren't hurd-specific, they are mach modules
+ <sekon> braunr: so kernel memonry objects consists of a bunch of pmaps ??
+ <braunr> sekon: memory objects can be various things, be specific please
+ <braunr> (they're certainly not a bunch of pmaps though, no)
+ <braunr> there is one pmap per vm_map, and there is one vm_map per task
+ <braunr> and there is no need for double question marks, is ther ??
+ <sekon> lol then is kernel memory object , please excuse the metaphor
+ something like a base class for pmap
+ <braunr> i don't know what a "kernel memory object" is, be specific please,
+ again
+ <sekon> braunr:
+ http://courses.cs.vt.edu/~cs5204/fall05-gback/presentations/MachOS_Rajesh.ppt
+ <sekon> goto page titled External Memory Management (EMM) on page 15
+ <sekon> Kernel memory object shows up
+ <braunr> you know there are other formats for this document
+ <sekon> nope .. i did not know that
+ <sekon> in page 17 pmamp shows up
+ <braunr> "the problems of external memory management" ?
+ <sekon> braunr: the paper i am also reading is called x15mach_thesis
+ <braunr> ah, that's mine
+ * sekon bows
+ <sekon> :)
+ <braunr> ok i see page 17
+ <sekon> so please good sir explain the relationship between kernel memory
+ object and pmap
+ <sekon> (if any)
+ <sekon> braunr: there is no mention of kernel memory object
+ <braunr> again, i don't see any reference or definition of "kernel memory
+ object"
+ <sekon> but your paper says
+ <sekon> that when page faults occur
+ <sekon> the kernel contact the manager for a kernel reference object
+ <sekon> *memory
+ <braunr> where ?
+ <sekon> in section 2.1.3 (unless i read it wrong)
+ <sekon> no just a sec
+ <sekon> 2.1.5
+ <braunr> i never used the expression "kernel memory object" there :p
+ <braunr> anyway, you're referring simple to memory objects as seen by
+ userspace pagers
+ <braunr> a memory object is a data container
+ <braunr> usually, it's a file
+ <braunr> but it can be anything
+ <braunr> the pager is the task that provides its content and implements the
+ object methods
+ <braunr> as for the relation between them and the pmap module, it's a
+ distant one
+ <braunr> i'll explain it with an example
+ <braunr> page fault -> request content of memory object at a given offset
+ with given length from pager -> ask pmap to establish the mapping in the
+ mmu
+ <sekon> braunr: thank you ver much
+ <sekon> *very