From Academic Kids

CP/M (whose antecedent was most commonly accepted during the 1970s as Control Program for Microcomputers but also Control Program/Monitor or Command Processor for Microcomputers are purported as well) was an operating system for Intel 8080/85 and Zilog Z80 based microcomputers. It was created by Digital Research, Inc. The combination of CP/M and S-100 bus computers patterned on the MITS Altair was an early "industry standard" for microcomputers, and was widely used through the late 1970s and into the mid-80s. By greatly reducing the amount of programming required to install an application on a new manufacturer's computer, CP/M increased the market size for both hardware and software.


Description: CCP, BDOS, BIOS

CP/M's command line interface, implemented in the CCP command control processor, was patterned after the operating systems from Digital Equipment, 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 or special characters. If the command was not one of the internal commands built into the CCP, the currently-logged disk directory would be searched for a program file with the same name, and, if found, the program would be loaded and the rest of the command line passed to it.

The commands themselves would sometimes be somewhat obscure; for instance, the command to duplicate files was named PIP (Peripheral-Interchange-Program), the name of the old DEC utility used for that purpose.

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 (Basic Disk Operating System), which provided functionality like "open file". Application programs would likewise talk to the BDOS. The BDOS then translated these commands into a new series of lower-level instructions. These were then fed into the BIOS (Basic I/O System), 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 a PIP command was entered into the CCP it was broken down into a series of instructions for the BDOS, which would be similar to "locate the file named foo.txt, open it, create a new file named bar.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 raw data from sector..." etc. The BIOS would then do the actual controlling of the hardware, such as sending pulses to the stepper motor of the drive.

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 work. 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 of CP/M's birth, OSs were typically intended to run on only one machine platform, and multilayer designs were considered unnecessary.


The beginning and CP/M's heyday

CP/M was originally distributed on 8 inch floppy disks, and ran on the Intel 8080 CPU (as well as the compatible and very popular Zilog Z80). Eventually, the industry moved to the 5¼ inch disk format, and CP/M followed -- however many companies developed their own, incompatible 5¼ inch disk formats, which made the exchange of disks between different CP/M-systems difficult in practice. Popular CP/M systems sometimes supported at least one other disk format than their own native format. Translation programs existed to allow interchange of files between disk formats.

CP/M was described as a "software bus", allowing multiple programs to interact with different hardware in a standardized way. Programs written for CP/M were typically portable between different machines, usually only requiring specification of the escape sequence for control of the screen and printer. This portability made CP/M popular, and much more software was written for CP/M than for operating systems that only ran on one brand of hardware. One restriction on portability was that certain programs used the extended instruction set of the Z80 processor and would not operate on an 8080 or 8085 processor.

Hundreds of different brands of machines ran CP/M, some notable examples being the above-mentioned Altair, the IMSAI 8080, the Osborne 1 and Kaypro portables, and even the Apple II when an extra Z80-card was installed. The best-selling CP/M system of all time was probably the Commodore 128, although few people actually used its CP/M capabilities. In the UK, CP/M was also available for the BBC Micro - which could also be equipped with a Z80 co-processor. Furthermore, it powered the popular Amstrad PCW word-processing system.

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.

The 16-bit world

Versions of CP/M were later completed for some 16-bit CPUs as well, although they required the application programs to be re-compiled for the new CPUs -- or, if they were written in assembly language, to be largely rewritten from scratch.

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 8-bit 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. Microsoft purchased a CP/M clone known as QDOS, and used it to create PC-DOS/MS-DOS which went on to become the "official" PC operating system. CP/M-86 never became popular.

MS-DOS takes over

Many of the basic concepts and internal mechanisms of early versions of MS-DOS were patterned after those of CP/M. Internals like file-handling data structures were identical, and both referred to disk drives with a letter (A:, B:, etc.). The main innovation was MS-DOS's FAT file system. This intentional similarity made it easier to port popular CP/M software like WordStar and dBase. However, CP/M's concept of separate user areas for files on the same disk was never ported to MS-DOS. Since MS DOS had access to more memory, more commands were built-in, most usefully the file COPY command. This made the command-line user interface of MS-DOS somewhat easier to use.

CP/M rapidly lost market share as the microcomputing world moved to the PC platform, and it never regained its former popularity. Byte Magazine, at the time one of the leading industry magazines for micrcomputers, essentially ceased coverage of CP/M products within a couple of years of the introduction of the IBM PC. For example, in 1983 there were still a few advertisemtnts for S100 boards and articles on CP/M software, but by 1987 these were no longer found in the magazine.

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 x86 OS than MS-DOS. To reflect this compatibility the name was changed, and CP/M-86 became DR-DOS.

See also


External links

es:CP/M fr:CP/M ia:CP/M it:CP/M he:CP/M nl:CP/M no:CP/M ja:CP/M pl:CP/M pt:CP/M ru:CP/M fi:CP/M sv:CP/M


Academic Kids Menu

  • Art and Cultures
    • Art (http://www.academickids.com/encyclopedia/index.php/Art)
    • Architecture (http://www.academickids.com/encyclopedia/index.php/Architecture)
    • Cultures (http://www.academickids.com/encyclopedia/index.php/Cultures)
    • Music (http://www.academickids.com/encyclopedia/index.php/Music)
    • Musical Instruments (http://academickids.com/encyclopedia/index.php/List_of_musical_instruments)
  • Biographies (http://www.academickids.com/encyclopedia/index.php/Biographies)
  • Clipart (http://www.academickids.com/encyclopedia/index.php/Clipart)
  • Geography (http://www.academickids.com/encyclopedia/index.php/Geography)
    • Countries of the World (http://www.academickids.com/encyclopedia/index.php/Countries)
    • Maps (http://www.academickids.com/encyclopedia/index.php/Maps)
    • Flags (http://www.academickids.com/encyclopedia/index.php/Flags)
    • Continents (http://www.academickids.com/encyclopedia/index.php/Continents)
  • History (http://www.academickids.com/encyclopedia/index.php/History)
    • Ancient Civilizations (http://www.academickids.com/encyclopedia/index.php/Ancient_Civilizations)
    • Industrial Revolution (http://www.academickids.com/encyclopedia/index.php/Industrial_Revolution)
    • Middle Ages (http://www.academickids.com/encyclopedia/index.php/Middle_Ages)
    • Prehistory (http://www.academickids.com/encyclopedia/index.php/Prehistory)
    • Renaissance (http://www.academickids.com/encyclopedia/index.php/Renaissance)
    • Timelines (http://www.academickids.com/encyclopedia/index.php/Timelines)
    • United States (http://www.academickids.com/encyclopedia/index.php/United_States)
    • Wars (http://www.academickids.com/encyclopedia/index.php/Wars)
    • World History (http://www.academickids.com/encyclopedia/index.php/History_of_the_world)
  • Human Body (http://www.academickids.com/encyclopedia/index.php/Human_Body)
  • Mathematics (http://www.academickids.com/encyclopedia/index.php/Mathematics)
  • Reference (http://www.academickids.com/encyclopedia/index.php/Reference)
  • Science (http://www.academickids.com/encyclopedia/index.php/Science)
    • Animals (http://www.academickids.com/encyclopedia/index.php/Animals)
    • Aviation (http://www.academickids.com/encyclopedia/index.php/Aviation)
    • Dinosaurs (http://www.academickids.com/encyclopedia/index.php/Dinosaurs)
    • Earth (http://www.academickids.com/encyclopedia/index.php/Earth)
    • Inventions (http://www.academickids.com/encyclopedia/index.php/Inventions)
    • Physical Science (http://www.academickids.com/encyclopedia/index.php/Physical_Science)
    • Plants (http://www.academickids.com/encyclopedia/index.php/Plants)
    • Scientists (http://www.academickids.com/encyclopedia/index.php/Scientists)
  • Social Studies (http://www.academickids.com/encyclopedia/index.php/Social_Studies)
    • Anthropology (http://www.academickids.com/encyclopedia/index.php/Anthropology)
    • Economics (http://www.academickids.com/encyclopedia/index.php/Economics)
    • Government (http://www.academickids.com/encyclopedia/index.php/Government)
    • Religion (http://www.academickids.com/encyclopedia/index.php/Religion)
    • Holidays (http://www.academickids.com/encyclopedia/index.php/Holidays)
  • Space and Astronomy
    • Solar System (http://www.academickids.com/encyclopedia/index.php/Solar_System)
    • Planets (http://www.academickids.com/encyclopedia/index.php/Planets)
  • Sports (http://www.academickids.com/encyclopedia/index.php/Sports)
  • Timelines (http://www.academickids.com/encyclopedia/index.php/Timelines)
  • Weather (http://www.academickids.com/encyclopedia/index.php/Weather)
  • US States (http://www.academickids.com/encyclopedia/index.php/US_States)


  • Home Page (http://academickids.com/encyclopedia/index.php)
  • Contact Us (http://www.academickids.com/encyclopedia/index.php/Contactus)

  • Clip Art (http://classroomclipart.com)
Personal tools