Hacker News new | ask | show | jobs
by Esau 3357 days ago
OS/2, Nextstep, and BeOS were all better than Windows (IMO) and none of them succeeded. Some of it was missteps by the OS vendor but not to be forgotten was Microsoft's deals with PC makers that locked out competition.
5 comments

It didn't help that OS2/2.0 actually had higher system requirements than Windows 95. And a higher price.

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.

The NT kernel is not "really" (<-- read that: at all) a microkernel with message passing. The kernel space scope (but not constraints, for example their is no stable kernel/user ABI on NT) is actually very similar to the one of Linux.

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?

> read that: at all

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.

MS had to spend a lot of effort fitting Win95 in 4MB. Of course, the Workplace Shell consumed memory too. This is about old builds that used the UI of OS/2 1.2/1.3
OS/2 might have been somehow better than Windows Consumer (and that's given the proper big enough computer at the time), but it was clearly inferior to NT. In term of tradeoffs though, maybe they are comparable (using the first versions of NT, maybe OS/2 needed slightly less resources, and we can put it between 3.1 and NT on the technical vs. resource usage tradeoff scale?)

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).

> OS/2, Nextstep, and BeOS were all better than Windows (IMO) and none of them succeeded.

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.

it was a great time to be alive - BeOS, Next - nobody knew what the race would even look like nevermind who would win it

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

Don't you think the desktop OS as is might be a little played out? I could see moderate changes being made, but no major leaps. We've seen the ChromeOS begin to take off, but largely because of Google's place in the larger market... but again it's Linux-based. FirefoxOS tried, and fizzled out. Android is making its way to the desktop now, and that seems like it would catch on, with the supreme portability of the phone and the increasing power they old -- computationally and in people's lives. Also reflected in Apple pushing the iPad Pro.

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.

If we talk technologically & not app availability, there's all kinds of things one might do with a better desktop. Academics & random people online stay dreaming up better UI's or other capabilities. I'd like the internal control + self-modification of LISP machines, concurrency support of BeOS, capability-security of KeyKOS or CapDesk, maybe persistence of app data like KeyKOS, reincarnating drivers in user-mode like Minix3, modifiable-for-workload schedulers that prevent one task from taking down system like RTOS's, versioned filesystem like OpenVMS, two motherboards like SGI with clustering like VMS for mission-critical desktops, mini-version of NonStop for desktops for more mission critical, Amiga-style hardware offloading for key stuff like I/O, Burroughs-style CPU that made most code injection or type errors impossible, jumpers write-protecting the chip for my open-source firmware, ECC RAM, and a RAM disk w/ flash backup for main OS & apps to load crazy fast (or it always hibernates w/ hardware acceleration of that or persistance of changes).

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.

Definitely good points, and a few of them were admittedly way over my head in terms of applied knowledge.

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!

Good chunk of the list were in desktop or server roles. Good call on at least one or two being useful in embedded. Here's a UNIX alternatives list I made a while back that you might find interesting:

https://news.ycombinator.com/item?id=10957020

Idea was whether there were better architectures.

when I said JS - this was exactly the myopic view I was referencing

all roads lead back to where it all started - that higher-level OS interaction cul-de-sac - it's a cul-de-sac

I see what you're saying, and it certainly is 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.

> Those languages have been the most democratizing in CS history.

People who lived through the home computer revolution would probably suggest BASIC for that title.

I'm too young to comment properly (sadly, only just). Though I'll admit that was the first language I learned in high school outside the Turing learning language.
It was clear from the start (at least 1990), Microsoft had OEM deals for DOS and later Windows. The locked out competition right from the start.
NEXTSTEP evolved into MacOS X and iOS so it wasn't a total failure