[[!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-11-17 14:15 UTC"]]

A quarter of the Hurd, Q3 of 2011: *Arch Hurd with DDE*, *Debian boxes*, *GHM
talk* and *GSoC: Java*.
[[!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="""

In the third quarter of 2011, the Arch Hurd hackers [packaged DDE (Device
Driver Environment)](http://www.archhurd.org/news/22/), so a subset of the
Linux 2.6 device drivers can now easily be run as user-space processes on Arch
Hurd, replacing GNU Mach's in-kernel device drivers.  (This has been possible
before, too, but involved several [[manual steps|hurd/dde/guide]].)  At the
time of writing, our DDE port supports several network cards, while for other
driver types we will need to add further generic infrastructure.  Also, Arch
Hurd had [a booth at
FrOSCon](http://www.froscon.de/en/exhibitors/projekte.html#c1413) and [released
a new Arch Hurd LiveCD](http://www.archhurd.org/news/24/), so new users can
easily test the current state of the Arch flavor of the Hurd.

Richard Braun contributed additional GNU Hurd instances: [[a *Debian buildd*, a
*Debian porterbox*, and a *public Hurd box*|public_hurd_boxen]].  Especially
the last one is important for *you*: after requesting an account, you can use
it to test the Hurd without any own setup.

Samuel Thibault sent a new [Bits from the Debian GNU/Hurd
porters](http://lists.debian.org/debian-devel-announce/2011/07/msg00002.html)
to keep the Debian folks up to date with our progres.  And it is quite good:
thanks to the relentless work of our porters, you can now use [70 % of all
Debian packages with the Hurd](https://buildd.debian.org/stats/graph-big.png),
so we're getting closer to [the goal of finishing a Release Canditate in time
for Debian Wheezy](http://wiki.debian.org/Debian_GNU/Hurd).  If you can, for
example, port Debian packages and want to help the Hurd, this is the perfect
time to get in contact and [port your favorite missing
package](http://www.debian.org/ports/hurd/hurd-devel-debian) to the Hurd.

A different kind of status update was delivered by Samuel Thibault on the [[GNU
Hacker Meeting (GHM) in Paris|community/meetings/ghm2011]].  We hope you enjoy
watching the video of the {{$community/meetings/ghm2011#thibault_hurd}}.  He
nicely explains how the simple yet powerful concept of a [[hurd/translator]]
gives power to a system's less-priviledged users (that is, without `root`
access), without any security implications, and how [[hurd/subhurd]]s and
[[hurd/neighborhurd]]s compare to Linux containers.  *It's all about [freedom
0](http://www.gnu.org/philosophy/free-sw.html)*.

On the technical side, Thomas Schwinge improved the technical documentation of
the [[I/O path|hurd/io_path]] when translators are involved, to make it easier
for new developers to understand how all the different system components
interact.  Amongst others, Guillem Jover, Fridolín Pokorný and Jonathan
Neuschäfer
[sent](http://lists.gnu.org/archive/html/bug-hurd/2011-08/msg00184.html)
[many](http://lists.gnu.org/archive/html/bug-hurd/2011-08/msg00093.html)
[patches](http://lists.gnu.org/archive/html/bug-hurd/2011-08/msg00030.html) for
GNU Mach, improving stability, fixing memory leaks and generally cleaning up
the code.

Maksym Planeta finished a project he has been doing as a university task:
replace GNU Mach's old zone memory allocator with a new [[!wikipedia
slab_allocation desc="slab allocator"]] written by Richard Braun, who also
mentored Maksym during the project.  [This
allocator](https://git.savannah.gnu.org/cgit/hurd/gnumach.git/commit/?h=mplaneta/libbraunr/master&id=59c9da87375ad3c8401890ecd4f7f101093f2463),
apart from being overally cleaner than the zone allocator, is meant to waste
less memory than the zone allocator (less fragmentation and more memory can be
reclaimed by the VM system), there are debugging/inspection features, and it's
SPM-ready, thus readily usable once we get up-do-date SMP support in GNU Mach.
It is now being tested and integrated.

And last but definitely not least, Jérémie Koenig finished his Google Summer of
Code project to [[improve Java support on GNU Hurd|user/jkoenig/java]].  All in
all, he also [improved the Hurd signalling
code](http://lists.gnu.org/archive/html/bug-hurd/2011-06/msg00073.html), ported
OpenJDK and began designing and creating a [library for Java bindings for Mach
and Hurd](https://github.com/jeremie-koenig/hurd-java) which already allows
writing a [Hello World translator in
Java](https://github.com/jeremie-koenig/hurd-java/blob/master/HelloMach.java).
It is still pretty low-level, but it paves the way for extending the core of
the Hurd with Java, which is one of the benefits of the Hurd's distributed
multi-server architecture: different components of the operating system can be
written in different programming languages; not just
[C](http://www.gnu.org/software/hurd/hacking-guide/hhg.html#An-Example-using-trivfs),
but also C++, [[Common Lisp|user/flaviocruz]], and now Java -- and more to
come.

So if you want to help getting the Debian GNU/Hurd Release Candidate done, or
want to dig deep into DDE to have more device drivers running as user-space
processes, please [[get in contact|contact_us]] -- and maybe already grab the
[[source code|source_repositories]].

---

The **GNU Hurd** is the GNU project's replacement for the Unix kernel.  It is a
collection of servers that run on the Mach microkernel to implement file
systems, network protocols, file access control, and other features that are
implemented by the Unix kernel or similar kernels (such as Linux).  [[More
detailed|hurd/documentation]].

**GNU Mach** is the microkernel upon which a GNU Hurd system is based.  It
provides an Inter Process Communication (IPC) mechanism that the Hurd uses to
define interfaces for implementing in a distributed multi-server fashion the
services a traditional operating system kernel provides.  [[More
detailed|microkernel/mach/gnumach]].

"""]]