Live data from Hacker News

Gnu/Hurd strikes back: How to use the legendary OS in a (somewhat) practical way

mhatta.medium.com

181–190 of 273 posts

Re: Gnu/Hurd strikes back: How to use the legendary OS in a (somewhat) practical way

#181

Earlier quoted context omitted.

Maybe I’m missing the joke, but in or out of kernel context is orthogonal to how the source code is stored.

The author is the same (Linus), so it makes sense that he would design a source control system that supported the monorepo he created over the prior 15-ish years.

Sure, but git does support multiple repos quite easily, and has support for submodules. It's grown a lot since when Linus first designed it.

Re: Gnu/Hurd strikes back: How to use the legendary OS in a (somewhat) practical way

#182
post #103

Earlier quoted context omitted.

> 1. Linux is too big. Too big for what exactly? Because it's clearly not too big to run. It's been running very well for decades, and Hurd has not. I've known for decades that on paper, microkernels and Hurd should be superior, and I've wondered for nearly as long why then they aren't taking off. If they're so good, they should at least be thriving in some niche where that performance matters, shouldn't they? And no…

> I've known for decades that on paper, microkernels and Hurd should be superior, and I've wondered for nearly as long why then they aren't taking off. If they're so good, they should at least be thriving in some niche where that performance matters, shouldn't they? They (microkernels) thrive in Automobiles, Aircraft, Spacecraft, Security systems (such as hardware encryption devices), Defense Munitions, Embedded Devi…

So Linux is too big for embedded systems. I completely understand that. But I was hoping they'd also be viable for general purpose computers. That's certainly what Tannenbaum argued back in the day.

Or could they work if only people would stop focusing on Hurd? Is Hurd a dead end? Or is GNU the real problem and should we abandon that?

Re: Gnu/Hurd strikes back: How to use the legendary OS in a (somewhat) practical way

#183
post #152

In the commercial world the first release a new OS with GUI only takes about 4 years, depending. Hurd has exceeded that by a huge margin.

Even in the noncommercial world, Hurd's gone precisely nowhere. RedoxOS is a toy and had a GUI within a year or so. Brutal got in within two. SerenityOS not only built a GUI but the beginnings of the first greenfield web browser to gain any semblance of modern standards support in the past several decades.

Honestly, what's Hurd doing wrong to flounder so hard?

[0] https://github.com/redox-os/redox/releases/tag/0.0.3

[1] https://github.com/brutal-org/brutal/releases

[2] https://serenityos.org/happy/1st/

Re: Gnu/Hurd strikes back: How to use the legendary OS in a (somewhat) practical way

#184
post #167
post #132

Earlier quoted context omitted.

> To add to this, unless you are compiling your kernel specifically for your machine, your kernel is going to be a bloated compromise of the set of drivers that your system is most likely to see. That means that you will have dozens, if not hundreds of drivers compiled into your kernel which will never need to be used. These days most Linux distros build pretty much any driver as a module that can be built as one. Bo…

>I agree that Linux is still larger than a microkernel, but very few users have a bloated kernel in RAM due to lack of customizations. Most users run the distribution's kernel.

Which distribution kernel specifically? If you're running on a VM, you get a cloud kernel in many distros, which is very stripped down for example. On other systems - the modules part still applies - how much are you actually trying to save on the kernel RAM usage? I've got a very average kernel from a distro at 20MB and initramfs at 35MB. They could be twice the size and I would never notice. I appreciate they could be smaller, but we're running a minimum of 8GB these days.

The rest is in the modules and they're not loaded unless they're actually used. The parts baked into the kernel are mostly display, storage and various buses, which you would need to have immediately loaded in Hurd anyway to load the rest of services.

Re: Gnu/Hurd strikes back: How to use the legendary OS in a (somewhat) practical way

#185
post #172

Earlier quoted context omitted.

Filesystems tend not to be all that complex to implement.

Simple filesystems - those oriented at speed, without integrity checking, compression, encryption and raid-like features. Which are extremely useful and desirable in a filesystem. When people tried to do a full-featured filesystem, with a remarkable exception (ZFS) it's either a disappointing unfinished mess (btrfs) or a promising, but a long-term project taking years (bcachefs). Making a filesystem with strong suppo…

Hammer2 comes to mind as well..

Re: Gnu/Hurd strikes back: How to use the legendary OS in a (somewhat) practical way

#187
post #45

An idea from the 'Crossing the Chasm' book is to find a niche where whatever characteristics of the product you're working on can win. You are not going to win going head to head with the entrenched competitors. What does that look like for Hurd?

I don’t know enough about Hurd to say, but as an example MINUX found its niche as the control software for Intel’s management system. As a result MINUX is/was more widely deployed than Linux for a few years. Still might be.

Re: Gnu/Hurd strikes back: How to use the legendary OS in a (somewhat) practical way

#188
post #63

Earlier quoted context omitted.

NetBSD has architectured their drivers to be basically static archives reusable anywhere. It's part of the NetBSD rump kernel.

What do you mean by "reusable everywhere"? I mean, where could they be used other than in a NetBSD kernel?

GNU Hurd for example. I haven't used it so I'm not sure of the exact status but it sounds like they are using it in some cases to make use of existing drivers in a microkernel style. There have been a few attempts to rumpify Linux but it doesn't seem like any of them succeeded and I'm not sure if anyone is still trying.

Re: Gnu/Hurd strikes back: How to use the legendary OS in a (somewhat) practical way

#189

Earlier quoted context omitted.

Could one not make the case that maybe device driver support doesn't belong in the kernel itself?

The Linux kernel driver API/ABI isn't stable so there's no permanent/versioned interface you can program against that would make out-of-tree drivers non-headache inducing: https://www.kernel.org/doc/Documentation/process/stable-api-... > You think you want a stable kernel interface, but you really do not, and you don't even know it. What you want is a stable running driver, and you get that only if your driver is in…

Well windows pulled it off

Re: Gnu/Hurd strikes back: How to use the legendary OS in a (somewhat) practical way

#190
post #167

Earlier quoted context omitted.

>I agree that Linux is still larger than a microkernel, but very few users have a bloated kernel in RAM due to lack of customizations. Most users run the distribution's kernel.

Which distribution kernel specifically? If you're running on a VM, you get a cloud kernel in many distros, which is very stripped down for example. On other systems - the modules part still applies - how much are you actually trying to save on the kernel RAM usage? I've got a very average kernel from a distro at 20MB and initramfs at 35MB. They could be twice the size and I would never notice. I appreciate they could…

Literal megabytes of code running in supervisor mode.

What could possibly go wrong.

Post reply on HN