It was developed by [[Gary Kildall]] of [[Digital Research|Digital Research, Inc.]] as a private project from 1974 on, named '''''C'''ontrol '''P'''rogram/'''M'''onitor''. When it became commercial software in November 1977 it was renamed to '''''C'''ontrol '''P'''rogram for '''M'''icrocomputers''.
CP/M is in three partsdivided into 3 components:* BIOS (Basic Input/Output System): It consists of input/output routines. The console command processor It manages data transfer between the CPU and various peripherals.* BDOS (Basic Disk Operating System): It directs the activities of the disk controller and manages the file allocation on the disk. It allocates memory space under a file name.* CCP(Console Command Processor) which : It handles your input from the "A>" prompt. The basic disk operating system (BDOS) and the basic input/output system (BIOS).
The CCP and BDOS are machine independent and are made by Digital Research. The BIOS is implemented by the vendor (e.g. Amstrad).
There are other CP/M compatible systems or systems that replace part of CPM CP/M to fix bugs and enhance it:
* [[Z80DOS]]
* [[Z-System]]
Other versions of CP/M were also available:
* [[Vortex_CPM|Vortex ]] also shipped their CP/M with their disc drives and their hard disk. This utilised their memory expansion and supported their disc format (which was widely used)* [[Dobbertin_CPM|Dobbertin ]] shipped CP/M to be used with their hard disk.
* [[Graduate Software]] provided a version of CP/M+ on ROM.
Various utilities also patched CP/M to use extended disc formats and to support Amstrad peripheralswhich included:* [[DkTronics_CPM|Dk'Tronics CP/M]]* [[ROMDOS|RAMDOS/ROMDOS patched for CPM2.2 and CP/M+ to use RAMDOS/ROMDOS disc formats]]
CP/M versions relating to the Amstrad CPC