Qwiki

Gnu Mach







GNU Mach and GNU Hurd

GNU Mach is a pivotal component in the GNU Project's operating system architecture, serving as an implementation of the Mach microkernel. It functions as the default microkernel within GNU Hurd, a collection of servers that, together with the kernel, offer a complete operating system.

Historical Background

The development of GNU Mach can be traced back to its roots in the Mach 3.0, a microkernel developed at Carnegie Mellon University. In 1994, Carnegie Mellon ceased development on Mach, prompting the GNU Project to adopt the University of Utah's Mach 4. This transition marked the derivation of GNU Mach from Mach 4, as Utah also discontinued its development.

GNU Mach became an integral part of the GNU Project, which was established by Richard Stallman in 1983 with the aim of developing a free Unix replacement. Development efforts have been sustained by the Free Software Foundation.

Design and Architecture

GNU Mach is specifically designed to run on IA-32 and x86-64 architecture machines. It is released under the GNU General Public License, ensuring that it remains free and open-source software.

GNU Hurd

GNU Hurd, on the other hand, is a collection of microkernel servers that operate on top of the GNU Mach microkernel. The Hurd was conceived as a replacement for the Unix kernel, with the goal of exceeding Unix in terms of functionality, security, and stability, while maintaining compatibility.

The architecture of GNU Hurd is based on a set of protocols and server processes, or daemons, that operate collaboratively with the GNU Mach microkernel to manage system resources and services. This multiserver design was chosen for its potential advantages over the traditional monolithic kernel architecture of Unix.

Collaborative Development

GNU Mach and GNU Hurd have been developed in tandem since 1990. Despite the emergence of alternatives like the Linux kernel, which led to a slowdown in the development of Hurd, the project has seen periods of renewed interest and activity.

The GNU Project initially intended for GNU Hurd, together with GNU Mach, to form the core of the GNU operating system. However, GNU/Linux distributions have since become more prevalent, integrating GNU packages with the Linux kernel.

Further Development

Though development on GNU Hurd has been sporadic, there have been various efforts to integrate and improve it. One notable effort was the branching of OSKit-Mach from GNU Mach 1.2 by Roland McGrath in 2002, aiming to replace device drivers and hardware support with code from OSKit. However, this line of development has also seen inactivity due to a lack of progress in OSKit.

Related Topics

The intricate relationship between GNU Mach and GNU Hurd embodies the innovative spirit of the GNU Project, representing a foundational effort in the realm of free software development.