summaryrefslogtreecommitdiff
path: root/gnumach.html
blob: 4ba0e9f7fe70a10b7eb7d3bd776527e1ee0e536d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
	"http://www.w3.org/TR/REC-html40/strict.dtd">
<HTML>
<HEAD>
<TITLE>The GNU&nbsp;Hurd - GNU Project - Free Software Foundation (FSF)</TITLE>
<LINK REV="made" HREF="mailto:web-hurd@gnu.org">
<META NAME="keywords" CONTENT="hurd">
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#1F00FF" ALINK="#FF0000" VLINK="#9900DD">
<TABLE width="100%" border="0" cellspacing="5" cellpadding="15">
<TR>
<TD COLSPAN="2">
<IMG SRC="/graphics/hurd_sm_mf.jpg" ALT=" [image of the Hurd logo] ">
[
<!-- Please keep this list alphabetical -->
<!-- PLEASE UPDATE THE LIST AT THE BOTTOM (OR TOP) OF THE PAGE TOO! -->
  <A HREF="/software/hurd/gnumach.html">English</A>
| <A HREF="/software/hurd/gnumach.he.html">Hebrew</A>
| <A HREF="/software/hurd/gnumach.pl.html">Polish</A>
| <A HREF="/software/hurd/gnumach.es.html">Spanish</A>
]
</TD>
</TR>
<TR>
<TD ALIGN="LEFT" VALIGN="TOP" BGCOLOR="#eeeeee">
<A HREF="/software/hurd/whatsnew.html"><STRONG>What's New</STRONG></A><BR>
&nbsp;<BR>
<A HREF="/software/hurd/changelogs.html">ChangeLogs</A><BR>
&nbsp;<br>
<a href="/software/hurd/docs.html">Documentation</a><br>
<P>
<A HREF="/software/hurd/hurd.html"><STRONG>GNU&nbsp;Hurd</STRONG></A><BR>
&nbsp;<BR>
<A HREF="/software/hurd/install.html">Installation</A><BR>
<A HREF="/software/hurd/help.html">Getting&nbsp;Help</A><BR>
<A HREF="/software/hurd/download.html">Source&nbsp;Code</A><BR>
<A HREF="/software/hurd/devel.html">Development</A><BR>
<A HREF="/software/hurd/history.html">History</A><BR>
&nbsp;<BR>
<A HREF="/software/hurd/gnumach.html"><STRONG>GNU&nbsp;Mach</STRONG></A><BR>
&nbsp;<BR>
<A HREF="/software/hurd/gnumach-install.html">Installation</A><BR>
<A HREF="/software/hurd/gnumach-download.html">Source&nbsp;Code</A><BR>
&nbsp;<BR>
<A HREF="/software/hurd/mig.html"><STRONG>GNU&nbsp;MIG</STRONG></A><BR>
&nbsp;<BR>
<A HREF="/software/hurd/mig-download.html">Source&nbsp;Code</A><BR>
&nbsp;<BR>
<A HREF="/software/hurd/related-projects.html"><STRONG>Related&nbsp;Projects</STRONG></A>
</TD>
<TD ALIGN="LEFT" VALIGN="TOP">
<HR>
<P>
<H3><A NAME="contents">Table of Contents</A></H3>
<UL>
  <LI><A HREF="#introduction" NAME="TOCintroduction">Introduction to Mach</A>
  <LI><A HREF="#advantages" NAME="TOCadvantages">Advantages of GNU&nbsp;Mach</A>
  <LI><A HREF="#status" NAME="TOCstatus">Status of the project</A>
</UL>
<P>
<HR>

<H3><A HREF="#TOCintroduction" NAME="introduction">Introduction to GNU&nbsp;Mach</A></H3>
<P>
GNU&nbsp;Mach is the microkernel of the GNU system.  A microkernel provides
only a limited functionality, just enough abstraction on top of the
hardware to run the rest of the operating system in user space.  The
GNU&nbsp;Hurd servers and the GNU C library implement the POSIX compatible
base of the GNU system on top of the microkernel architecture provided
by Mach.
<P>
Currently, GNU&nbsp;Mach runs on IA32 machines.  GNU&nbsp;Mach should, and
probably will, be ported to other hardware architectures in the
future.  Mach was ported to many operating systems in the past.
<P>
GNU&nbsp;Mach is maintained by the Hurd developers for the GNU project.  If
you need help with GNU&nbsp;Mach or want to contribute to the development
of the microkernel, you should <A
HREF="/software/hurd/help.html">contact the Hurd people</A>.

<H3><A HREF="#TOCadvantages" NAME="advantages">Advantages of GNU&nbsp;Mach</A></H3>
GNU&nbsp;Mach is not the most advanced microkernel known to the planet, nor
is it the fastest or smallest, but it has a rich set of interfaces and
some features which make it useful as the base of the Hurd system.
<DL>
<DT><STRONG>it's free software</STRONG></DT>
<DD>
Anybody can use, modify, and redistribute it under the terms of the
<A HREF="/copyleft/gpl.html">GNU General Public License (GPL)</A>.</DD>
</DD>
<DT><STRONG>it's built to survive</STRONG></DT>
<DD>
As a microkernel, GNU&nbsp;Mach doesn't implement a lot of the features
commonly found in an operating system, but only the bare minimum that
is required to implement a full operating system on top of it.  This
means that a lot of the operating system code is maintained outside of
GNU&nbsp;Mach, and while this code may go through a complete redesign, the
code of the microkernel can remain comparatively stable.
</DD>
<DT><STRONG>it's scalable</STRONG></DT>
<DD>
Mach is particularly well suited for SMP and network cluster
techniques.  Thread support is provided at the kernel level, and the
kernel itself takes advantage of that.  Network transparency at the
IPC level makes resources of the system available across machine
boundaries (with NORMA IPC, currently not available in GNU&nbsp;Mach).
</DD>
<DT><STRONG>it exists</STRONG></DT>
<DD>
The Mach microkernel is real software that works Right Now.  It is not
a research or a proposal.  You don't have to wait at all before you
can start using and developing it.  Mach has been used in many
operating systems in the past, usually as the base for a single UNIX
server.  In the GNU system, Mach is the base of a functional
multi-server operating system, the Hurd.
</DD>
</DL>

<H3><A HREF="#TOCstatus" NAME="status">Status of the project</A></H3>
<P>
GNU&nbsp;Mach 1.3 was released in May 2002, and features advanced boot
script support, support for large disks (>= 10GB) and an improved
console.
<P>
GNU&nbsp;Mach is used as the default microkernel in the GNU/Hurd system.
It is compatible with other popular Mach distributions.  The device
drivers for block devices and network cards are taken from Linux 2.0.x
kernel versions, and so a broad range of common hardware is supported.
<P>
However, the Linux device drivers have been improved greatly since the
2.0.x version, and a new version of GNU&nbsp;Mach based on the OSKit
library is being worked on, which uses newer drivers and in general
has cleaner machine specific support code.
</TD>
</TR>
</TABLE>

<HR>

[
<!-- Please keep this list alphabetical -->
<!-- PLEASE UPDATE THE LIST AT THE BOTTOM (OR TOP) OF THE PAGE TOO! -->
  <A HREF="/software/hurd/gnumach.html">English</A>
| <A HREF="/software/hurd/gnumach.he.html">Hebrew</A>
| <A HREF="/software/hurd/gnumach.pl.html">Polish</A>
| <A HREF="/software/hurd/gnumach.es.html">Spanish</A>
]

<HR>

<P>
Return to <A HREF="/home.html">GNU's home page</A>.
<P>

Please send FSF &amp; GNU inquiries &amp; questions to

<A HREF="mailto:gnu@gnu.org"><EM>gnu@gnu.org</EM></A>.
There are also <A HREF="/home.html#ContactInfo">other ways to
contact</A> the FSF.
<P>

Please send comments on these web pages to

<A HREF="mailto:web-hurd@gnu.org"><EM>web-hurd@gnu.org</EM></A>,
send other questions to
<A HREF="mailto:gnu@gnu.org"><EM>gnu@gnu.org</EM></A>.
<P>
Copyright (C) 2001 Free Software Foundation, Inc.,
59 Temple Place - Suite 330, Boston, MA  02111,  USA
<P>
Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.
<P>
Updated:
<!-- timestamp start -->
$Date$ $Author$
<!-- timestamp end -->
<HR>
</BODY>
</HTML>