View Full Version : CP/M

January 16th, 2011, 11:57 AM
200px|thumb|right|A screenshot of CP/M
CP/M or Control Program for Microcomputers was an Operating System created by Gary Kildall. CP/M was an early industry-standard operating system which was common on many computers such as the Sony SMC-70 and the Osborne 1.
Most other operating systems in the early microcomputer market were tied to a particular manufacturer's systems. In many cases, the OS was developed and maintained by the system manufacturer. CP/M, though originally developed on the Intel Intellec-8 development system, was designed to be easily ported to other systems based on the 8080 microprocessor through the use of a minimal software layer interfacing CP/M to the specific system. This layer is called the Basic Input/Output System, or BIOS, which implements a short list of functions to service the other components of CP/M.
As a result, CP/M was ported to multiple systems which then shared a common base for application software. This provided enough of a market advantage to CP/M systems that many manufacturers with competing OSes later ported CP/M to their own systems.
Though CP/M started on the 8080, and later 8085 microprocessors, it was ported to a number of 8 and 16 bit processors, including the 6800, 8086, Z-8000, and 68000. As an 8080-compatible processor, the Z-80 was a popular choice of processor for CP/M systems as well, though the OS did not use any of the Z-80's enhancements over the 8080.
To run CP/M, a system required:
a compatible processor for the CP/M version.

RAM sufficient for the CP/M version, typically a minimum of 16-24K.

at least one floppy disk drive.

a boot mechanism, either hardware or software or both, capable of reading the CP/M system track of the disk, placing it in memory, then transferring control to CP/M.

a user terminal capable of receiving and transmitting 7 bit ASCII interfaced to the host system.

CP/M was inspired by the DEC TOPS-10 operating system as well as IBM's CP/CMS OS, both of which were known to Gary Kildall.
CP/M consists of:
the BIOS, usually provided by the system manufacturer (though community-developed BIOSes were often available for systems that lacked official support for CP/M),

the Basic Disk Operating System, or BDOS, which provided standardized access to the disk-based file system,

the Console Command Processor, or CCP, which acted as the main user interface, or shell, included several utility functions, and acted as a loader for application programs,

standard system applications, including an assembler (ASM.COM), debugger (DDT.COM), and data transfer/copy program (PIP.COM). Many manufacturers included additional applications specific to their systems with their distribution of CP/M, notably a disk formatting program suited to their system hardware, among others.

CP/M remains one of the most-used operating systems among both hobbyists and professionals even decades after its demise as a current commercial operating system. Its continued professional use stems from installations in process control and other vertically integrated applications in the past which, for economic reasons, are still in use today (though these are diminishing over time.)
Its continued use by hobbyists stems from its relative simplicity, large base of application software, strong knowledge in the hobby community, and ease of implementation on both old and new systems.
Later operating systems were influenced by CP/M as well. Most notably MS-DOS/PC-DOS, which were based on QDOS by Seattle Computer Products, developed by a former employee of Digital Research, Incorporated. The original IBM-PC was launched with a choice of operating system, either CP/M-86 or PC-DOS. PC-DOS was practically identical in features and software base to CP/M-86, but was substantially cheaper as well as being labelled as IBM software. These factors led to an early sales advantage for PC-DOS which continued to dominate the market for OSes in subsequent years in spite of changes to CP/M's pricing and features to attempt to regain market position.
Later Versions
Late versions of CP/M for the Intel x86 family included full MS-DOS compatibility in addition to features not offered in contemporary versions of MS-DOS. These versions bore the names DOS Plus and DR-DOS.