Открыть сервис

Система CP/M

CP/M (Control Program for Microcomputers, Программа управления для микрокомпьютеров) — это операционная система для 8-разрядных микрокомпьютеров на базе процессора Intel 8080 (и совместимых с ним Zilog Z80), разработанная американским программистом Гэри Килдаллом в 1974 году. CP/M стала первой массовой операционной системой для микрокомпьютеров, фактически установив стандарт для рынка персональных компьютеров конца 1970-х — начала 1980-х годов, прежде чем была вытеснена системами MS-DOS и PC DOS. Ключевыми характеристиками CP/M были модульная архитектура, поддержка файловых систем на гибких дисках и переносимость между различными аппаратными платформами.

История

Предыстория и создание

В начале 1970-х годов микропроцессоры, такие как Intel 8008 и 8080, стали доступны для любителей и небольших компаний. Однако для их использования требовалось написание программ на машинном коде или ассемблере, а управление устройствами ввода-вывода (дисководами, принтерами) было сложной задачей. Гэри Килдалл, работавший в Naval Postgraduate School в Монтерее (Калифорния), в 1973 году разработал язык программирования PL/M, который позволял писать системное ПО для микропроцессоров. В 1974 году, используя PL/M, он создал прототип операционной системы для Intel 8080, первоначально названный «CP/M 1.0». Первая версия была продемонстрирована в 1974 году на стенде компании Intel, но не получила коммерческого распространения.

Коммерциализация и распространение

В 1975 году Килдалл основал компанию Digital Research, Inc. (DRI), которая начала лицензировать CP/M производителям микрокомпьютеров. Первым коммерческим продуктом стала CP/M 1.3, выпущенная в 1976 году. Система быстро завоевала популярность благодаря своей модульности: производители могли адаптировать CP/M под свою аппаратуру, написав лишь небольшую часть кода — BIOS (Basic Input/Output System). К 1979 году CP/M стала доминирующей ОС для 8-разрядных компьютеров, таких как Altair 8800, IMSAI 8080, Osborne 1, Kaypro, а также для советских клонов (например, «Микроша», «Союз-Неон»). К 1981 году насчитывалось более 3000 прикладных программ для CP/M, включая текстовые редакторы (WordStar), электронные таблицы (VisiCalc), базы данных (dBASE II) и компиляторы языков (BASIC, Pascal, C).

Упадок и наследие

В начале 1980-х годов с появлением 16-разрядных процессоров Intel 8086/8088 и выходом IBM PC в 1981 году CP/M столкнулась с конкуренцией со стороны MS-DOS (разработанной Microsoft). IBM предложила DRI портировать CP/M на новый процессор, но из-за разногласий по лицензированию IBM выбрала 86-DOS (позже переименованную в PC DOS), которая была совместима с CP/M по интерфейсу и командам. Попытка DRI выпустить CP/M-86 для IBM PC не увенчалась успехом: система стоила дороже (около 250 долларов против 40 долларов за PC DOS) и не получила широкого распространения. К середине 1980-х годов CP/M была вытеснена MS-DOS, но её концепции (файловая система, командная строка, модульная архитектура) оказали влияние на последующие операционные системы. В СССР CP/M использовалась в учебных заведениях и научных учреждениях до конца 1980-х годов, а её клоны (например, «МикроДОС») применялись в бытовых компьютерах.

Архитектура и устройство

Модульная структура

CP/M состояла из трёх основных модулей, которые загружались в память при старте системы:

Управление памятью

CP/M работала в реальном режиме адресации процессора Intel 8080/Z80, который имел 16-битную шину адреса и мог адресовать до 64 КБ памяти. Система занимала нижние 6 КБ (от 0x0000 до 0x17FF) для системных таблиц и векторов прерываний, а также верхние 6 КБ (от 0xE000 до 0xFFFF) для CCP, BDOS и BIOS. Пользовательская программа загружалась в оставшуюся область (от 0x0100 до 0xDFFF) — так называемый «пользовательский сегмент» (TPA, Transient Program Area). Размер TPA составлял около 56 КБ, что было достаточно для большинства приложений того времени.

Файловая система

CP/M использовала простую файловую систему, основанную на каталогах, хранящихся на диске. Диски делились на дорожки и сектора (обычно 8 секторов по 128 байт на дорожку). Каталог содержал записи (по 32 байта) для каждого файла, включая имя (до 8 символов), расширение (до 3 символов), атрибуты (только чтение, системный), номер первого блока данных и размер. Файлы могли занимать несколько блоков (по 1 КБ или 2 КБ), а свободное пространство отслеживалось с помощью битовой карты. Максимальное количество файлов на диске — 64 (по числу записей в каталоге). Поддерживались до 16 логических дисков (A: до P:).

Командная строка

Пользователь взаимодействовал с CP/M через командную строку, где вводил команды после приглашения (например, «A>»). Основные команды:

Версии и модификации

Основные версии CP/M для 8-разрядных процессоров

Версии для 16-разрядных процессоров

Клоны и производные

Применение

Персональные компьютеры

CP/M была основной операционной системой для большинства 8-разрядных персональных компьютеров конца 1970-х — начала 1980-х годов. На ней работали такие популярные модели, как:

Промышленность и наука

CP/M применялась в системах управления производственными процессами, контрольно-измерительных приборах, терминалах сбора данных и лабораторных установках. Благодаря модульности и низким требованиям к ресурсам, её использовали во встраиваемых системах на базе Z80 (например, в станках с ЧПУ, медицинских устройствах). В научных учреждениях CP/M служила для обработки данных, написания отчётов и обучения программированию.

Образование

В 1980-х годах CP/M широко использовалась в учебных заведениях СССР и стран Восточной Европы для обучения основам информатики и программирования. Советские компьютеры «Микроша», «Союз-Неон», «Электроника МС 0511» и «Корвет» работали под управлением CP/M или её клонов. Учащиеся изучали командную строку, файловую систему и основы ассемблера.

Критика и ограничения

Недостатки

Конкуренция с MS-DOS

Главной причиной упадка CP/M стала победа MS-DOS на рынке IBM PC. MS-DOS была дешевле, имела лучшую поддержку со стороны Microsoft и была совместима с CP/M по интерфейсу команд (многие команды, такие как DIR, COPY, TYPE, были заимствованы). Кроме того, MS-DOS поддерживала 16-разрядные процессоры, что позволяло адресовать больше памяти и работать быстрее. Попытки DRI выпустить CP/M-86 не смогли переломить ситуацию.

Интересные факты

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →