CP/M (Control Program/Monitor) – одна из первых операционных систем для персональных компьютеров, разработанная в 1974 году компанией Digital Research. CP/M была популярной в конце 1970-х – начале 1980-х годов, прежде чем была вытеснена DOS от Microsoft.
CP/M была написана для компьютеров на базе процессоров Intel 8080 и Zilog Z80. Она поддерживала, начиная с версии MP/M 3, многозадачность, многопользовательское окружение и множество утилит для работы с файлами и дисками. CP/M также была совместима с различным программным обеспечением, что сделало ее популярной среди разработчиков и бизнесменов.
CP/M перестала быть популярной после выхода MS-DOS, который был создан для IBM PC. Однако некоторые компании и пользователи до сих пор используют CP/M в своих старых системах.
Гэри Килдалл разработал CP/M на собственноручно созданном языке программирования PL/M для работы на микрокомпьютерах Intel серии Intellec-8, и который, ко всему прочему, поддерживал широкий спектр микрокомпьютеров на базе процессоров Intel 8080/85 и Zilog Z80. Различные аспекты CP/M были созданы под влиянием операционной системы TOPS-10 мейнфрейма DECsystem-10, которую Килдалл использовал в качестве среды разработки.
В 1976 году начала свою работу Digital Research, и сначала она была названа как «Intergalactic Digital Research», так как консультант Килдалла из Сосалито настаивал на названии «Digital Research», а творческий ассистент корпоративного советника Деми Мур настаивал на наличии в названии слова «Intergalactic». Данное слово было убрано из названия в 1978 году, когда Деми Мур ушел из компании.
Одним из первых внешних лицензиатов CP/M оказалась компания Gnat Computers, которая в 1977 году купила за 90 долларов США (CP/M 1.3 продавалась ещё дешевле — по цене в 70 долларов США) у Digital Research право использовать их операционную систему на любом продукте, разработанном Gnat Computers. В течение года спрос на CP/M настолько вырос, что Digital Research пришлось увеличить цену на операционную систему до нескольких десятков тысяч долларов США.
В 1978 году, в основном Джоном Пирсом, была проведена разработка CP/M 2.0 под руководством Килдалла, а в 1979 году, Кэтрин Стратински, подруга Килдалла из Военно-морской аспирантуры, стала четвёртым сотрудником Digital Research и ключевым разработчиком CP/M 2.0, CP/M 2.2 и CP/M Plus. Другими ключевыми разработчиками ранних версий CP/M в 1978—1979 годах являлись Роберт (Боб) Зильберштейн и Дэвид (Дейв) К. Браун.
CP/M имеет три основных компонента:
- BIOS (акроним от Basic Input/Output System, с англ. — «Базовая система ввода-вывода»);
- BDOS (аббревиатура от Basic Disk Operating System, с англ. — «Базовая дисковая операционная система»);
- CCP (аббревиатура от Console Command Processor, дословный перевод — «Процессор консольных команд»).
BIOS выполняет самые низкоуровневые задачи, а также отвечает за запуск самой операционной системы.
BDOS манипулирует дисками и их содержимым, действия, которые выполняет BDOS, включают в себя, например, открытие файла или форматирование диска.
CCP является командной строкой и выполняет команды пользователя, вводимые на консоль. Консоль, в месте перед вводимой командой, как правило, отображает A>
как текущий диск, а также как диск по умолчанию.
Для операционной системы CP/M в различные периоды времени были реализованы драйверы сетевых карт стандартов Arcnet и Ethernet. Ранние версии операционной системы Novell NetWare могли служить сервером для клиентов cp/m. В CP/M (Control Program for Microcomputers) используется файловая система FAT12 (File Allocation Table 12-bit), но без поддержки каталогов, позже послужившая основой для создания файловых систем FAT16 и FAT32. В целом, именно операционная система CP/M оказала огромное влияние на развитие таких систем, как PC DOS и MS DOS.