1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
[//]: # ([[meta copyright="Copyright © 2007, 2008, 2010, 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]]."]]"""]]
[[!meta title="Mach"]]
Mach is a so-called first generation [[microkernel]]. Originally developed by Carnegie Mellon University (CMU) from 1985 to 1994, which was then forked and carried from 1996 onward by GNU. It is the
microkernel currently used by the [[Hurd]].
GNU Mach is mostly shipped under a BSD/MIT license, some parts are shipped under
the General Public License, either version 2, or (at your option) any later
version.
The Linux drivers part is shipped under the General Public License version 2,
but that can be disabled easily at compile time.
* [[Concepts]]
* [[Deficiencies]]
* [[Documentation]]
* [[History]]
* [Torvalds, Tanenbaum
Debate](http://choices.cs.illinois.edu/cache/Linus_vs_Tanenbaum.html)
# Implementations
* [[GNU_Mach|gnumach]]
* [Apple's XNU (Darwin)](https://github.com/apple-oss-distributions/xnu) (**non-free**)
* [[open_issues/OSF_Mach]]
# Related
* [[Mach_Interface_Generator_(MIG)|mig]]
[[!ymlfront data="""
kernel_foundation_unix:
"M. Accetta, R. Baron, W. Bolosky, D. Golub, R. Rashid, A. Tevanian, and
M. Young, Mach: A New Kernel Foundation for UNIX Development, USENIX
Conference Proceedings, July 1986. Paper
[\[pdf\]](http://www.cs.toronto.edu/~demke/469F.06/Handouts/mach_usenix86.pdf)."
kernel_interface:
"Mach 3 Kernel Interfaces. Open Software Foundation and Carnegie Mellon
University. Keith Loepere, Editor. NORMA-MK12: July 15, 1992. Book [\[ps
(HTTP)\]](http://www.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/kernel_interface.ps),
[\[ps
(FTP)\]](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/kernel_interface.ps)."
kernel_principles:
"Mach 3 Kernel Principles. Open Software Foundation and Carnegie Mellon
University. Keith Loepere. NORMA-MK12: July 15, 1992. Book [\[ps
(HTTP)\]](http://www.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/kernel_principles.ps),
[\[ps
(FTP)\]](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/kernel_principles.ps)."
server_interface:
"Mach 3 Server Writer’s Interfaces. Open Software Foundation and Carnegie
Mellon University. Keith Loepere, Editor. NORMA-MK12, user15: July 15,
1992. Book [\[ps
(HTTP)\]](http://www.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/server_interface.ps),
[\[ps
(FTP)\]](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/server_interface.ps)."
server_writer:
"Mach 3 Server Writer’s Guide. Open Software Foundation and Carnegie Mellon
University. Keith Loepere, Editor. NORMA-MK12, user15: July 15, 1992. Book
[\[ps
(HTTP)\]](http://www.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/server_writer.ps),
[\[ps
(FTP)\]](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/server_writer.ps)."
vm:
"R. Rashid, A. Tevanian, M. Young, D. Golub, and R. Baron,
Machine-Independent Virtual Memory Management for Paged Uniprocessor and
Multiprocessor Architectures, 2nd ACM Symposium on Architectural Support for
Programming Languages and Operating Systems (ASPLOS), October 1987. Paper
[\[pdf\]](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.111.7918&rep=rep1&type=pdf),
presentation
[\[ppt\]](http://www2.cs.uh.edu/~paris/6360/PowerPoint/Mach.ppt)."
"""]]
|