Showing posts with label OS/2. Show all posts
Showing posts with label OS/2. Show all posts

Monday, April 02, 2012

OS/2 wasn’t all that good

Alan Shimmel has a post claiming If The Best Technology Won We Would All Be Using OS/2. It’s not true, OS/2 wasn’t the best technology. And in any case, we are still using it.

OS/2 was only a 16-bit operating system when it was released in 1987. Sure, it was better than MS-DOS, but it was already behind the Amiga and Xenix, a Unix variant that ran in a full 32-bits on the 80386.

It wouldn’t be until 1992 that OS/2 would go a full 32-bits. By that time, IBM and Microsoft had forked the source code. The disagreement was over support of the Windows APIs. By this time, Windows had become too popular to ignore. By adding the APIs to OS/2, porting applications from 16-bits to 32-bits would be a minor code change. But not having the APIs would force a complete rewrite.

Thus, “IBM OS/2 Warp” became the 32-bit version without Windows compatibility, and “Microsoft Windows NT” (or simply “WinNT”) was the version with Windows compatibility. Note that WinNT was not Windows, it was instead OS/2 with Windows backwards compatibility.

Even today, we retain many OS/2-isms in WinNT (now known as Windows 7). For example, “beginthread” is an OS/2 API. OS/2 had threads from the beginning, but Windows never did, so the threading APIs are naturally the OS/2 APIs. Some networking vulnerabilities (in SMB) actually come from OS/2.

Their first 32-bit versions (OS/2 2.0 vs WinNT 3.1) competed head-to-head in 1993. OS/2 had strengths, such as running older MS-DOS programs, but on the whole, WinNT was a much better technology in almost every other aspect, quite apart from it’s backwards compatibility with the Windows API.

Superior technology is rarely superior, but is instead a choice of tradeoffs. The Beta vs VHS war is a good example. Beta had twice the video quality as VHS, and is described as “better”. But it had half the run time, so you couldn’t fit an entire movie on a single Beta tape. Beta lost because customers didn’t like the tradeoff, not because somehow VHS tricked people.

But sometime a product does make a huge advance. A good example is the Commodore Amiga. It was a generation ahead of any competing system when it was released in 1985, which is why it’s fondly remembered even today.

A similar thing happened in 1996 with the Microsoft/Intel alliance. Intel started shipping its “Pentium Pro” microprocessor, which was faster on every relevant benchmark than competing RISC processors. At the same time, Microsoft released WinNT 4.0, which was faster on every “C10K” style benchmark than any competing Unix operating system. In addition, you could cheaply put two Pentium Pro processors into a system for little more than price of one, and WinNT 4.0 supported both processors. WinNT then became Win2k, then WinXP, then now Win7.

The conclusion is this: back in late 1980s, the only thing OS/2 was better than was MS-DOS. But it did evolve into WinNT, which eventually did win because it was indeed the superior technology.


Diclaimer: My first job out of college in 1990 was programming on OS/2. It was much better than MS-DOS, but it's 16-bit nature was a pain. By 1994, I was programming on WinNT, which has been my favorite environment since, despite the fact that most of my code runs on Linux.