Hacker News new | ask | show | jobs
by candiodari 3357 days ago
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.

2 comments

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