Friday, August 28, 2015

about MkLinux

MkLinux is an open source computer operating system started by the Open Software Foundation Research Institute and
 Apple Computer in February 1996 to port Linux to the PowerPC platform, and Macintosh computers. MkLinux is short for "Microkernel Linux", which refers to the project's adaptation of the Linux kernel to run as a server hosted atop version 3.0 of the Mach microkernel.

History

MkLinux started as a project sponsored by Apple Computer and OSF Research Institute, to get "Linux on Mach" ported to the Macintosh computer and for Apple to explore alternative kernel technologies on the Mac platform. At the time, there was no officially sponsored PowerPC port of Linux, and none specifically for Macintosh hardware. The OSF Institute, owner of the Mach microkernel and several other Unix-based technologies, was interested in promoting Mach on other platforms. Unlike the design of the later Mac OS X, MkLinux was specifically meant to take full advantage of the Mach microkernel. By contrast, OS X inherited from NeXTSTEPthe hybrid kernel called XNU, wherein the BSD kernel personality is grafted atop Mach, which are both run together in a single kernel address space.
The effort was spearheaded by Brett Halle at Apple, and development was later split between two main people: Michael Burg on device drivers and distribution at Apple in Cupertino, California; and Nick Stephen on Mach porting and development at the OSF in Grenoble, France. Other key individuals to work on the project included François Barbou at OSF, and Vicki Brown and Gilbert Coville at Apple.
MkLinux was officially announced at The 1996 World Wide Developers Conference (WWDC). A free CD containing a binary distribution of MkLinux was handed out to the attendees.
In the summer of 1998, the community-led MkLinux Developers Association took over development of the operating system.
The MkLinux distribution is much too large for casual users to have downloaded via the slow dial-up Internet access of the day, even using 56k modems. However, the official CDs were available in a book from Prime Time Freeware, published in English and in Japanese. The book covers installation, management, and use of the OS, and serves as a hardcopy manual.
Apple later released the Open Firmware-based Power Macintosh computers, an official PowerPC branch of the Linux kernel was created and was spearheaded by the LinuxPPC project. MkLinux and LinuxPPC developers traded a lot of ideas back and forth as both worked on their own ways of running Linux. Debian also released a traditional monolithic kernel distribution for PowerPC, as did SUSE, and Terra Soft Solutions with Yellow Dog Linux.
When Apple dropped support for MkLinux, the developer community struggled to improve the Mach kernel, and support various Power Macintosh models. MkLinux continued to be the only option for Macintosh NuBus computers until June 2000, when PPC/Linux for NuBus Power Macs was released.

Legacy

MkLinux is the first official attempt by Apple to support a free and open source software project. The work done with the Mach 3.0 kernel in MkLinux is said to have been extremely helpful in the initial porting of NeXTSTEP to the Macintosh hardware platform, which would later become OS X.
OS X is based on the Mach 3.0 microkernel, designed by Carnegie Mellon University, and later adapted to the Power Macintosh by Apple and the Open Software Foundation Research Institute (now part of Silicomp). This was known as osfmk, and was part of MkLinux (http://www.mklinux.org). Later, this and code from OSF’s commercial development efforts were incorporated into Darwin’s kernel. Throughout this evolutionary process, the Mach APIs used in OS X diverged in many ways from the original CMU Mach 3 APIs.
You may find older versions of the Mach source code interesting, both to satisfy historical curiosity and to avoid remaking mistakes made in earlier implementations.
— Apple, Inc., Kernel Programming Guide: Mach API Reference

Releases

VersionApprox DateNotes
DR1May 1996Linux 1.3
DR2September 1996Numerous bug fixes
DR2.1May 1997Linux 2.0; support for PCI machines
DR3July 1998
R1December 1999
pre-R2August 2002

No comments: