CP/M, an acronym for Control Program/Monitor (or Control Program/Microcomputer), was an early operating system for Intel 8080 and Zilog Z80 based computers. It was created by Digital Research Inc. established by Gary Kildall. The combination of CP/M and these S-100 bus computers was the first "industry standard", and was widely used through the late 1970s and into the mid-80s.
CP/M's command interface, CCP, was patterned after the operating systems from Digital Equipment Corporation, such as RSTS/E for the PDP-11.
Commands generally took the form of a keyword followed by a list of parameters separated by spaces.
The commands themselves were somewhat obscure though, for instance the command to duplicate a file was named PIP
(Peripheral-Interface-Program).
One key innovation in CP/M was the use of an abstraction layer that separated the operating system into two main parts. The CCP translated user commands into a series of high-level instructions. These instructions were then fed into the BDOS, which provided functionality like "open file". The BDOS then translated these commands into a new series of lower-level instructions. These were then fed into the BIOS, which contained the hardware-specific code that carried out the instructions from BDOS.
To illustrate the flow of commands, consider the PIP command mentioned earlier. When PIP was entered in to the CCP it was broken down into a series of instructions for the BDOS, which would be similar to "locate the file name git.txt, open it, create a new file named newgit.txt...". The BDOS commands in turn were sent to the BIOS as a string of even simpler instructions, like "move the disk head to this sector, read sector..." etc.
The vast majority of the complexity in CP/M was isolated in the BDOS, and to a lesser extent, the CCP. This meant that by porting the limited number of simple commands in the BIOS to a particular hardware platform, the entire OS would start working. This significantly reduced the development time needed to support new machines, and was one of the main reasons for CP/M's widespread use. Today this sort of abstraction is common to most OSs, but at the time OSs were typically intended to run on only one platform, and such designs were considered unnecessary.
CP/M was normally distributed on 8-inch floppy disks, and ran on the Intel 8080 CPU (as well as the compatible and very popular Zilog Z80). Programs written for CP/M were typically completely portable amongst different machines with the same CPU; this made it popular, and much more software was written for CP/M than for operating systems that only ran on one brand of hardware. Hundreds of different brands of machines ran CP/M. WordStar, one of the first widely used word processors, and dBase[?], the first widely-popular database program for small computers, were originally written for CP/M.
Versions of CP/M were later completed for other CPUs as well, although they required the programs to be re-compiled for the new CPUs. One of the first was CP/M-86 for the Intel 8086, which was soon followed by CP/M-68k for the Motorola 68000. At this point the original CP/M became known as CP/M-80 to avoid confusion.
CP/M-68k was widely used only in one application, it formed the basis of the Atari ST computer. CP/M-86 had the potential of becoming the standard operating system of the new IBM PCs, but minor legal issues made IBM turn to Microsoft instead. They purchased a CP/M clone known as QDOS, and used it to create MS-DOS which went on to become the "official" PC operating system. CP/M-86 never became popular.
Many of the basic concepts and internal mechanisms of early versions of MS-DOS were copied from those of CP/M. Internals like file-handling data structures were identical, and both referred to drives with a letter (A:, B: etc.). This was done on purpose, to make it easy to port popular CP/M software like WordStar and dBase.
The user interface of MS-DOS however was a bit more friendly. Compare for example CP/M's copy command.
PIP <destination filename>=<source filename>to DOS's more intuitive syntax, roughly patterned after that of the UNIX system:
COPY <source filename> <destination filename>
CP/M would slowly lose market share as the microcomputing world moved to the PC platform, and it never regained the popularity it once had. Later versions of CP/M-86 made significant strides in terms of performance and usability however, and for some time in the 1980s was considered to be a better MS-DOS than MS-DOS. To reflect this compatibility the name was changed, and CP/M-86 became DR-DOS.
Search Encyclopedia
|