Linux? On the Macintosh? With Mach?
The Mach Microkernel provides an abstract layer onto which other operating systems can be ported. It also provides multiprocessor support, kernel-level thread support, distributed and cluster computing, and other interesting features. By porting Mach to the Power Macintosh, Apple has cleared the way for a variety of research and even commercial operating systems to run on the platform.
The Mach 3 Microkernel was developed at Carnegie Mellon University. Since then, it has been extensively enhanced by the Research Institute. MkLinux currently uses Mk6.1, a variant of the Mach 3.0 Microkernel, but there are prospects for using a more advanced Microkernel.
The Mach Microkernel performs only a small set of functions. It handles interprocess communication, low-level I/O (that is, access to SCSI and other busses), memory management and scheduling. Higher-level functions (file systems, networking, etc.) are performed by one or more “servers”. Mach servers are user-mode processes that provide all or part of an operating system's “personality”. They do not talk directly to the underlying hardware; in general, no Mach process does that. Instead, they communicate with the Mach Microkernel by means of “messages”.
Thus, when cat performs a write system call, the interrupt is caught by the Mach Microkernel. The relevant information is then packaged into a message and passed to the appropriate server. Several actions, interrupts and messages may then take place, involving only the Microkernel and the relevant server(s). Only when the write has been accomplished (or fails), does the Microkernel restart the cat process.
In MkLinux, as in nearly all Mach-based systems, the OS personality is provided by a “single server”. This is Mach terminology for a single process that handles all of a given operating system's personality. The FSF's Hurd, also based on Mach, uses a “multiple server” design, with a small number of processes sharing the OS duties. The MkLinux project team have received some interest, by the way, in merging the Hurd into MkLinux.
The server MkLinux uses looks much like a standard Linux kernel. In fact, it is a copy of the Linux kernel that is modified to use Mach's low-level functionality. In the first two Developer Releases, the MkLinux server was based on Linux 1.2.13. Updates to DR2, however, as well as the new DR3, are based on Linux 2.0.23. This kernel provides several new features, along with improvements in performance and stability.
Operating system developers will be pleased to know 2.0-based MkLinux allows more than one (e.g., Linux or Hurd) server to run at the same time. This is extremely convenient to anyone who wishes to debug a new server.
With this capability, you can start up the debug version alongside the production version. If (or when) the debug version goes down in flames, the system just continues to work, saving you a great deal of time and trouble. Not only that, you can simply fire up gdb and debug the second server as you would any ordinary application.
Operating system elitists (read, some kernel hackers) may disagree, but the rest of us know a kernel, however wonderful, isn't enough. We need more: shells, utilities, a window system, and all those other little toys we've grown to love. Don't worry; MkLinux has everything you've come to love in Linux.
Based largely on the Red Hat Linux distribution and making heavy use of the Red Hat Package Manager (RPM), the default MkLinux installation includes a full set of user commands, as well as the complete X11R6 window system. Many other commands are available in RPM archives, either on the installation CD or by anonymous FTP.
In fact, a complete MkLinux system is anything but small or spartan. Even the Developer Releases are quite substantial. (The Installation Guide recommends 16 MB of RAM and at least 500 MB of dedicated disk space.)
We have to admit, Apple and the GNU Project have had their differences in the past. Nor can we suggest Apple has given up on the idea of proprietary software. So, it comes as a surprise to many (and a shock to some) that Apple is openly funding a project to develop MkLinux and port it to the entire family of Power Macintosh systems.
Not only that—except for the chance to sell more Power Macintosh systems (a strong inducement indeed), Apple is not making any profit from the MkLinux port. Distribution and sales of the Apple-endorsed CD-ROM are handled by third parties (e.g., Prime Time Freeware).
In full compliance with the best freeware etiquette, Apple is releasing the source code for all of their Linux and Mach changes under the appropriate (GPL, OSF, and so on) licenses. The entire distribution, in fact, is available via anonymous FTP. Third parties are encouraged to mirror the site, create their own CD-ROM distributions, or share the software with their friends. This is free software at its finest.
Fast/Flexible Linux OS Recovery
On Demand Now
In this live one-hour webinar, learn how to enhance your existing backup strategies for complete disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible full-system recovery solution for UNIX and Linux systems.
Join Linux Journal's Shawn Powers and David Huffman, President/CEO, Storix, Inc.
Free to Linux Journal readers.Register Now!
- Server Hardening
- BitTorrent Inc.'s Sync
- Download "Linux Management with Red Hat Satellite: Measuring Business Impact and ROI"
- New Container Image Standard Promises More Portable Apps
- The Humble Hacker?
- The Death of RoboVM
- The US Government and Open-Source Software
- EnterpriseDB's EDB Postgres Advanced Server and EDB Postgres Enterprise Manager
- Open-Source Project Secretly Funded by CIA
- ACI Worldwide's UP Retail Payments
In modern computer systems, privacy and security are mandatory. However, connections from the outside over public networks automatically imply risks. One easily available solution to avoid eavesdroppers’ attempts is SSH. But, its wide adoption during the past 21 years has made it a target for attackers, so hardening your system properly is a must.
Additionally, in highly regulated markets, you must comply with specific operational requirements, proving that you conform to standards and even that you have included new mandatory authentication methods, such as two-factor authentication. In this ebook, I discuss SSH and how to configure and manage it to guarantee that your network is safe, your data is secure and that you comply with relevant regulations.Get the Guide