MkLinux

MkLinux is an open source and free UNIX -like computer operating system based on a Mach 3.0 microkernel to the set up with a modified Linux as a server for the operating system personality (personality Server). As with classic Linux includes MkLinux addition to the pure operating system, the GNU software tools. MkLinux was created by the Research Institute of the Open Software Foundation ( OSF). The development was sponsored by Apple. MkLinux stands for Micro Kernel Linux.

History

In the OSF an alternative to your own operating system OSF / 1 originated in the 1990s, plans for research and development of micro- kernel systems to develop. OSF / 1 was also based on a Mach microkernel, but it fitting end Personality server was partially under AT & T's System V license. Therefore we developed a free UNIX - compatible alternative and decided to use Linux as a system environment. This project became the basis of MkLinux.

As a basis OSF MK was selected, further developed by the OSF version of the Mach 3.0 microkernel. The porting of OSF MK on the Power Macintosh platform began in early 1995, at the same time the revision of the monolithic Linux kernel was started in order to use it as an OS server on the Mach microkernel can. This was done on Intel x86 systems. Only later the Linux server was also ported to Power Macintosh. In February 1996, Apple announced the first version of MkLinux available for Power Macintosh for the summer of 1996, the Developer Release 1 ( DR1 ), however, was published in May 1996. This was followed in September 1996 and DR2 DR2.1 in January 1997. This release was distributed on CD- ROM together with a reference manual of the small California company Prime Time Freeware in cooperation with Apple. In July 1998, finally appeared as the last "official" version on CD- ROM, the Developer Release 3 ( DR3 ).

In the following years releases, similar to the Developers tried before mainly to improve the support available for hardware and new computer models such as to support new PowerBooks and NewWorld PowerMacs. If the further development will initially look even by a small team at Apple and coordinates, Apple, the project soon moved completely from the project, so that from the middle of 1999 entirely by a small group of freelance developers, the MkLinux Developers Association has continued. Since user programs under MkLinux binary compatible with those of the LinuxPPC project ( porting the classic Linux on PowerPC systems ) were the MkLinux programmers now have focused on the development of the Mach-Kernel/Linux-Server pair. Of these various published in the subsequent period between releases, and finally under the name Pre1 and Pre2 release candidates for version 1.0 of MkLinux. Pre2 in summer 2002 was the last complete kernel / server pair.

Technical Features

Unlike classical Linux, that is how most commercial UNIX implementations of a monolithic kernel for operating system functions and programs running with restricted rights in the "User - land", the operating system functions are divided into MkLinux on two areas: The Mach microkernel provides ready a few basic and abstracted from the operating systems that build services. These are: tasks ( control of system resources ), and threads (control of CPU usage, scheduling ), ports ( Controlled communication between tasks ), Messages ( information that is exchanged via ports) and memory object ( memory management, address spaces, etc.). Mach is no concept of processes ready yet it offers elaborate services such as network protocols or file systems. All these things are the responsibility of the OS Personality server which provides in the case of MkLinux as a Linux server this in the semantics of Linux (eg / proc file system).

Virtual memory is managed by the Mach microkernel, whose memory object, the corresponding Linux data structures are mapped. Outsourcing and reading memory pages to disk storage does not the kernel or a Linux server but a separate background process called default_pager.

The Linux server is implemented as so-called "single server". This means that all of the Linux server is designed as a single Mach task and therefore has a single address space. This increases the performance of the system because less inter-process communication (IPC) is necessary, on the other hand makes it difficult for the portability of the system.

577103
de