summaryrefslogtreecommitdiff
path: root/microkernel/mach/external_pager_mechanism.mdwn
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@schwinge.name>2010-12-13 20:22:52 +0100
committerThomas Schwinge <thomas@schwinge.name>2010-12-13 20:22:52 +0100
commit4eea3efc13acccfb613571f604f17e0ec68e5bed (patch)
tree9c72a7790d6eb1602614971853131e3cc3f68174 /microkernel/mach/external_pager_mechanism.mdwn
parentcfccdc1bdbee7fb25ef0aa9639a3ffec926bf690 (diff)
``Some'' Mach documentation.
Parts have been rescued from 4b382d8daa5a9e2d54e78c18beeff76bc54dc16b:Mach/MachConcepts.mdwn.
Diffstat (limited to 'microkernel/mach/external_pager_mechanism.mdwn')
-rw-r--r--microkernel/mach/external_pager_mechanism.mdwn14
1 files changed, 6 insertions, 8 deletions
diff --git a/microkernel/mach/external_pager_mechanism.mdwn b/microkernel/mach/external_pager_mechanism.mdwn
index 2040f4ba..e169495a 100644
--- a/microkernel/mach/external_pager_mechanism.mdwn
+++ b/microkernel/mach/external_pager_mechanism.mdwn
@@ -9,18 +9,16 @@ 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]]."]]"""]]
-Mach provides a so-called external pager [[mechanism]]. This
+Mach provides a so-called *external pager [[mechanism]]*. This
mechanism serves to separate *managing memory* from *managing
-content*. Mach does the former while [[user_space]] [[task]]s do the
+content*. Mach does the former while user-space processes do the
latter.
# Introduction
-In Mach, a [[task]]'s [[address_space]] consists of references
-to [[memory_object]]s. A memory object is [[designated|designation]] using
-a [[port]] (a port is just a [[capability]]) and
-implemented by a normal [[process]].
+In Mach, a [[task]]'s [[virtual_address_space]] consists of references to
+[[memory_object]]s.
To associate a memory object with a portion of a task's
address space, `vm_map` is invoked on a capability designating
@@ -29,7 +27,7 @@ and the offset at which to install it. (The first time
a task maps an object, Mach sends an initialization message
to the server including a control capability, which it uses
to supply pages to the kernel.) This is essentially
-the same as mapping a file into an address space on [[Unix]]
+the same as mapping a file into an address space on [[UNIX]]
using `mmap`.
When a task [[faults|page_fault]], Mach checks to see if there is a memory
@@ -86,7 +84,7 @@ structures to manage the mapping and then invokes the
mappings in the client's address space and then replies to the `vm_map` RPC indicating
success.
-There is nothing stopping others from playing "the kernel." This is
+There is nothing stopping others from playing *the kernel*. This is
not a security problem: clients must [[trust]] the server from whom they
obtain memory objects and also the servers with whom they share
the object. Multiple memory managers are a reality that should be