MkLinux

Last updated
MkLinux
Developer OSF Research Institute, Apple Computer, MkLinux Developers Association, volunteer community
Written in C
OS family Macintosh, Linux (Unix-like)
Working stateDiscontinued, legacy
Source model Open source
Initial releaseFebruary 1996;28 years ago (1996-02)
Final release Pre-R2 / August 5, 2002;22 years ago (2002-08-05)
Marketing target Researchers, hobbyists
Available in English
Package manager RPM
Platforms PowerPC
Kernel type Microkernel
Userland Red Hat Linux
Default
user interface
Console, X11
License GNU General Public License
Preceded by Mach, Linux
Succeeded by macOS, PureDarwin, Linux
Official website mklinux.org

MkLinux (for Microkernel Linux) is an open-source software computer operating system begun by the Open Software Foundation Research Institute [1] and Apple Computer [2] in February 1996, to port Linux to the PowerPC platform, and Macintosh computers. The name refers to the Linux kernel being adapted to run as a server hosted on the Mach microkernel, version 3.0. [3]

Contents

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 macOS versions 10 and newer (not to be confused with the contemporaneous Mac OS versions 9 and older), MkLinux was designed to take full advantage of the Mach microkernel.

The effort was spearheaded by Apple's VP of Development Tools Ike Nassi [4] and 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 mid 1998, the community-led MkLinux Developers Association took over development of the operating system.

The MkLinux distribution was too large for casual users to have downloaded via the slow dial-up Internet access of the day, even when using 56k modems. However, the official CDs were available in a book from Prime Time Freeware, published in English [5] and in Japanese. [6] 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. [7] 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 to 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.

Reception

MacTech magazine observed this of the general state of Linux on Macintosh in 1999: "Seen as a Windows NT or commercial Unix killer in some circles, Linux also promises to give the Mac OS a boost in the right direction and might even give Mac OS X Server a run for its money among Apple shops." The installation process was seen as "either smooth as silk or very, very rough" and that it "can also be slightly more difficult to recompile the MkLinux kernel because of the extra steps to placate the Mach microkernel." MkLinux had greater hardware compatibility than LinuxPPC at the time, supporting both NuBus and PCI Macintosh systems whereas LinuxPPC only supports PCI. Compared to LinuxPPC, MkLinux was generally known as having a performance cost due to the overhead of the Mach kernel. The Linux environment was found to provide a potentially adequate desktop suite, but one that forgoes the entire Macintosh experience in favor of pure Linux. [8]

Legacy

MkLinux is the first official attempt by Apple to support a free and open-source software project. [2] 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 macOS. [3]

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 [3]

Releases

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

See also

Related Research Articles

<span class="mw-page-title-main">GNU Hurd</span> Operating system kernel designed as a replacement for Unix

GNU Hurd is a collection of microkernel servers written as part of GNU, for the GNU Mach microkernel. It has been under development since 1990 by the GNU Project of the Free Software Foundation, designed as a replacement for the Unix kernel, and released as free software under the GNU General Public License. When the Linux kernel proved to be a viable solution, development of GNU Hurd slowed, at times alternating between stasis and renewed activity and interest.

Mach is a kernel developed at Carnegie Mellon University by Richard Rashid and Avie Tevanian to support operating system research, primarily distributed and parallel computing. Mach is often considered one of the earliest examples of a microkernel. However, not all versions of Mach are microkernels. Mach's derivatives are the basis of the operating system kernel in GNU Hurd and of Apple's XNU kernel used in macOS, iOS, iPadOS, tvOS, and watchOS.

<span class="mw-page-title-main">PowerPC</span> RISC instruction set architecture by AIM alliance

PowerPC is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple–IBM–Motorola alliance, known as AIM. PowerPC, as an evolving instruction set, has been named Power ISA since 2006, while the old name lives on as a trademark for some implementations of Power Architecture–based processors.

Darwin is the core Unix-like operating system of macOS, iOS, watchOS, tvOS, iPadOS, audioOS, visionOS, and bridgeOS. It previously existed as an independent open-source operating system, first released by Apple Inc. in 2000. It is composed of code derived from NeXTSTEP, FreeBSD, other BSD operating systems, Mach, and other free software projects' code, as well as code developed by Apple.

<span class="mw-page-title-main">Taligent</span> Software company (1992–1998)

Taligent Inc. was an American software company. Based on the Pink object-oriented operating system conceived by Apple in 1988, Taligent Inc. was incorporated as an Apple/IBM partnership in 1992, and was dissolved into IBM in 1998.

<span class="mw-page-title-main">A/UX</span> Early Unix-based operating system from Apple Computer

A/UX is a Unix-based operating system from Apple Computer for Macintosh computers, integrated with System 7's graphical interface and application compatibility. It is Apple's first official Unix-based operating system, launched in 1988 and discontinued in 1995 with version 3.1.1. A/UX requires select 68k-based Macintosh models with an FPU and a paged memory management unit (PMMU), including the Macintosh II, SE/30, Quadra, and Centris series.

OSF/1 is a variant of the Unix operating system developed by the Open Software Foundation during the late 1980s and early 1990s. OSF/1 is one of the first operating systems to have used the Mach kernel developed at Carnegie Mellon University, and is probably best known as the native Unix operating system for DEC Alpha architecture systems.

CodeWarrior is an integrated development environment (IDE) published by NXP Semiconductors for editing, compiling, and debugging software for several microcontrollers and microprocessors and digital signal controllers used in embedded systems.

<span class="mw-page-title-main">XNU</span> Computer operating system kernel

XNU is the computer operating system (OS) kernel developed at Apple Inc. since December 1996 for use in the Mac OS X operating system and released as free and open-source software as part of the Darwin OS, which, in addition to being the basis for macOS, is also the basis for Apple TV Software, iOS, iPadOS, watchOS, visionOS, and tvOS.

The Macintosh Toolbox implements many of the high-level features of the Classic Mac OS, including a set of application programming interfaces for software development on the platform. The Toolbox consists of a number of "managers," software components such as QuickDraw, responsible for drawing onscreen graphics, and the Menu Manager, which maintain data structures describing the menu bar. As the original Macintosh was designed without virtual memory or memory protection, it was important to classify code according to when it should be loaded into memory or kept on disk, and how it should be accessed. The Toolbox consists of subroutines essential enough to be permanently kept in memory and accessible by a two-byte machine instruction; however it excludes core "kernel" functionality such as memory management and the file system. Note that the Toolbox does not draw the menu onscreen: menus were designed to have a customizable appearance, so the drawing code was stored in a resource, which could be on a disk.

<span class="mw-page-title-main">Workplace OS</span> Defunct 1990s operating system

Workplace OS is IBM's ultimate operating system prototype of the 1990s. It is the product of an exploratory research program in 1991 which yielded a design called the Grand Unifying Theory of Systems (GUTS), proposing to unify the world's systems as generalized "personalities" cohabitating concurrently upon a universally sophisticated platform of object-oriented frameworks upon one microkernel. Using personalities, a single machine would be able to run applications from multiple conventional operating systems like Unix or OS/2.

<span class="mw-page-title-main">Rhapsody (operating system)</span> Apple operating system

Rhapsody is an operating system that was developed by Apple Computer after its purchase of NeXT in the late 1990s. It is the fifth major release of the Mach-based operating system that was developed at NeXT in the late 1980s, previously called OPENSTEP and NEXTSTEP. Rhapsody was targeted to developers for a transition period between the Classic Mac OS and Mac OS X. Rhapsody represented a new and exploratory strategy for Apple, more than an operating system, and runs on x86-based PCs and on Power Macintosh.

<span class="mw-page-title-main">Rosetta (software)</span> Operating system component

Rosetta is a dynamic binary translator developed by Apple Inc. for macOS, an application compatibility layer between different instruction set architectures. It enables a transition to newer hardware, by automatically translating software. The name is a reference to the Rosetta Stone, the artifact which enabled translation of Egyptian hieroglyphs.

<span class="mw-page-title-main">Universal binary</span> Apple multi-architecture binary files

The universal binary format is a format for executable files that run natively either on both PowerPC-based and x86-based Macs or on both Intel 64-based and ARM64-based Macs. The format originated on NeXTStep as "Multi-Architecture Binaries", and the concept is more generally known as a fat binary, as seen on Power Macintosh.

<span class="mw-page-title-main">Hackintosh</span> Non-Apple computer running macOS

A Hackintosh is a computer that runs Apple's Macintosh operating system macOS on computer hardware that is not authorized for the purpose by Apple. This can also include running Macintosh software on hardware it is not originally authorized for. Benefits of "Hackintoshing" can include cost, ease of repair and piecemeal upgrade, and freedom to use customized choices of components that are not available in the branded Apple products. macOS can also be run on several non-Apple virtualization platforms, although such systems are not usually described as Hackintoshes. Hackintosh laptops are sometimes referred to as "Hackbooks".

MacMach is a computer operating system from the early 1990s, developed by Carnegie Mellon University. Architecturally, it consists of Berkeley Software Distribution (BSD) 4.3 code running on the Mach microkernel, with the Apple Macintosh System 7 running experimentally as a Mach task. The entire system runs on Macintoshes based on the Motorola 68000 series (68k) family of microprocessors. Its license requires the user to have an AT&T UNIX license, and includes Apple, Inc.'s restriction against further redistribution.

<span class="mw-page-title-main">Architecture of macOS</span> Layers of the operating system

The architecture of macOS describes the layers of the operating system that is the culmination of Apple Inc.'s decade-long research and development process to replace the classic Mac OS.

A hybrid kernel is an operating system kernel whose architecture attempts to combine aspects and benefits of microkernel and monolithic kernel architectures used in operating systems.

The Mac OS nanokernel is an operating system kernel that serves as the basis of most PowerPC based system software versions 7 through 9 of the classic Mac OS, predating Mac OS X.

Mac operating systems were developed by Apple Inc. in a succession of two major series.

References

  1. Barbou des Places, François; Stephen, Nick; Reynolds, Franklin D. (January 12, 1996). "Linux on the OSF Mach3 microkernel". Grenoble and Cambridge: OSF Research Institute. Archived from the original on February 11, 2012. Retrieved April 4, 2013.
  2. 1 2 "What is MkLinux?". Apple Computer, Inc. Archived from the original on April 23, 1999. Retrieved May 25, 2013.
  3. 1 2 3 "Kernel Programming Guide: Mach API Reference". Apple, Inc. Retrieved August 24, 2017.
  4. Nassi, Ike (August 26, 2016). "Nassi, Ike oral history" (Video). CHM Oral History Collection. Interviewed by John Markoff. Computer History Museum. 102717191. Retrieved February 9, 2019.
  5. Morin, Rich (1998) [First published March 1997]. MkLinux: microkernel Linux for the Power Macintosh (Book and 2 CD-ROMs). Apple Computer, Inc. (3 ed.). Sunnyvale, CA: Prime Time Freeware. ISBN   978-1-881957-24-9. OCLC   717806070 . Retrieved May 25, 2013.
  6. Morin, Rich (May 2000) [First published March 1997]. MkLinux: Microkernel Linux for the Power Macintosh (Book and 2 CD-ROMs). Ascii Books (in Japanese). Apple Computer, Inc.; translation by Kosumo Puranetto. Tokyo: Asuki. ISBN   9784756134219. OCLC   122901286.
  7. Hatle, Mark (February 1999). "History of Linux for the PowerPC". Archived from the original on March 13, 2013. Retrieved April 4, 2013.
  8. Stauffer, Todd (1999). "Linux Gains Ground on Macs". MacTech. Vol. 5, no. 7. Xplain Corporation. Retrieved October 3, 2017.