diff options
author | Thomas Schwinge <thomas@schwinge.name> | 2010-12-13 20:22:52 +0100 |
---|---|---|
committer | Thomas Schwinge <thomas@schwinge.name> | 2010-12-13 20:22:52 +0100 |
commit | 4eea3efc13acccfb613571f604f17e0ec68e5bed (patch) | |
tree | 9c72a7790d6eb1602614971853131e3cc3f68174 /microkernel/mach/external_pager_mechanism.mdwn | |
parent | cfccdc1bdbee7fb25ef0aa9639a3ffec926bf690 (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.mdwn | 14 |
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 |