summaryrefslogtreecommitdiff
path: root/microkernel/mach/concepts.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'microkernel/mach/concepts.mdwn')
-rw-r--r--microkernel/mach/concepts.mdwn35
1 files changed, 31 insertions, 4 deletions
diff --git a/microkernel/mach/concepts.mdwn b/microkernel/mach/concepts.mdwn
index 04dbb1c6..0f7cbf00 100644
--- a/microkernel/mach/concepts.mdwn
+++ b/microkernel/mach/concepts.mdwn
@@ -1,6 +1,33 @@
-[[Mach]] is a first-generation [[microkernel]]. Mach's basic abstractions
-include [[address_space]]s in the form of [[task]]s, execution contexts in the
-form of [[thread]]s, [[IPC]], [[capabilities|capability]] in the form of [[port]]s, and
-[[memory_object]]s, which enable Mach's [[external_pager_mechanism]].
+[[!meta copyright="Copyright © 2002, 2003, 2007, 2010 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]]."]]"""]]
+
+[[Mach]] is a first-generation [[microkernel]].
+
+Mach's basic abstractions include [[virtual_address_space]]s in the form of
+[[task]]s, execution contexts in the form of [[thread]]s, [[IPC]],
+[[capabilities|capability]] in the form of [[port]]s, and [[memory_object]]s,
+which enable Mach's [[external_pager_mechanism]].
+
+Controlling [[task]]s, their [[virtual_address_space]], [[thread]]s, and other
+system objects in Mach is implemented by using [[port]]s, as opposed to other
+[[kernel]]s' [[system_call]] interface: almost all of the Mach API is
+implemented by sending [[message]]s to [[port]]s. Device drivers that reside
+in kernel space are controlled by ports, too.
Mach's [[API]] is well-[[documented|documentation]].
+
+[[!toggleable id=mach_kernel_principles text="""[[!template id=note
+text="*[[mach\_kernel\_principles|documentation]]*:
+{{$mach#kernel_principles}}"]]"""]]
+
+In particular the [[!toggle id=mach_kernel_principles
+text="[mach\_kernel\_principles]"]] book further elaborates on Mach's concepts
+and principles.