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
|
[[!meta copyright="Copyright © 2011 Free Software Foundation, Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
id="license" text="Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no Invariant
Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
is included in the section entitled [[GNU Free Documentation
License|/fdl]]."]]"""]]
<!--
[[!meta date="2011-07-19 23:42 UTC"]]
-->
A quarter of the Hurd, Q2 of 2011, PS: *GNU Hurd Truths and Myths*.
[[!if test="included()" then="""[[!toggle id=full_news
text="Details."]][[!toggleable id=full_news text="[[!paste id=full_news]]"]]"""
else="
[[!paste id=full_news]]"]]
[[!cut id="full_news" text="""
After our last *[[Quarter of the Hurd, Q2 of 2011|2011-q2]]* has been picked
up by a bunch of news sites, blogs, and so on, discussions have been
running all over the net -- with (very) varying degrees of informedness:
* {{$news/2011-q2#lwn}};
* {{$news/2011-q2#phoronix-1}};
* {{$news/2011-q2#phoronix-2}};
* {{$news/2011-q2#golem}};
* {{$news/2011-q2#h-online}};
* {{$news/2011-q2#innocenthacker}};
* {{$news/2011-q2#netzwelt}};
* {{$news/2011-q2#operation-tunnelbau}};
* {{$news/2011-q2#osnews}};
* {{$news/2011-q2#pro-linux}};
* {{$news/2011-q2#reddit-1}};
* {{$news/2011-q2#reddit-2}};
* {{$news/2011-q2#slashdot}};
* and a lot more.
We are happy to see that there is
considerable interest in the Hurd; but we also saw some
misunderstandings, false rumors, and outdated information floating
around. Thus we will try to clarify the situation regarding some of
the more common misunderstandings.
* **Debian GNU/Hurd strives to become an official Debian port**:
The Debian GNU/Hurd team is working hard to prepare a technology
preview/release candidate for the next Debian release (Wheezy), to
eventually become an official port alongside GNU/Linux and GNU/kFreeBSD --
but we don't know yet whether we will make it. This is also the
understanding of (for example) Debian's spokesperson
{{$news/2011-q2#schmehl}}.
There is still substantial work necessary to indeed become a release candidate.
If you
want to help, please see our [[contributing]] page and the *to do*
list maintained on <http://wiki.debian.org/Debian_GNU/Hurd>. We'd
be happy to have you on board!
* **Java support for GNU Hurd is nearby**: Jérémie Koenig is working
on making a versatile Java programming environment available on
GNU/Hurd as part of his
[[Google Summer of Code project|user/jkoenig/java]], focusing on
OpenJDK 7. [Experimental
packages](http://jk.fr.eu.org/debian/experimental/)
are already available.
Also, Java support in GCC (via GCJ/ECJ) has been available before,
which Jérémie also improved.
* **GNU Hurd supports X.Org, though a bit unstable**:
X support has been present for ages
(anyone remember
[1998's XFree86](http://cvsweb.xfree86.org/cvsweb/xc/programs/Xserver/hw/xfree86/os-support/hurd/hurd_video.c?rev=1.1&content-type=text/vnd.viewcvs-markup)?).
It is true though that many modern graphic card drivers don't work anymore,
as they require DRM (Direct Rendering Manager) support,
so often only VESA is available.
Also, X on the Hurd is [[somewhat_unstable|hurd/status]].
* **GNU Hurd has weaker device driver support than the Linux kernel**:
Most of the drivers we use today were imported from Linux 2.0.
For network cards,
Linux 2.6.29 drivers are available through [[DDE|hurd/dde]] --
however, this is not fully integrated yet,
so using these drivers needs manual setup for now ([[hurd/dde/guide]]).
Support for other driver types is also possible with DDE in principle,
but it requires some not-trivial work for each additional class of drivers,
so this can take some time to become available.
(An additional benefit provided by DDE is that the device drivers run as
regular user-space processes --
unlike the old drivers we were using so far,
which are part of the underlying GNU Mach microkernel.)
* **The Hurd has SMP, but needs support for new chipsets**:
Both GNU Mach (the microkernel used by the Hurd),
and the Hurd servers themselves come with SMP support.
However, GNU Mach [[misses drivers for modern SMP chipsets|faq/smp]], and
there are also some SMP-related bugs in the implementation,
so further work is needed
for the Hurd to take advantage of multicore processors.
* **Installation can still be challenging**:
Please [[take notice|http://xkcd.com/293/]] of the
[README file](http://people.debian.org/~sthibault/hurd-i386/installer/cdimage/YES_REALLY_README.txt) --
just like with any software in development,
there are some known pitfalls to avoid.
(Or better yet, help to fix.) :-)
Alternatively, you can simply use the the
[preinstalled
image](http://people.debian.org/~sthibault/hurd-i386/debian-hurd.img.tar.gz)
in QEMU/KVM/VirtualBox/...
* **GNU Hurd is not the same as GNU/Hurd**:
The GNU project set out in 1983 to create a complete free operating system.
When a distribution such as Debian combines their GNU-based userland
with the GNU kernel (named [[*GNU Hurd*|hurd/what_is_the_gnu_hurd]]),
the result is more or less a full GNU system.
However, such third-party distributions are distinct
from what an official complete GNU system release would be;
and thus we often call them *GNU/Hurd* for clarity, similar to *GNU/Linux*
or *GNU/kFreeBSD*.
* **Performance**:
The benchmarks conducted by Phoronix (as reported by
{{$2011-q2#phoronix-3}}) (Phoronix/Michael: thanks for doing these!)
attest very good performance to the Hurd.
Keep in mind though that these benchmarks were almost completely CPU-bound,
so they essentially just confirm that we don't do anything stupid
regarding CPU initialization (cache setup, etc.).
The results would be different for benchmarks
that actually exercise the operating system functionality more.
The fact that the tests were performed in a virtualized environment,
might also have helped the results,
for example by mitigating the effects of our unoptimized I/O paths --
which are currently the major bottleneck in most situations.
Nevertheless, these results are a hint
that the extra IPC required in microkernel systems
[[doesn't necessarily hamper performance|ipc#performance]]
quite as much as often believed.
We are glad to see such solid benchmarks
help dispel some of the myths around the Hurd and other microkernel-based
systems.
* **Given the available manpower, the progress is very good**:
Over the past decade,
there were seldom more than [[*half a dozen developers* at any given
time|faq/how_many_developers]]
hacking on the Hurd, in their spare time --
not hundreds of paid developers like Linux has nowadays.
Considering this, the progress made is quite encouraging
with the system being [[pretty usable|hurd/status]] for many day-to-day tasks now.
It is generally understood that the ambitious architecture of the Hurd
requires a lot of effort to get it working at all,
but the recent progress shows that once the foundations are in place,
the Hurd design indeed allows the developers to be very productive.
To see the progress over the last few years, you can have a look at our
[[news archive|news]]. If you're interested, you can find various ways of
[[contributing]]. We'd be happy to see you join in, because for the Hurd,
every single helping hand makes a big difference!
"""]]
|