OS2/2.0 required a 386 with 8M memory. Windows 95 only required 4M memory.
In practice of course Windows 95's real competition was OS2 Warp after a year or so, and it was even less of a competition. OS2, incidentally would barely run on 8M ram. It was ... workable, but with WordPerfect open in windows 3.0 with a large document, it was not enjoyable. In practice OS2 required 12M memory. Windows 95 with 4M ram was very slow to start, but once started it ran WordPerfect quite acceptably on 4M RAM.
It's not quite as bad as those people wondering how windows could possibly have beat the superior unix. Problem is that, like with OS2, windows was quite superior to Unix and OS2 in features available to end users, and the price for those. It provided far more value (things you could do with your pc) for any price. Unless you were developing compilers, perhaps. When comparing value for money, Windows won by a landslide. OS2 and Unix were superior in theoretical and academic features.
And today, the reverse is true. Windows actually is a microkernel with message passing. It's not as tiny as something like L4, but it's much smaller than Linux. Microsoft was much more on-point when it came to what the market needed. Today, windows has the academically "superior" kernel. And it matters about as much today as it mattered in 1995.
And even would it be true, this does not translate in any way into complete Windows systems being more lightweight than complete Linux systems.
As for the supposed academical "superiority", maybe you can explain further in detail on which points?
And that's the point where you went wrong. (-:
It is wrong to assert that Windows NT has no message passing "at all".
The original design of Windows NT had applications opening LPC connections to a server process, the Client-Server Runtime SubSystem, and sending it messages for many API calls. Although the graphics system has since moved into the kernel and then partly moved back out again, some of this application-mode message passing to a CSRSS server process remains in Windows NT even to this day. All interaction with the LSASS is also client-server application-mode message passing.
And there is a lot of message passing inside the kernel. The entire I/O subsystem involves passing around IORPs, which are messages.
BeOS made some terrible mistakes (gcc version depend C++ ABI, for example, and all of that at a time the C++ language was quite terrible) but was otherwise an interesting and refreshing OS, with cool ideas and goals.
NextSTEP was mainly just a Unix system with Objective-C framework in upper layers. It gave us OS X. Obviously it was superior to Consumer Windows (but that comparison again is strongly biased given it did not target the same computers at all), and it can be debated to hell whether it was superior or not to NT (depends on which aspect you care about, probably).
NeXTstep, even after the hardware platform it was made for failed, was achieving some success in the enterprise market as an aftermarket OS, before Apple bought the company, made it exclusive to Apple hardware, and called it OS X.
It's kind of hard to call that a failure.
I do hope some of the next-gen have a go at a new OS instead of building yet another JS or CSS framework - right now everything is a compromise and only 10% of the functionality is ever used - it's an open goal - the prizes are enormous
Maybe I'm missing something, but with the advent of VR, AR, and (I could be reaching here...) Neural Lace, I think we might see greater strides made in application of any interface theories outside of the OS, or above it.
The next-gen will probably be looking to improve upon higher-level OS interaction, like Siri. So people don't have to understand the technology (even less than they do now) to take fuller advantage of the power of the technology.
That's just a few off the top of my head. If it's a netbook for browsing, it might also use something like Illinois Browser Operating System (IBOS) as its base. Definitely throw in a NUMA chip on the high-performance version, too, so I can finally have me a modern SGI Onyx2 or Altix with 256+ CPU's, TB's of RAM, several GPU's, and a bunch of FPGA's. All hotswappable so my games, simulations, or recompiles of kernels aren't interrupted by mere hardware failures.
But it sounds like you're pointing to applied-need systems, like POS or IOT situations. I can see the usefulness there, completely.
I guess I meant more in the mainstream realm, replacing readily what consumers would opt to use.
I am going to have to read up on a number of the items you raised, thanks!
https://news.ycombinator.com/item?id=10957020
Idea was whether there were better architectures.
all roads lead back to where it all started - that higher-level OS interaction cul-de-sac - it's a cul-de-sac
but what if it is a surface layer built out of those languages and frameworks? Even if it's not optimized and technologically eloquent, it's already being rammed through now with libraries like Google's A-Frame.
Myopic maybe, but only from a select perspective. Those languages have been the most democratizing in CS history. They're the ones a lot of people seem to be the least intimidated by, at least at the outset.
I'm sure it will come back down to lower-level work because the higher level processes will soon require it. That said, I don't personally foresee some new, young group yet writing a viable alternative to Windows, macOS, Linux or any variants thereof. There's little point, and the battle would be a hard one to win. It's much easier to tame new ground in order to make one's place. That aspect shouldn't be underestimated in its influence.
People who lived through the home computer revolution would probably suggest BASIC for that title.