[Linux-aus] Hardware resellers of the world, rejoice!

Les Bell lesbell at lesbell.com.au
Fri May 7 09:55:02 UTC 2004

Ian Wienand <ianw at gelato.unsw.edu.au> wrote:

Seeing as his first point was multitasking, my first assumption is
that his third point was referring to the fact that the 386 was the
first chip with real support for protected mode, which is essential to
"multitasking".  AFAIK in the following 20 years there hasn't been any
fundamental improvements to consumer CPUs like protected mode.

Remember that Windows was announced in 1983 and delivered in 1985. This was
probably around 1986, when - as you say - most people had 8088-based
systems, and the AT had been on the market for a year or so. Very
importantly: the 286 had protected mode before the 386, but in any case,
neither is essential to multitasking. In fact, in 1979, I was working with
a Z-80 system running MP/M and supporting five users. A couple of years
later, we had Morrow Designs Z-80 systems running Micronix, a Unix V7
work-alike, Cromemco systems running Cromix and my office system was a
Godbout/Compupro System 8/16 with dual 8085/8088 processors. Clearly, the
386 protmode wasn't a necessary precondition to multitasking on Intel-based
boxes, let alone other architectures.

And of course, Windows 1.x was written for an 8088 processor, as was
Windows 2.0*, which appeared in 1987. At this point, Microsoft hadn't yet
labelled the 286 as "brain-damaged". For the record, it wasn't - the
problem was that DOS didn't provide decent memory management API's and so
applications - especially COM files - did their own management of the
hardware. Of course, this meant the apps were real-mode only and couldn't
run in protected mode on a 286 (or a 386, either, technically). It took the
386's "8086 virtual machine mode" to deal with those applications - and
that's the *real* reason why Microsoft dissed the 286 and promoted the 386.
If Microsoft had done things right with DOS, apps would have run correctly
in both real and protected mode (as demonstrated by OS/2 "Family API"
executables, which did exactly that). (This is not to say that 32-bitness
isn't good, and paging isn't more efficient than segment swapping, but
those weren't the killer factors).

At the time BG was speaking, Windows 1.0 did non-preemptive multitasking
and non-overlapping windows. Competitive systems (Concurrent CP/M, PC/IX,
Venix, Concurrent, DesqView, Geoworks etc.) managed to do proper
pre-emptive multitasking and and overlapping windows on the same or even
smaller hardware.

No, my initial inclination - in the context of the full talk, and the state
of the art at the time - was to read Bill Gates' comments as an invitation
to hardware manufacturers to join the party, and I still think that was
right. If anything, the subsequent history of restrictive preload
agreements, etc. confirms that view. In any case, it's all ancient history
- except for the rumoured requirements for Longhorn which started this


--- Les Bell, RHCE, CISSP

* Windows 2.0 was actually marketed in two versions: Windows 286, which
used himem.sys to access almost an extra 64K of memory from FFFF0 up, and
Windows 386, which had the ability to multitask DOS applications using the
386's 8086 VM mode. However, the kernel of both was straight 8086 code.

More information about the linux-aus mailing list