Remix.run Logo
EPWN3D 2 hours ago

It was that lightweight because it provided basically none of the functionality that is essential to a modern OS. Because it wasn't a modern OS.

The surface area of stuff that an OS has to do today is absolutely massive, and the dependency graphs are poorly understood even by the engineers who work on those systems. Innocuous pieces of functionality have a way of becoming load-bearing over time.

If you ran around disabling random bits of functionality in Windows because you wanted to reclaim some resources for your games, you'd probably wedge the OS, cause random crashes, and prevent your games from even launching. Like you might think "Well my game doesn't need Bluetooth, I only use a wired controller!" but I would not be surprised at all if yanking out the Bluetooth stack from the OS caused random crashes and hangs.

cosmic_cheese 2 hours ago | parent | next [-]

I’m not convinced that it’s impossible to build a modern OS in a way that’s properly modular and allows most functionality to be disabled entirely (as in never even loaded into memory).

Windows almost categorically can’t because it’s only ever been developed organically and is pathologically backwards compatible, which keeps it forever tied to past design decisions.

Linux could get a much closer but is hamstrung by monolithic kernel design which puts more functionality there.

You’d need a clean sheet design which positions most subsystems as discrete components.

skydhash 23 minutes ago | parent | prev | next [-]

> The surface area of stuff that an OS has to do today is absolutely massive, and the dependency graphs are poorly understood even by the engineers who work on those systems. Innocuous pieces of functionality have a way of becoming load-bearing over time

It’s not that huge. I use OpenBSD and the code is surprisingly approachable and readable. And even with no support for runtime modules, it’s pretty easy to customize and strip out whole features. Current complexity in something like linux is stretching the subsystems to support a huge array of use cases.

mitxela 2 hours ago | parent | prev [-]

[dead]