3 ms·
Yes, but as the comment below notes, the 386 has hardware-assisted DOS multitasking: basically, V86 mode is a hardware-enforced real mode VM. CP/M-86 was late
by lproven 1y ago
Yes, but as the comment below notes, the 386 has hardware-assisted DOS multitasking: basically, V86 mode is a hardware-enforced real mode VM.
CP/M-86 was late -- years late, and MS-DOS got control of the market in that time. It didn't help that when CP/M-86 arrived on the IBM PC it was 5x the price of DOS.
So, to make a more compelling product, DR merged CP/M-86 with MP/M to make Concurrent CP/M. The intent was multiple users on terminals, not multitasking on one PC, but it could do that.
Concurrent CP/M got an MS-DOS emulator called DOS-mode. This was later built in and Concurrent CP/M became Concurrent DOS.
(Later that bit was effectively spun out to become DR-DOS.)
Concurrent DOS 286 ran in protected mode on 80286 machines and could multitask DOS apps in protect mode, which even OS/2 couldn't do. But this depended on a feature of pre-release 286 chips that Intel removed before release, crippling the new OS.
(With it unable to multitask DOS on early shipping 286s, DR retargeted CDOS 286 as a real-time OS, renaming it FlexOS. That survived for decades. It's still supported by IBM and Toshiba today I think.)
So when the 386 came along it did a big rewrite. CDOS 386 supports hardware-assisted DOS multitasking, including on terminals, but on the console too. No GUI, no windowing, only (by default) 4 full-screen virtual consoles, just as Linux has 7 vconsoles by default accessed with Alt-F1...F7. (Ctrl+Alt+F-keys in X11.)
Including in graphics mode. At work in my first job, I ran MS-DOS COMMAND.COM on top of CDOS in one session, so it reported it was MS-DOS 3.3, but in the background the machine was running FRACTINT generating Mandelbrots for hours. No CPU heatsinks back then, no power management, no fans, so the PC was no louder running flat-out.
It could even handle FRACTINT's fancy direct-VGA-register-writing graphics modes, which reliably crashed OS/2 2.0.