# Early beginnings Mach has quite a history. Everything actually started at the University of Rochester in 1975. It was invented to demonstrate how operating systems could be built using a modular design where processes communicated using message passing, even across networks. The system was called the Rochester Intelligent Gateway and ran on a 16 bit mini computer called Eclipse from Data General. One of the engineers behind the project was Richard Rashid. In 1979 he moved his socks to Carnegie Mellon University to continue his research on message passing operating systems. The result emerged in 1981 and was called Accent. Accent kept running at CMU until 1984 but was by then being run over by [[UNIX]]. Rashid then decided to use an early embrace strategy and started designing the third generation OS project called Mach. By making Mach compatible with UNIX, Mach was supposed to gain a lot of available UNIX software. Mach was a vast improvement over Accent. It incorporated parts commonly used today, such as: threads, better IPC, multiprocessor support and an advanced VM system. At the time of Mach's conception, DARPA was seeking a multiprocessor (MP) capable OS and found Mach. With money from the Dept. of Defense, 4.2BSD support was added, to bloat the kernel; but most of all, to add complete UNIX compatibility. Now enters the UNIX war. UNIX was owned by AT&T which controlled the market almost completely. Industry giants such as IBM, DEC and H got together and formed the Open Software Foundation, OSF. In an effort to conquer market share, OSF took the Mach 2.5 release and made it the OSF/1 system. By that time Mach contained a lot of BSD and AT&T code but the OSF hoped that it would be able to take control of the rudder with OSF/1. What happens after that is a story better told by someone else ... In 1989 CMU decided to revamp Mach. They removed the bloat and put the UNIX emulation in user space making the Mach 3.0 release -- the pure Mach release. Later on support for Mach 3.0 at CMU vaned and the project was taken over by the University of Utah. The FLUX group started the Mach4 project. An ambitious project which included complete rewrite of the x86 support code and integration of Linux 2.0 drivers. That's right, Linux awoke around 1991 so this makes it apx. 1994. # GNU Mach and OSKit-Mach GNU Mach is based on Mach4 from University of Utah, which in turn is based on Mach3 from Carnegie-Mellon University. The last release of Mach4 was the [UK22 release](http://www.cs.utah.edu/flux/mach4-i386/html/mach4-UK22.html). The OSKit was what evolved when the Mach4 project at University of Utah was dropped. The people involved wanted to reuse the work they had put into Mach in the form of hardware support and drivers. The oskit-mach version of GNU Mach was presented in November 1999 by Roland McGrath. The purpose of the port was to get better hardware support through new drivers and platform code available in the OSKit. On May 27 2002, after the Gnumach 1.3 release, Roland McGrath merged OSKit-Mach onto the HEAD of CVS making it the Gnumach 2.x mainline. Meanwhile, OSKit became unmaintained, thus posing more of a burden on than being helpful in GNU Mach development. Consequently, as of March 2006, nobody is working on OSKit Mach, or trying to use it. In 2005 Gianluca Guida started a different attempt to use the osenv interface with minimal changes to GNU Mach 1.x, thus allowing use of the generic driver interface while importing as little of the umaintained OSKit code as possible. However, there turned out to be serious problems with OSKit, so this attempt was abandoned as well. Today, GNU Mach development focuses on the 1.x branch again -- see also this list of [[gnumach/projects]]. # Status of the project GNU Mach 1.3 was released in May 2002, and features advanced boot script support, support for large disks (>= 10GB) and an improved console. GNU Mach is used as the default microkernel in the GNU/Hurd system. It is compatible with other popular Mach distributions. The device drivers for block devices and network cards are taken from Linux 2.0.x kernel versions (plus some backports of more recent drivers), so most newer hardware is not supported. As of March 2006 a GNU Mach 1.4 release is planned, focusing on code cleanup. It is meant to serve as a starting point for more radical future changes while maintaining 1.4.x as a stable branch. ---- Copyright (C) 2001 Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. -- [[Main/JoachimNilsson]] - 24 Oct 2002 Apple's Macintosh OSX (OS 10.x) is based on [Darwin](http://www.apple.com/macosx/technologies/darwin.html). _"Darwin uses a monolithic kernel based on [[TWiki/FreeBSD]] 4.4 and the OSF/mk Mach 3."_ Darwin also has a [Kernel Programming](http://developer.apple.com/techpubs/macosx/Darwin/General/KernelProgramming/About/index.html) Book. -- [[Main/GrantBow]] - 22 Oct 2002 IRC, freenode, #hurd, 2012-08-29: was moved the page from apple.com about darwin kernel programming as described on the https://www.gnu.org/software/hurd/microkernel/mach/history.html i found the page and it's https://developer.apple.com/library/mac/#documentation/Darwin/Conceptual/KernelProgramming/About/About.html it's not anymore the old page http://developer.apple.com/techpubs/macosx/Darwin/General/KernelProgramming/About/index.html and the link about darwin does noit exists anymore ! the new one could be https://ssl.apple.com/science/profiles/cornell the old one was http://www.apple.com/macosx/technologies/darwin.html the link to Darwin is changed i suppose that the new one it's https://ssl.apple.com/science/profiles/cornell and the link to Kern Programming it's https://developer.apple.com/library/mac/#documentation/Darwin/Conceptual/KernelProgramming/About/About.html can't be anymore http://developer.apple.com/techpubs/macosx/Darwin/General/KernelProgramming/About/index.html IRC, freenode, #hurd, 2013-07-03: *** natsukao (~natsukao@dynamic-adsl-94-37-184-109.clienti.tiscali.it) has joined channel #hurd hi on 2012-08-29: i wrote a part of messages that then were posted on http://www.gnu.org/software/hurd/microkernel/mach/history.html i am sorry to inform you that apple computer cuèertino.inc, has moved the URL: https://ssl.apple.com/science/profiles/cornell and i have not found nothing on the source code of that page, i used lftp without any success and then wget, nothing to do i have not found a copy cache of https://ssl.apple.com/science/profiles/cornell next time we save the documents and we provide to do our archive/s so that will be always available the infos *** natsukao (~natsukao@dynamic-adsl-94-37-184-109.clienti.tiscali.it) is now known as pavlx happy hacking !!!! "paolo del bene" p.s: i'll turn back as soon as possible i found the page of Darwin History, removed from apple compter cupertino.inc "Cached_ http___developer.apple.com_darwin_history.html" the page http://developer.apple.com/darwin/history.html was moved and now is available on: http://www.google.it/url?q=http://www.macmark.de/files/darwin_evolution.pdf%3FPHPSESSID%3D8b8683a81445f69d510734baa13aabfc&sa=U&ei=wMzTUb-NBIeFOOL4gNgE&ved=0CCQQFjAD&usg=AFQjCNFlLwC24nB5t14VUmedK4EmeE7Ohw or simply: http://www.macmark.de/files/darwin_evolution.pdf slides on: "Travel - Computer Science and Software Engineering" www.csse.uwa.edu.au/~peterj/personal/PDFs/WWDC2004-6UP.pdf about apple computer cupertino.inc, but there are many interesting news pavlx: uh, lot's of marketing noise from apple >,< i found better material just now: http://www.pcs.cnu.edu/~mzhang/CPSC450_550/2003CaseStudy/Mach_Presentation_DavidRamsey.ppt teythoon, sorry, i turn back to sleep, see you later, paolo W3C_Freedom@riseup.net i'll charge of that page only things dedicated to GNU/HURD, but slides are not mine, i found on internet pavlx: sure, I didn't ment to offend you in any way IRC, freenode, #hurd, 2013-07-04: there are few problems: http://www.gnu.org/software/hurd/microkernel/mach/history.html on the page GrantBow wrote: Apple's Macintosh OSX (OS 10.x) is based on Darwin. "Darwin uses a monolithic kernel based on ?FreeBSD 4.4 and the OSF/mk Mach 3." Darwin also has a Kernel Programming Book. the link to Darwin was moved, is not anymore http://www.apple.com/macosx/technologies/darwin.html then it's not FreeBSD 4.4 but BSD and the link to Kernel Programming was moved is not http://developer.apple.com/techpubs/macosx/Darwin/General/KernelProgramming/About/index.html but https://developer.apple.com/library/mac/#documentation/Darwin/Conceptual/KernelProgramming/About/About.html apple has moved the URL: https://ssl.apple.com/science/profiles/cornell apple has moved the URL: http://www.apple.com/macosx/technologies/darwin.html so on the website you can left few things about my old post: from IRC, freenode, #hurd, 2012-08-29: needs to remove http://dpaste.com/1286266/ the new one will be: http://pastebin.com/yMm8tcTN IRC, freenode, #hurd, 2013-07-04: was moved the page from apple.com about darwin kernel programming as described on the https://www.gnu.org/software/hurd/microkernel/mach/history.html the link to Kernel Programming: https://developer.apple.com/library/mac/#documentation/Darwin/Conceptual/KernelProgramming/About/About.html (anyway i searching with any key the things moved from apple) about Darwin type http://apple.com/darwin on the right side, towards the end of the website it says: Darwin Technologies click on it, or copy the URL in an other tab of your own browser, and read: https://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/OSX_Technology_Overview/SystemTechnology/SystemTechnology.html and something is related to Darwin and again : http://pastebin.com/DHkJDxy8 # Mac OS X Server ... This kernel, known as Darwin, provides a stable, high-performance platform for developing groundbreaking applications and system technologies. ... http://www.apple.com/server/docs/MacOSX_Server_TO_300195.pdf # Mac OS X Server Command-Line Administration Page 1. Mac OS X Server Command-Line Administration For Version 10.3 http://www.apple.com/server/docs/Command_Line.pdf # Press Info - Apple “Open Sources” Rendezvous ... Rendezvous is part of a broader open source release today from Apple at http://developer.apple.com/darwin which includes the Darwin 6.0.1 ... http://www.apple.com/pr/library/2002/09/25Apple-Open-Sources-Rendezvous.html # Press Info - Apple Releases Darwin 1.0 Open Source ... Apple Releases Darwin 1.0 Open Source. New ... modules. Darwin 1.0 gives developers access to essential Mac OS X source code. ... http://www.apple.com/pr/library/2000/04/05Apple-Releases-Darwin-1-0-Open-Source.html # Press Info - Apple's Mac OS X to Ship on March 24 ... Mac OS X is built upon an incredibly stable, open source, UNIX based foundation called Darwin and features true memory protection, preemptive ... http://www.apple.com/pr/library/2001/01/09Apples-Mac-OS-X-to-Ship-on-March-24.html # Press Info - Mac OS X “Gold Master” Released To ... ... Mac OS X is built upon an incredibly stable, open source, UNIX basedfoundation called Darwin and features true memory protection ... http://www.apple.com/pr/library/2001/03/07Mac-OS-X-Gold-Master-Released-To-Manufacturing.html * Press Info - Apple Announces Mac OS X “Jaguar” ... ... As an active member of the Open Source community, Apple has distributed Open Directory technology through the Darwin Open Source Project. ... http://www.apple.com/pr/library/2002/07/17Apple-Announces-Mac-OS-X-Jaguar-Server-Worlds-Easiest-to-Manage-UNIX-Based-Server-Software.html and: http://lists.apple.com/archives/darwinos-users/2005/Apr/msg00021.html pavlx: it's hard to follow the changes you are talking about. Perhaps you could simply edit these wiki pages? anyway i am saying to you that i found a mailing list where are availables the sources codes of darwin ppc-801 and x86 and as last thing mac os x 10.4 pavlx: what's all this about ? i am sorry, i did changes on the wiki but after the preview and after to have saved, it show again the old chat of 2012 --- [[!tag open_issue_documentation]]Update for [[GNU Mach 1.4 release|news/2013-09-27]], [[GNU Mach 1.5|news/2015-04-10-releases]], [[GNU Mach 1.6|news/2015-10-31-releases]], [[GNU Mach 1.7|news/2016-05-18-releases]], [[GNU Mach 1.8|news/2016-12-18-releases]].