3 ms·
> DOS is why the 286 was a bit of a flop. That drove the 386. IDK why but this feels like an over-simplification of the differences between real vs 286 vs 386
by to11mtm 9mo ago
> DOS is why the 286 was a bit of a flop. That drove the 386.
IDK why but this feels like an over-simplification of the differences between real vs 286 vs 386 protected mode. But I'd love some good exposition...
- lproven 9mo agoOh my. I am not sure I'm the man. Executive summary: 286 protected mode gave you 16 MB of memory space, but it still had mandatory segments. Usable but it needed hard work and careful thought. IIRC, that is why the 286 version of MCW Coherent OS still only allowed a maximum program size of 64 kB of code -- plus 64 kB of data. Very limiting. OK for early-Unix-style (say up to UNIX V6, of Lions Book fame and "you are not expected to understand this" comment.) 386 protected mode gave you 4GB of space, and you could choose the segment size, which meant everyone chose a segment size of ALL THE RAM PLS KTHXBYE. That meant you got flat addressing: all pointers could be flat 32-bit INTs. Simples! The 386 also added the ability to seamlessly jump from 8086 mode to 386 mode and back. The 286 intended that to be a one-way trip. DR and others found a loophole (IIRC the `LOADALL` instruction) and a way to exit 286 mode again but it forced a full CPU reset, so it was slow. Not only did the 386 make it easy to get in and out of 8086 mode for DOS binaries, it natively supported multiple concurrent hardware-assisted 8086 VMs, plus memory management so you could keep most of DOS's 640kB free. So, win for protected-mode code, win for DOS code. Intel aimed to please the DOS folks, and to alleviate jealousy of the 680x0 and its nice flat memory space, and make it easy to port UNIX and other memory-managed OSes over from minis and workstations. TL;DR The 286 protect mode was meant for 286 native OSes and it was not easy to run 8086 stuff, or change modes. Plus, segments, which everyone hated. The 386 protect mode optionally got rid of all the stuff that people disliked about 16-bit x86 and offered alternatives that rivalled other platforms than x86. Biggest change until x86-64 came along in 2001-2002 or so.
- canucker2016 9mo agoFrom the perspective of the consumer: - In May 1990, Windows 3.0 running on a Intel 80386 could run multiple DOS VMs simultaneously - In April 1992, OS/2 2.0 finally supported multiple DOS VMs. OS/2 1.x supported running only one DOS app at a time. While MS Excel had been available on Windows for many years before Win3.0, Word for Windows had only been released a year before Win3.0. So many PC users would still have been using the DOS version of WordPerfect (and maybe the DOS version of Lotus 123). Windows 3.0 allowed the user to run many of their DOS apps at the same time, which DOS and OS/2 couldn't do.
- lproven 9mo agoYep, pretty much. Windows/386 could do that in 1987, but not many people bought it. Power users had DESQview/386 or something similar. If IBM had listened to Microsoft, OS/2 1.0 could have done that in 1987 too... and then I think OS/2 could have been a hit and Windows 3.0 might never have happened.