<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Mach_%28Kernel%29</id>
	<title>Mach (Kernel) - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Mach_%28Kernel%29"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Mach_(Kernel)&amp;action=history"/>
	<updated>2026-05-30T09:36:14Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Mach_(Kernel)&amp;diff=20145&amp;oldid=prev</id>
		<title>imported&gt;SchlurcherBot: Bot: http → https</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Mach_(Kernel)&amp;diff=20145&amp;oldid=prev"/>
		<updated>2025-05-26T17:49:25Z</updated>

		<summary type="html">&lt;p&gt;Bot: http → https&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Mach&amp;#039;&amp;#039;&amp;#039; ist ein [[Mikrokernel]], der 1985–1994 im Rahmen eines [[Defense Advanced Research Projects Agency|DARPA]]-finanzierten Projekts an der [[Carnegie Mellon University]] (CMU) entwickelt wurde. Das Design-Ziel für Mach war ein Unix-kompatibles Betriebssystem, der [[Kernel (Betriebssystem)|Kernel]] ist jedoch prinzipiell für verschiedene [[Betriebssystem]]e verwendbar.&amp;lt;!-- Vor Version&amp;amp;nbsp;3 entstanden verschiedene Varianten mit teils untereinander inkompatiblen Erweiterungen. --&amp;gt; Bis Version&amp;amp;nbsp;2 war ein vollständiger 4.3BSD-Kernel Teil von Mach, der jedoch in Mach 3.0 entfernt werden konnte. Für das Betriebssystem OSF/1 wurde der ursprüngliche CMU-Mach3-Kernel weiterentwickelt und von anderen Mach-Implementierungen weiterer Betriebssysteme als &amp;#039;&amp;#039;&amp;#039;Open Software Foundation Mach Kernel&amp;#039;&amp;#039;&amp;#039;, kurz &amp;#039;&amp;#039;&amp;#039;OSF&amp;amp;nbsp;MK&amp;#039;&amp;#039;&amp;#039;, übernommen. An der [[University of Utah|Universität von Utah]] wurde in der &amp;#039;&amp;#039;{{lang|en|Flux Research Group}}&amp;#039;&amp;#039; bis 1996 an Mach&amp;amp;nbsp;4 gearbeitet, das als Basis für die freie Implementierung &amp;#039;&amp;#039;&amp;#039;GNU Mach&amp;#039;&amp;#039;&amp;#039; diente.&lt;br /&gt;
&lt;br /&gt;
Mach gilt heute als erste Mikrokernel-Generation. Der [[L4 (Mikrokernel)|L4]]-Mikrokernel hat die größte Schwäche von Mach, den zu langsamen Interkommunikationsprozess, annähernd behoben und gilt als zweite Mikrokernel-Generation.&amp;lt;ref&amp;gt;{{Internetquelle |autor=Jason Wu, Dan Williams, Hakim Weatherspoon |url=https://www.cs.cornell.edu/courses/cs6410/2010fa/lectures/06-microkernels.pdf |titel=Microkernels: Mach and L4 |seiten=2 |format=PDF; 1,6&amp;amp;nbsp;MB |sprache=en |abruf=2018-08-12 |abruf-verborgen=}}&amp;lt;/ref&amp;gt; Deshalb wird Mach manchmal auch als überholt bezeichnet.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://www.gnu.org/software/hurd/history/port_to_another_microkernel.html |titel=Porting the Hurd to another microkernel |werk=GNU Mach |hrsg=GNU |datum=2015-02-17 |sprache=en |zitat=…assuming that Mach is no longer considered state of the art… |abruf=2018-08-12}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Entwicklung ==&lt;br /&gt;
Mach wurde unter Leitung von [[Richard Rashid]] und [[Avie Tevanian]] an der [[Carnegie Mellon University]], kurz &amp;#039;&amp;#039;CMU&amp;#039;&amp;#039;, 1985 als Nachfolger von [[Accent (Kernel)|Accent]] entwickelt. Accent war ebenfalls von Rashid am CMU zwischen 1979 und 1981 entwickelt worden und lief dort bis 1985 auf den hauseigenen Rechnern, wurde aber schließlich durch den Erfolg von [[Unix]] obsolet.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://www.gnu.org/software/hurd/microkernel/mach/history.html |titel=Early beginnings |werk=GNU Mach History |hrsg=GNU |datum=2016-12-18 |sprache=en |abruf=2018-08-12}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mach hätte ursprünglich wohl MUCK heißen sollen, für {{enS|&amp;#039;&amp;#039;M&amp;#039;&amp;#039;ultiprocessor &amp;#039;&amp;#039;U&amp;#039;&amp;#039;niversal &amp;#039;&amp;#039;C&amp;#039;&amp;#039;ommunication &amp;#039;&amp;#039;K&amp;#039;&amp;#039;ernel}}.&amp;lt;ref&amp;gt;{{Internetquelle |autor=Amit Singh |url=http://www.kernelthread.com/publications/appleoshistory/8.html |titel=What NeXT? The Mach Factor |titelerg=Mach |werk=kernelthread.org |datum=2004-02 |sprache=en |zitat=Richard Rashid recounts that after a series of unsuccessful naming attempts, he came up with the name MUCK (Multiprocessor Universal Communication Kernel). One of his colleagues, Dario Giuse, who was Italian, inadvertently pronounced MUCK as ‘Mach’, and the name stuck. |abruf=2018-08-12 |archiv-url=https://web.archive.org/web/20180924034102/http://www.kernelthread.com/publications/appleoshistory/8.html |archiv-datum=2018-09-24 |offline=1}}&amp;lt;/ref&amp;gt; Der endgültige Name „Mach“ war zwar keine Abkürzung mehr, doch waren die wesentlichen Ziele der Entwicklung damit klar abgesteckt: [[Mehrprozessorsystem|Multiprozessorfähigkeit]], leichte [[Portierung (Software)|Portierbarkeit]] sowie Nutzung von [[Interprozesskommunikation]] (IPC, kurz für {{enS|interprocess communication}}). Als Mikrokernel sollte Mach sehr klein bleiben und nur die nötigsten Funktionen erledigen. Das Konzept der Interprozesskommunikation zur Verarbeitung von &amp;#039;&amp;#039;{{lang|en|Mach messages}}&amp;#039;&amp;#039; zur Verwaltung einzelner darauf laufender Prozesse wurde von Accent übernommen, die [[virtuelle Speicherverwaltung]] sowie die [[Prozess (Informatik)|Process]]- und [[Thread (Informatik)|Thread]]-Verwaltung sind jedoch Neuentwicklungen.&lt;br /&gt;
&lt;br /&gt;
Zu Entwicklungsbeginn wurde [[4.2BSD]]-Unix als Grundlage für ein &amp;#039;&amp;#039;Mach-Betriebssystem&amp;#039;&amp;#039; verwendet. In diesen bestehenden BSD-Kernel wurden nach und nach Mach-Komponenten eingebaut, um die vorhandenen Kernel-Funktionen zu ersetzen bzw. – wie später vorgesehen – diese Funktionen auf die Abstraktion im Mach-Mikrokernel aufbauen zu lassen. Obwohl es hauptsächlich um den Mikrokernel ging, wollte man von Anfang an die Unix-Kompatibilität bewahren. Später war geplant, dass auch andere existierende Betriebssysteme auf Mach als Kernel laufen sollten, darunter auch [[System V|System&amp;amp;nbsp;V]], [[Virtual Memory System|VMS]] und sogar [[MS-DOS]].&amp;lt;ref&amp;gt;{{Internetquelle |autor=Joseph Boykin, Alan Langerman |url=https://www.usenix.org/legacy/publications/compsystems/1990/win_boykin.pdf |titel=Mach/4.3BSD: A Conservative Approach To Parallelization |werk=Computing Systems, Vol.&amp;amp;nbsp;3 |hrsg=Encore Computer Corporation |seiten=2 |datum=1990 |format=PDF; 1,5&amp;amp;nbsp;MB |sprache=en |zitat=The designers of Mach intend to produce a compact, efficient kernel on top of which may be layered interfaces for traditional operating systems such as 4.3BSD, System&amp;amp;nbsp;V, MS-DOS, VMS, etc. |abruf=2018-08-12}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Mach-Betriebssystem wurde auf [[4.3BSD]] aktualisiert, als dieses 1986 verfügbar wurde. Bis zur ersten veröffentlichten Version im selben Jahr&amp;lt;!-- 1986--&amp;gt;, Mach 1.0, wurde an der Verbesserung der Geschwindigkeit gegenüber dem vorhandenen monolithischen Kernel gearbeitet. 1988, mit Mach 2.0, lief der Kernel bereits auf den Architekturen [[Digital Equipment Corporation|DEC]] [[Virtual Address eXtension|VAX]], [[IBM RT|IBM-RT]]-PC und [[Sun Microsystems|Sun]]&amp;amp;nbsp;3 und wurde {{nowrap|z.&amp;amp;thinsp;B.}} von BBN Advanced Computers Inc., Evans and Sutherland Computer Division, Encore Computers und NeXT für kommerziell vertriebene Unix-Betriebssysteme, {{nowrap|u.&amp;amp;thinsp;a.}} auf den Rechnerarchitekturen IBM RP3, Sequent Balance, [[Macintosh&amp;amp;nbsp;II]], [[System/370|IBM 370]] und [[Intel 80386]] genutzt.&amp;lt;ref&amp;gt;{{Internetquelle |autor=Richard Rashid, {{nowrap|u.&amp;amp;thinsp;a.}}&amp;lt;!--Daniel Julin, Douglas Orr, Richard Sanzi, Robert Baron, Alessandro Forin, David Golub, Michael Jones--&amp;gt; |url=https://srl.cs.jhu.edu/courses/600.439/syskernel.pdf |titel=Mach: A System Software Kernel |hrsg=Carnegie Mellon University, Department of Computer Science |seiten=3 |datum=1988-11 |format=PDF; 13&amp;amp;nbsp;kB |sprache=en |kommentar=Abschnitt &amp;#039;&amp;#039;4. Current Status&amp;#039;&amp;#039; |abruf=2018-10-07}}&amp;lt;/ref&amp;gt; Bis Mach 2.6 waren noch große Teile des [[Berkeley Software Distribution|BSD]]-Kernels selbst enthalten, womit Mach zwar größer als ein reiner BSD-Kernel war, aber auch voll dazu kompatibel. Mit Mach 3.0 von 1989 wurden alle BSD-Bestandteile ausgelagert und Mach zum Mikrokernel, dem anfänglichen Entwicklungsziel. Der verbleibende reine Mikrokernel war dadurch leichter für weitere Betriebssysteme nutzbar. Nachdem CMU Mach3 veröffentlichte, wurde der Mikrokernel vom OSF Research Institute im Rahmen des OSF/1-Betriebssystems weiterentwickelt. Durch die zahlreichen Verbesserungen erhielt dieser Kernel den Namen OSF&amp;amp;nbsp;MK.&amp;lt;ref&amp;gt;{{Internetquelle |autor=François Barbou des Places, Nick Stephen, Franklin D. Reynolds |url=http://bat8.inria.fr/~lang/hotlist/free/licence/fsf96/mklinux.html |titel=Linux on the OSF Mach3 microkernel |hrsg=OSF Research Institute, Grenoble and Cambridge |sprache=en |zitat=The OSF Research Institute has made significant improvements and extensions to the original CMU Mach3.0 microkernel, and the result, named OSF MK, is still available for free. |abruf=2018-10-05 |archiv-url=https://web.archive.org/web/20120211081545/http://bat8.inria.fr/~lang/hotlist/free/licence/fsf96/mklinux.html |archiv-datum=2012-02-11 |offline=1}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auf OSF&amp;amp;nbsp;MK, dem verbesserten Mach3-Kernel, wurde ab 1995 [[MkLinux]] entwickelt und gleichzeitig OSF&amp;amp;nbsp;MK auf die PowerPC-Plattform portiert. MkLinux ist als &amp;#039;&amp;#039;{{lang|en|Single Server}}&amp;#039;&amp;#039; angelegt, das heißt, Linux wird als einzelner Prozess ({{enS|task}}) auf dem Mach3-Mikrokernel ausgeführt. Auf OSF&amp;amp;nbsp;MK basiert ebenfalls der in [[Rhapsody (Betriebssystem)|Rhapsody]] und [[macOS]] eingesetzte [[XNU]]-Kernel, der jedoch als [[Hybridkernel]] ausgelegt ist und somit nicht mehr nur dem Mikrokernel-Konzept von Mach entspricht.&lt;br /&gt;
&lt;br /&gt;
Aufbauend auf CMU Mach3, wurde an der [[University of Utah|Universität von Utah]], kurz UU, in der &amp;#039;&amp;#039;{{lang|en|Flux Research Group}}&amp;#039;&amp;#039; der Abteilung Computerwissenschaften ({{enS|Departement of Computer Science}}), bis 1996 an Version&amp;amp;nbsp;4 von Mach gearbeitet. Mach4 hätte als Kernel für ein Betriebssystem im Rahmen des Flux-Projekts dienen sollen, wurde jedoch nach kurzer Zeit nicht mehr weiterentwickelt und zugunsten von OSKit aufgegeben. OSKit beinhaltet die ursprünglich für Mach4 entwickelten Kompatibilitätsschichten ({{enS|glue-code}}), um Linux-Treiber und Unix-Komponenten mit relativ geringem Aufwand auf andere Betriebssysteme portieren zu können.&lt;br /&gt;
&lt;br /&gt;
Mach4 diente als Basis für die freie Implementierung GNU&amp;amp;nbsp;Mach, die beim [[GNU]]-Betriebssystem eingesetzt wird. Aufbauend auf den Mach-Mikrokernel stellt [[GNU&amp;amp;nbsp;Hurd]] die Unix-kompatible Betriebssystemkomponente (analog zu BSD-Unix bei CMU&amp;amp;nbsp;Mach). In den 1990er Jahren wurde [[Linux (Kernel)|Linux]] als ([[Monolithischer Kernel|monolithischer]]) Kernel benutzt, was [[GNU/Linux]] als vorläufiges GNU-Betriebssystem hervorbrachte, bis der GNU-eigene Kernel&amp;amp;nbsp;– GNU&amp;amp;nbsp;Hurd&amp;amp;nbsp;– benutzbar war. (Siehe [[GNU/Linux-Namensstreit]].)&lt;br /&gt;
&lt;br /&gt;
== {{Anker|Aufbau|Systemkomponenten|Komponenten}}Eigenschaften ==&lt;br /&gt;
Zu den Design-Zielen von Mach zählte zusätzlich auch [[Multitasking]] und [[Speicherschutz]]. Als Mikrokernel soll Mach so wenig der traditionellen Kernel-Funktionen wie möglich und gleichzeitig so viele wie nötig implementieren. Daraus ergaben sich diese vier Kernaufgaben:&lt;br /&gt;
* Prozess- und Thread-Verwaltung, {{enS|tasks and threads}}&lt;br /&gt;
* Interprozesskommunikation, IPC&lt;br /&gt;
* virtueller Speicher&lt;br /&gt;
* [[Prozess-Scheduler|Scheduling]]&lt;br /&gt;
&lt;br /&gt;
Als minimale Abstraktion bietet Mach letztlich folgende Systemkomponenten, die sehr stark auf die Interprozesskommunikation (IPC) zurückgreifen:&amp;lt;ref&amp;gt;{{Internetquelle |autor=&amp;lt;!--unbekannt--&amp;gt; |url=http://web.cecs.pdx.edu/~walpole/class/cs533/papers/silber-mach.pdf |titel=The Mach System |titelerg=Appendix&amp;amp;nbsp;B |werk=unbekannt |hrsg=&amp;lt;!-- unbekannt --&amp;gt; |datum=&amp;lt;!-- irgendwann nach 1992; siehe Quellen auf PDF-Seite 30 --&amp;gt; |format=PDF; 826&amp;amp;nbsp;kB |sprache=en |abruf=2018-08-12 |archiv-datum=2018-11-26 |archiv-url=https://web.archive.org/web/20181126074218/http://web.cecs.pdx.edu/~walpole/class/cs533/papers/silber-mach.pdf |offline=ja}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* {{lang|en|task}}: ein Prozess, der einen oder mehrere Threads enthalten kann&lt;br /&gt;
* {{lang|en|thread}}: die kleinste Ausführungseinheit, die Teil eines Prozesses ist&lt;br /&gt;
* {{lang|en|port}}: ein einfacher Objektreferenzmechanismus von Mach, implementiert durch den Mach-IPC-Mechanismus&lt;br /&gt;
* {{lang|en|port set}}: eine Gruppe von ports, die sich einen gemeinsamen message queue teilen&lt;br /&gt;
* {{lang|en|message}}: eine grundlegende Methode zur Kommunikation zwischen Threads&lt;br /&gt;
* {{lang|en|memory object}}: ein Speicherobjekt, das von Prozessen genutzt werden kann&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
* MACH 0.x–2.5 Referenzimplementation&lt;br /&gt;
** Mach-Betriebssystem der [[Carnegie Mellon University]] (CMU)&lt;br /&gt;
* MACH 2.0&lt;br /&gt;
** [[NeXTStep]] bis 0.9 (1988), das auf den ersten [[NeXTcube]]s vorinstallierte Betriebssystem&lt;br /&gt;
* MACH 2.5&lt;br /&gt;
** [[OSF/1]] (ab 1989), später Digital UNIX und [[Tru64 UNIX]] (HP; bis 2012)&lt;br /&gt;
** NeXTStep 1.0–3.3 (1989–1995) bzw. umbenannt in [[OPENSTEP]] 4.0–4.2 (1996–1997)&lt;br /&gt;
* CMU Mach3&lt;br /&gt;
** OSF/1 (ab 1989)&lt;br /&gt;
* OSF&amp;amp;nbsp;MK, verbesserter CMU-Mach3-Kernel durch die [[Open Software Foundation]]&lt;br /&gt;
** OSF/1 (ab 1990) und dessen Nachfolger [[Tru64 UNIX]] (1993–2012)&lt;br /&gt;
** [[MkLinux]] (1996–2002) – [[Linux (Kernel)|Linux-Kernel]] als einzelner Task im Mach-Kernel&lt;br /&gt;
* Mach4, Weiterentwicklung durch die [[University of Utah|Universität von Utah]]&lt;br /&gt;
* GNU&amp;amp;nbsp;Mach, Weiterentwicklung von Mach4 durch das [[GNU]]-Projekt&lt;br /&gt;
** in Form von [[GNU&amp;amp;nbsp;Hurd]], {{nowrap|u.&amp;amp;thinsp;a.}}&lt;br /&gt;
*** [[Debian GNU/Hurd]] (seit 1998)&lt;br /&gt;
* Mach-basiert (nur teilweise implementiert oder stark verändert), Beispiele:&lt;br /&gt;
** [[OS/2]] Warp Connect, PowerPC edition ([[Entwicklungsstadium (Software)#Beta-Version|Beta-Versionen]] ab 1994)&amp;lt;ref&amp;gt;{{Internetquelle |url=https://www.os2museum.com/wp/os2-history/os2-warp-powerpc-edition/ |titel=OS/2 Warp, PowerPC Edition |titelerg=The PowerPC adventure—by far the most exotic release of OS/2 |werk=OS/2 Museum |sprache=en |zitat=(OS/2 for PowerPCs System Overview) The product was based on the IBM microkernel, which was a refinement of the Carnegie Mellon University Mach microkernel. The microkernel bore no resemblance to the Intel OS/2 kernel whatsoever and it was also very different from most other operating systems of the time (NeXTSTEP was also based on the Mach microkernel). |abruf=2018-12-14}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
** in Form von [[XNU]], einem zum [[Hybridkernel]] weiterentwickelten OSF-MK-Kernel u.&amp;amp;nbsp;a. mit Komponenten des FreeBSD-Kernels:&lt;br /&gt;
*** [[Rhapsody (Betriebssystem)|Rhapsody]] (1997–2000)&lt;br /&gt;
*** [[Darwin (Betriebssystem)|Darwin]] (ab 1999) als Basis von [[macOS]], [[iOS (Betriebssystem)|iOS]], [[iPadOS]], [[tvOS]], [[watchOS]] und [[audioOS]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [https://www-2.cs.cmu.edu/afs/cs/project/mach/public/www/mach.html Mach-Homepage der Carnegie-Mellon-Universität] (englisch)&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Betriebssystem]]&lt;/div&gt;</summary>
		<author><name>imported&gt;SchlurcherBot</name></author>
	</entry>
</feed>