
GNU Hurd 0.7 has been released - vezzy-fnord
https://www.gnu.org/software/hurd/news/2015-10-31-releases.html
======
kriro
Good to see steady progress :) I hope the L4 port picks up a new round of
steam eventually [1] but they squeeze quite a bit out of the Mach design (from
my lay person's understanding of microkernels) and having GNU/Guix since this
year is also nice.

[1]
[https://www.gnu.org/software/hurd/history/port_to_another_mi...](https://www.gnu.org/software/hurd/history/port_to_another_microkernel.html#index2h2)

~~~
vezzy-fnord
Strongly doubt it. The developers have adamantly focused on improving the
standard Hurd/Mach over pursuing other microkernels or even compatibility
layers on monolithic Unixes. Given how ridiculously little manpower they have,
it's only the most practical. Not to mention the fact that rump kernel
integration is very slowly but steadily picking up:
[https://lists.gnu.org/archive/html/bug-
hurd/2015-10/index.ht...](https://lists.gnu.org/archive/html/bug-
hurd/2015-10/index.html)

Of course, if all else fails, you can just go with the "write a Mach kernel
module for Linux" route and make Linux cannibalize itself. The Darling (OS X
compatibility layer for Linux) developer has done some work on this for his
project, and it's one I might try to pick up for the Hurd if things advance
too slowly, or simply as a research curiosity after I'm done with other
projects.

~~~
nickpsecurity
"Given how ridiculously little manpower they have, it's only the most
practical."

I disagree given how many microkernel projects by tiny teams have been started
or finished before they got to even 0.7. Especially the 2-3 person project
that was MINIX 3. I think GenodeOS started as a few people's L4 work, too.
Maybe what they're doing is fundamentally wrong and they should do it
different while leveraging existing work. Just a thought.

~~~
vezzy-fnord
MINIX 3, 2-3 people? You're kidding, it's far more than that. Especially given
how many students AST supervises at the Vrije Universiteit.

EDIT: Also, version names in of themselves don't mean much. Hurd is at 0.7 yet
capable of running multiple folds more Unix software than MINIX at 3.3.x.

~~~
nickpsecurity
I was going by Tannenbaum's claim about the original work.

"we've only been at it for a bit over a year with three people"

By now, probably a lot more. I'm only talking about original architecture and
implementation that possessed the reliability features.

~~~
carussell
Another notable difference between Hurd and MINIX is that Tanenbaum got
millions of funding from the EU to improve MINIX. Having the organizational
backing of a research university helps, too.

~~~
gaius
How is that a difference? Stallman has goten millions from the MacArthur
Foundation, Takeda Foundation, etc etc. Neither project is short of funding.

~~~
carussell
Not true. The awards from MacArthur and Takeda that Stallman received when
combined total to just over half a million USD[1][2]. Keep in mind that this
is spread across all of GNU and to keep the FSF machine going as well.

Meanwhile, Tanenbaum's grants from the EU total approx $6 million for the
express purpose of producing a reliable microkernel and to build an operating
system on top of it[3], all under the auspices of a research university. And
as others have noted, most of MINIX's userland is the result of splicing in
large parts of the existing NetBSD userland, so the skew in attention that the
kernel received is pretty significant, cf GNU's Hurd.

1\.
[http://tech.mit.edu/V110/N30/rms.30n.html](http://tech.mit.edu/V110/N30/rms.30n.html)

2\.
[http://www.gnu.org/press/2001-12-03-Takeda.html](http://www.gnu.org/press/2001-12-03-Takeda.html)

3\.
[https://www.bsdcan.org/2015/schedule/speakers/258.en.html](https://www.bsdcan.org/2015/schedule/speakers/258.en.html)

~~~
nickpsecurity
Which means funding or sponsored developers are critical to the success of OS
projects if anything significant is to happen in reasonable amount of time.
So, the failure was to match funding rather than features per developer. ;)

On top of their design decisions that made the project ridiculously hard in
the first place.

------
iamsohungry
Does anyone have practical experience running GNU Hurd as a personal computing
environment? I see they have Debian running on GNU Hurd... if I were to
install that on my X200 running with LibreBoot (currently running Trisquel
Linux) what would my user experience be like?

~~~
vezzy-fnord
You probably couldn't get it to run on bare metal, what with I don't think
Mach handling message-signaled interrupts for PCI, on top of the lack of USB
and sound for desktop functionality. It's strictly developed and used in
virtualization currently, and the motivation for rump kernel integration is to
finally escape the hellish circle of that and relying on old NetDDE drivers,
perhaps finally making it an everyday OS.

On the other hand, it _is_ stable enough to serve the Hurd wiki. In addition,
it has ~81% of Debian building, it can run Xfce and Firefox... not bad. It's
much more than MINIX 3, which is solid but lacking in packages.

~~~
auvrw
yea, i tried to run it on real hardware a couple of years ago, and the
response from the community was "no one does that, use virtualization."

i got the sense that it was a friendly group. expressing interest, even as
someone who just wanted to play around and see what it was all about, was
well-received.

------
BogusIKnow
Since the Linus discussion years ago there is this myth that microkernels are
slow. And it's the first post - here again - whenever someone mentions Hurd.

Nevertheless we read stories here again and again about how to achieve faster
server speed - cloudflare stories come to mind - with userspace tcp stacks
etc.

------
fithisux
It is a pitty iokit is not ported with other userland stuff.

------
scorpioxy
From my understanding, the microkernel approach has been deemed impractical
for real-world use. I wonder if there is anyone out there using it?

~~~
vezzy-fnord
Your understanding is, I'm sorry if this comes across as hostile, absolute
nonsense. You should actually consult the literature instead of reading Linus
Torvalds rants.

Back in 1990, the Amoeba system revealed 2x improvement in throughput and 5x
improvement in latency for its RPC over the SunRPC of the time. [1] Relative
measurements for the V-System and Sprite were similar. QNX, a microkernel-
based system with high commercial success and a long history (used by over 40
automotive manufacturers) has highly fast IPC by integrating message passing
with the CPU scheduler. After years of research, Jochann Liedtke introduced L4
in 1996 [2] using only seven generalized calls with a 20x improvement in speed
over prior art such as Mach. Mach, by the way, is the glaring exception to
microkernel performance because of complicated message packing and port rights
checking. Yet the Hurd developers are doing well in optimizing it, and to this
day Mach is used to malign microkernels by people with no background on the
subject. OKL4, in turn, has shipped in ~1.5 _billion_ devices by 2012,
powering the baseband processor behind nearly every mobile phone. [3] MINIX 3
further only shows a ~5-10% performance drop relative to monolithic Unixes,
this for 2006. [4]

They never learn.

[1]
[http://www.scs.stanford.edu/nyu/03sp/sched/amoeba.pdf](http://www.scs.stanford.edu/nyu/03sp/sched/amoeba.pdf)

[2]
[https://homes.cs.washington.edu/~bershad/590s/papers/towards...](https://homes.cs.washington.edu/~bershad/590s/papers/towards-
ukernels.pdf)

[3] [http://www.creativemac.com/article/OK-Labs-Software-
Surpasse...](http://www.creativemac.com/article/OK-Labs-Software-Surpasses-
Milestone-of-15-Billion-Mobile-Device-Shipments--1842548)

[4]
[http://www.minix3.org/doc/ACSAC-2006.pdf](http://www.minix3.org/doc/ACSAC-2006.pdf)

~~~
kabdib
The Apple Newton used a microkernel inspired by Mach, with a custom MMU that
reduced the cost of context switching.

It was . . . okay. The number of cycles it actually took to do a lightweight
message pass was dismaying, though. The newt would have benefited from a less
partitioned design for the underlying page and storage management.

I used another microkernel OS on a set-top box. Now _that_ was a misery, but
one I attribute more to the uncaring attitude of the company that wrote the
STB's firmware than any inherent problem with their OS (a decade later,
critical and customer-affecting race conditions are still present in their
code). To be honest, their OS didn't help.

I don't think microkernels are bad. Making bad choices about performance that
affect performance, battery life and other things that customers care about is
bad, and you might have to break some abstractions in your microkernel to
address those.

~~~
AceJohnny2
> Now that was a misery, but one I attribute more to the uncaring attitude of
> the company that wrote the STB's firmware than any inherent problem with
> their OS (a decade later, critical and customer-affecting race conditions
> are still present in their code). To be honest, their OS didn't help.

Hmmm STMicro-based? :)

~~~
kabdib
68K, actually, and MIPS. Different platforms, same damned OS bugs. Let's hear
it for portability :-)

------
746F7475
Why should I be excited?

~~~
omegaham
"Excited" is the wrong word for this sort of development. "Interested" is
probably a better word. Right now, I see this sort of thing as a project for
its own sake, and that can still be interesting.

More importantly, projects like this frequently spread their ideas elsewhere,
even if the project itself isn't very useful. Another possibility is that
someone gets a bunch of skills from developing in the much more open territory
of Hurd and uses that knowledge to contribute in a more limited fashion in the
Linux kernel.

Of course, I'm sure that Richard Stallman & Friends would be unhappy with my
characterization of Hurd as an academic toy project, but them's the breaks.
It's on them to show that this is dompetitive on any level with Linux, and
right now that's not the case.

~~~
quadrangle
Richard Stallman thinks work on HURD is unimportant and nothing more than an
academic toy project. He is interested in the ethics and philosophy of
software freedom, and the Linux kernel provides that when combined with
adequate other completely free software. RMS has repeatedly said that he sees
no real value in continuing the HURD project particularly and is much more
interested in high priority things like free software replacements for Skype,
free firmware, etc.

------
pmoriarty
I just hope it's not infected by systemd.

~~~
suprjami
Fantastic comment, because the kernel is the init process. You should get a
medal.

