Subject: Re: "CP/M compatible" vs. "MS-DOS Compatible" machines?
From: "Holger Veit" <holger.veit at iais.fraunhofer.de>
Date: Sat, 02 Feb 2008 12:31:30 +0100 (CET)
To: "General Discussion: On-Topic Posts Only" <cctech at
classiccmp.org>
Allison said:
We can look back at CP/M and call it primitive
but it was for the
time a fair improvement and inovation. One only has to look at the
8080/z80 DOS of the day and compare, There were few really viable
choices that werent tied to a fixed hardware or non-portable.
>From the design, it looks as if CP/M was modelled after DECs RT-11.
Actually PDP-8 OS8 started that, all the other DEC OSs TOPS-10 and RT
had it as well.
It
became fashion there to interpret everything as a named device; some of
these contained structured data - namely a file system (in contrast, Unix
had the complementary paradigm: everything is a file in a single rooted,
hierarchical name space, and some files are actually devices).
RT-11 was by magnitudes more evolved than CP/M and its
children CP/M-86
and
PC/MS-DOS, when it comes to interrupt and DMA capabilities.
Most real time OSs were better and of course most minicomputer system
OSs exploited the hardware better.
However while the IO was better CP/M had a far better file system that
accomodated fragmentation (scatter/gather) where RT-11 (and NS* DOS)
had the linear tag and dump that made enlarging a files or creating
variable length files harder.
The 8080 and
Z80 CPUs were equipped by Intel/Zilog with a rich set of support chips -
so it could have been done *right*. S-100 was not designed right WRT IRQ
and DMA; maybe this was one of the stumbling blocks.
True, the caveat then was the Z80 was not cheap but it saved hardware
over 8080 so and it worked in practice as cheaper. The Zilog peripherals
while very sophisticated were never cheap and the DMA was late and
expensive (and never ran faster than 4mhz). Also S100 was one bus that
really made putting Zilog peripherals off the CPU board difficult. When
people started doing SBCs based on Z80/CTC/SIO DMA was left out for space
(yet another 40 pin chip) and cost. The 8257 and 8237 while cheaper
still suffered the cost/space (40pin plus what the octal latch needed)
problem.
However systems that did use DMA offered performance (AC85 was 8085
with 8257 for example) and of course the Compupro S100 cards that
did DMA for floppy. That performance increase may have helped CP/M
systems live for years longer before the 286 and faster machines
with graphics started to offer a real advantage.
What is funny to me was every one was looking for 16bits and faster
when at that time I could see that 16 bit was nice but faster transfers
and larger storage was the prime mover and offered the greater
applications flexibility. People were chafing against multiple
floppies and multiple foppy drives to do even the basic databases
and the like of the day. Anyone thats has used a CP/M system with
a pair of SSSD 8" floppies of around 241K usable space and then went
to DSDD at 1MB or added a 5MB hard disk knew this. Assemble CP/M BDOS
at around 100k using ASM and you find any disk under 400K free space
is too small. You still see that today with faster disks and interfaces.
Allison
--
Holger