GNU/Hurd is the original Free Software operating system started in the 1980s. Its microkernel design has been evolving over the years and the project has not quite hit mainstream use. I believe this is due to one main reason: the lack of drivers for peripherals and hardware. In this talk, I explain how NetBSD kernel drivers have been reused in a microkernel setting and demonstrate their use to boot up a GNU/Hurd system via a userspace rump disk driver, with a driverless Hurd kernel, gnumach. The ACPI management, PCI management, and actual driver are in separate processes with RPC interfaces between them, which separates out their debugging, licencing concerns and execution.
Hurd is a neverending story, derailed by the massive popularity and uptake of the Linux kernel as the de facto standard kernel for the GNU project. I’d love for it to become more competitive, but the situation isn’t exactly looking great.
Minix3 took the same path though….
“GNU/Hurd is the original Free Software operating system started in the 1980s.”
I suppose we can let that statement stand if we assume that “Free” software started with the GNU Project and the GPL versus either Open Source or the age of software when everything was free by default.
It is worth noting though that the GNU Hurd kernel was started in 1990 and is still shooting for its 1.0 release. “Production ready” GNU still requires a non-HURD kernel ( like Linux ). The first GPL kernel to become production ready was Linux, released in 1991. I will let others decide when Linux was production ready.
BSD Unix was started around 1974 or so and “released” in 1977. It is hard to say where the 1.0 equivalent of BSD appeared as ( like GNU ) it was an add on for Version 6 Unix. That said 3BSD, a full OS, was available by 1979 and BSD was free of all AT&T code by 1989. It was ported to x86 ( as 386BSD ) shortly after and FreeBSD ( and to some extend Mac OS X ) are direct descendants of 386BSD.