Post by Jason EvansI'm doing some more research on Usenet lore and while reading Linus
Torvald's original announcement for Linux, he makes reference to GNU
(Hurd). I'm wondering why is it that Hurd, which was started a year
before Linux, floundered and never really went anywhere while Linux
exploded.
Was it system requirements or technical limitations? Community? Stallman?
I believe the reason was Linux going for a monolithic kernel whereas GNU
Hurd opted for a microkernel, which despite being conceptually superior,
met a lot of practical hurdles. It's just easier to develop a monolithic
kernel, without having to solve problems like message passing between
servers, server reincarnation, etc.
Microkernels were a hot topic in the 80s and I suppose that's why Minix
also chose this architecture and eventually also lost to Linux. While
good in theory, it requires better developers. Linux on the other hand
just kept gaining more traction as almost "anyone" could contribute.
Then there's also a performance advantage from monolithic kernels. This
is the reason I remember myself hearing about during the 90s when I
started using Linux. By the early 2000s there was no turning back, Linux
had won the "popularity war" and everyone with a bit more technical
knowledge was using it. GNU Hurd was looked upon as a bit of an
academical project, not a real life one. During this time however, BSDs
were extremely popular as servers. There were already many Linux
servers, but the serious people used either FreeBSD or OpenBSD.
--
Vasco Costa
AKA gluon. Enthusiastic about computers, motorsports, science,
technology, travelling and TV series. Yes I'm a bit of a geek.
Gemini: gemini://gluonspace.com/