Hacker News new | ask | show | jobs
by witheld 1712 days ago
Operating systems grinded to a halt a decade before Plan 9 came out. I wish what you were saying was true, I wish that I didn't have to use a teletype emulator on Linux with no real mouse support, I wish I could do unprivileged resource organization (I'll give you ten minutes to try 'unshare', bind mounts, and "unionfs" on Linux before giving up).

It is pathetic that operating systems have remained crap for 30 years, but given that nothing has moved forward, there's no reason not to start with the newest operating system we have: Plan 9.

1 comments

Starting with a stripped-out Linux kernel and a standard toolchain (whether gcc or clang) would start you light-years ahead of Plan 9 and still permit you to do the kind of research a lot of us (including former 9fans) would love to see. This really depends on an expansive view of "operating systems" (i.e. kernel + a lot of other stuff), but most of what you're saying is not exclusively the domain of the most privileged code.

As a bonus, you'd get a vast array of device drivers and be able to run actual computer programs used by more than a handful of people, which I hear is neat for attempting to build an innovative research operating system with some relevance.

I'm not going to argue that a standard Linux distribution is not a giant mountain of cruft, but imo it's the user space and system software that's alarming, not the kernel per se. And to the extent that the kernel is crufty: well, it's supporting orders of magnitude more things that Plan 9 ever did, and that's a good thing.

I share your irritation at all the things you outline, but you don't need to be running a wacky Thompson C codebase on top of an old kernel to fix any of these things.

I'm also far from convinced that there's any aspect of the Plan 9 design that should be accepted uncritically for a clean sheet new OS design. Saying "nothing has moved forward" is hyperbole, and plenty of things have changed since 1990, even if we accept your claim about OS stagnation as a given. I'm far from convinced that the insights of the Plan 9 guys circa 1989 are so wonderful and timeless that they are better than what could be done with a clean sheet design on top of modern hardware and a minimalist Linux kernel now.

> Starting with a stripped-out Linux kernel and a standard toolchain (whether gcc or clang)...

Harvey OS[1] is a Plan-9 based OS but with a modern toolchain using C11 and Go. Not much activity in the last few years, but then a burst of activity this summer.

1. https://harvey-os.org/

I'm not interested in any capitalist perspective of an OS- this kind of thinking is exactly why I'm using a damn teletype emulator. Profitable, "successful" computing that gets more than "a handful" of users is web tech. They can keep it.

I'll just stop at the top- no, I can't use Linux as a base, except perhaps as a host for a virtual system. For me I've been playing with uxn, but Inferno does exist. And you're right, using Inferno on a stripped Linux system WOULD be better than using Linux.

How is an OS "capitalist"? What...?
That's all OP cares about, success. To them, computing isn't worth it if it's not popular. There's no reason to write code that won't be used, no reason to research if it won't literally change the landscape of consumer computing.

But consumer computing will never change, it will remain made of a stack of legacy parts in a trenchcoat. The only real change we've gotten in a decade is Vulkan/DX12- and those APIs just expose graphics the way consoles do. We've done that for decades it's still not new.

Research because it's fun, because it's an artistic outlet. make tiny virtual computers you can run in weird places and then run them in weird places! Because you can! Learn because it is engaging, and because sharing what you learn is rewarding.

You mistake my reasons. Popularity is not an end in itself. Popularity, in this case, is a requirement to capture meaningful workloads to test what is purportedly a research operating system.

The reason that Plan 9 failed as a platform for exploring OS design (not strictly speaking "OS research" in a narrow sense) is that modern workloads didn't run there.

Honestly, who cares which platform supports a handful of processes running the moral equivalent of xclock, a few shells, a 1980s looking terminal and the occasional build? This isn't a proxy for anything that anyone cares about, and all modern hardware is ludicrously overpowered to do that. Give me a modern machine, and I could probably write you something that simulated a decent-looking 1989-level experience in pure Python (I am not saying this is a good idea).

It rapidly became impossible to test any meaningful ideas on Plan 9 because what consensus reality regards as "software" doesn't really run there. This filters down into potentially bad decisions about design of OS and runtimes. You can't test out ideas that come from anywhere outside your narrow circle of "the Unix room and miscellaneous fanboys and trainspotters".

For example, is "everything is a file" a good abstraction for a modern graphical interface of any kind? Who knows, we'll never see one ported to Plan 9, just a bunch of bitblt-level fingerpainting.

If Plan 9 had stayed popular (there's that word) enough to attract enough users to matter, maybe we could have explored these ideas. Not necessarily building a dumb clone of Windows and doing everything the same way, but having enough interoperability to make it a plausible daily driver.

"Popular", "Modern Workloads", "meaningful ideas"

You are a buzzword machine with no substance. All of these are nothing more than an obsession with some idea of success.

Will modern apps, workloads, quote on quote "meaningful" things run on uxn? No! But we can still research what you can do with modern aspirations and knowledge on an 8bit computer.

The goal is not to run some existing software, the goal is to learn. To make new software, new workloads, new ideas.

If you want to run "modern workloads", these days just grab a web browser- you can probably even do your GPU research in there!

Do that, that's wonderful if your research is about things you can do on normal operating systems like a web browser. But if your research is about computers, you probably need to say, design a new computer (uxn) or expose yourself to different kinds of computers. I suggest you do both, write a compiler and write a VM for it!

You'll get maybe a dozen users, and you'll learn, and you'll teach people things. All without any "success"

My family comes from a country that only economically liberalized in the last 25 years. Trust me, popularity is _not_ a capitalist thing. Capitalism feeds into pageant show dynamics, absolutely, but popularity is still a driving force in non-capitalist economies.

There's nothing wrong with playing around with these concepts for purely recreational/artistic reasons, but I don't think that's where OP is coming from. OP talks about their reasoning in a sibling comment.