Monday, December 31, 2012

The MS OS/2 2.0 fiasco: PX00307 and DR-DOS

There are many anti-trust exhibits and other articles on the MS OS/2 2.0 fiasco and how it went from the original SDK released at the end of 1989 to "Microsoft Munchkins" and other unethical attacks (which got worse as Chicago/Win95 delayed) that was worse than the Joint Development Agreement between IBM and Microsoft (where they worked on OS/2 together) ever was. This fiasco is part of why it took 10 years after Intel introduced the 386 before 32-bit programming became popular.

But one of my favorite is PX00307, about the decision that turned 32-bit OS/2 into a fiasco in the first place. One of the red signs is that the problems of the "32-bit Windows extenders" was not even mentioned, such as no preemptive multitasking and no memory protection! Win9x fixed some but not all of the problems. For example, the Win16Mutex was used as a global mutex to simulate the Win16 cooperative multitasking system. This mutex was taken every time a 16-bit thunk was entered and was global to the system, and even most Win32 apps sometimes thunk to 16-bit (for example when calling USER32) or took the mutex for other reasons. And notice neither Gordon Letwin (the architect of OS/2) or Dave Cutler (the architect of NT) was in the To list, another red sign. Now, OS/2 had a sync input queue that made the preemptive multitasking much less useful, but that was much easier to fix and IBM hacked in a workaround in a FixPak for Warp 3.

But that is not my favorite problem with Win9x. My favorite is how Caldera used it's dependence on DOS to continue DR's lawsuit against MS, even having projects like "WinBolt" to prove it. And of course even before then, there was Windows 3.1's infamous AARD code. And guess what, OS/2 never depended on DOS. It was designed from the beginning as a full OS!

7 comments:

  1. Preemptive multitasking and memory protection were possible with DOS extenders. Some did both. However, this came at a cost in terms of increased memory usage and reduced speed and lower compatibility with existing devices. Must be nice being able to demand all computer purchasers spend twice as much on hardware while throwing away their existing infrastructure just to mark a 32-bit checkbox on a requirements sheet.

    ReplyDelete
    Replies
    1. Yes, but it was be pretty limited in comparison to a full OS. And spend twice as much on hardware?

      Delete
  2. In 1990, a 386 system cost about $600 more than a equal clock speed 286. Memory protection and multitasking carried about 4MB of overhead. At $100 per MB, that adds another $400 to the purchase price. Add another $500 if one wants cache on the 386 motherboard, otherwise the 286 is faster at the same clock speed. The normal business computer sold at about $1000; the minimal computer capable of running fully memory protected multitasking OS would be about $2000.

    Go ahead, make the case that a Fortune 500 company would obtain substantial gains for the many millions of dollars spent on excessive hardware. Not selling a dos extended 16-bit system would have left MS in the same place as NeXT, IBM, and many many Unix vendors with a much praised OS (mostly by journalists that got free copies) that sold few copies. Sales matter. Budgets matter.

    ReplyDelete
    Replies
    1. I am not suggesting abandoning Windows 3.x immediately. I am proposing that 32-bit OS/2 would eventually succeed Windows 3.x.

      Delete
    2. With compatibility with Win 3.x apps, of course.

      Delete
    3. As another note, a lot of the memory consumption of final OS/2 2.x and Win95 has to do with the modern Workplace or Explorer shell. The old MS OS/2 2.0 SDKs from 1990 used the old OS/2 1.2 shell that took much less memory.

      Delete
    4. "In 1990, a 386 system cost about $600 more than a equal clock speed 286. Memory protection and multitasking carried about 4MB of overhead. At $100 per MB,"
      - that is because of the poor technology of Windows/MS-DOS world at that time.

      Meanwhile, a little $400 (1990) Amiga 500 with 512mb would get the job done. I know, because I had a 2mb Amiga 1000 with a 7mhz CPU that out-performed my 486/66 with 4mb at work.

      But the computer market was (and is) Clone/MS-DOS. And wow, how things have changed in 15. There used to be thousands of clone shops and dozen or so major PC brands (Dell / gateway / HP / Compaq / Packard Bell / Acer, etc)

      Acer sucked up Gateway, eMachines. And these days, almost everything comes out of the same 2-3 Chinese factories. Getting a Dell or HP makes little difference. It will be interesting if Dell and HP goes out of business, leaving Acer and Lenovo.

      Delete