[//]: # ([[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)." """]]