CP/M
CP/M (Control Program/Monitor либо Control Programs for Microcomputers) — операционная система, первоначально предназначенная для 8-разрядных микрокомпьютеров. Написана в 1973 году программистом Гэри Килдаллом на языке программирования PL/M. Стала первой операционной системой общего назначения для микрокомпьютеров, в которой были предусмотрены операции с дисковыми магнитными накопителями.
CP/M | |
---|---|
| |
Разработчик | Гэри Килдалл |
Семейство ОС | CP/M |
Первый выпуск | 1974 |
Последняя версия | 3.1 (1983) |
Тип ядра | Монолитное |
Лицензия | BSD-like |
Состояние | Историческое |
Веб-сайт | digitalresearch.biz/CPM.… |
Медиафайлы на Викискладе |
Во второй половине 1970-х годов была наиболее популярной системой для компьютеров на базе Intel 8080 и Zilog Z80, позднее была вытеснена MS-DOS. Стала основой операционной системы DR-DOS (1988).
Реализации
Поначалу применялась только в компьютерах, которые использовали микропроцессоры Intel 8080, позднее она была адаптирована под микропроцессор Zilog Z80, потом появились версии CP/M для новых более совершенных микропроцессоров Motorola 68000 (CP/M-68k), а также Intel 8088, Intel 8086 (CP/M-86). В компьютерах семейства Apple II, построенных на базе процессора MOS Technology 6502, пошли по противоположному пути адаптации и разработали специальную плату расширения Softcard с дополнительным процессором Z80 для запуска системы CP/M и программ для неё.
В 1979 году Digital Research выпустила CP/M с реализованной многозадачностью — MP/M.
CP/M и MS-DOS
В 1980 году компания IBM начала поиск подходящей операционной системы для персонального компьютера IBM PC. Первоначально планировалось использовать для него именно CP/M. Проводились переговоры с компанией Digital Research, принадлежавшей Килдаллу и его жене, однако сделка не состоялась, и IBM заключила договор с небольшой фирмой Microsoft (мать владельца которой — Билла Гейтса — была председателем исполнительного комитета в United Way International, вместе сразу с двумя влиятельными руководителями IBM Джоном Опелем (англ. John R. Opel; президент с 1981 года) и Джоном Эйкерсом (англ. John Fellows Akers; президент с 1985 года). Microsoft не имела собственной операционной системы для процессоров Intel 8086, поэтому приобрела у компании Seattle Computer Products лицензию на систему 86-DOS, которая фактически являлась 16-разрядным клоном CP/M, предложив её на рынок под именем MS-DOS.
Клоны и права на CP/M
В 1988 году Digital Research на основе CP/M выпустила для x86 MS-DOS-совместимую операционную систему DR-DOS; в 1990 году и 1991 году были выпущены две последующие версии.
В 1991 году Novell купила Digital Research вместе с правами на интеллектуальную собственность, после чего DR-DOS вышла под маркой Novell DOS. В 1996 году Novell продала права на DR-DOS компании Caldera, которая планировала использовать систему DR-DOS в собственном программном обеспечении. Примерно в то же время создатель неофициального сайта поклонников CP/M Тим Олстед получил разрешение Caldera на использование исходного кода системы в некоммерческих целях.
11 сентября 2001 года Тим Олстед скончался от рака. Согласно его завещанию, сайт поклонников CP/M (cpm.z80.de) был закрыт. Дело в том, что Олстед заключил личное соглашение с Caldera, и оставалось неясным, насколько легально будет опубликовать исходный код CP/M после его смерти. Тем временем на базе подразделения по разработке «тонких клиентов» компании Caldera была создана компания Lineo, которая унаследовала все права на CP/M и DR-DOS.
Сайт активистов ОС CP/M не работал несколько недель. 19 октября 2001 года компания Lineo отменила личную лицензию Олстеда, отправив владельцу сайта любителей системы Гэби Чодри уведомление о том, что владельцы и посетители сайта получают право на распространение и изменение исходного кода CP/M в некоммерческих целях. Таким образом, CP/M теперь отвечает стандартам открытого программного обеспечения, так как каждый может изменять и распространять систему согласно собственным интересам (но не отвечает стандартам свободного программного обеспечения).
В СССР была произведена неофициальная адаптация (и русификация) системы CP/M для работы на советских компьютерах. Полученная система получила названия МикроДОС и М86, которые использовались на различных советских компьютерных системах. Эта система была несколько расширена по сравнению с оригиналом (API содержало большее количество системных процедур).
Архитектура
Минимальная конфигурация 8-разрядной системы, для которой подходила CP/M, содержит следующие компоненты:
- Процессор Intel 8080 и совместимые с ним: например, Intel 8085, Zilog Z80 или советский КР580ВМ80А;
- Терминал, использующий кодировку ASCII;
- ОЗУ объёмом от 16 КБ;
- Минимальный загрузчик в ПЗУ;
- Один или больше приводов гибких дисков.
Основная часть CP/M хранится на диске. Операционная система позволяет пользоваться экраном, принтером и дисками. Небольшая часть операционной системы (загрузчик) должна содержаться в ПЗУ (или на диске или дискете) и осуществляет загрузку остальной части с диска.
Загружаемая в память часть ОС состоит из трёх частей:
- базовая система ввода-вывода (BIOS),
- базовая дисковая операционная система (BDOS),
- процессор командной строки (CCP).
Первая часть представляет собой набор низкоуровневых процедур, реализующих аппаратно-зависимый API системы. Фактически свой BIOS писался под каждое устройство, на которое портировалась CP/M.
BDOS является аппаратно-независимым кодом, который легко переносился между компьютерами, построенными на совместимых процессорах (i8080, Z80). Эта часть системы обеспечивала API для использования программами, работавшими в рамках CP/M, а также интерактивное взаимодействие с пользователем. Обычно общий объём системы для версий 2.2 и ниже составлял десятки килобайт кода.
CCP представлял собой интерпретатор командной строки и осуществлял запуск пользовательских приложений. При работе приложение могло использовать область памяти CCP, CP/M перезапускала CCP по выходе из приложения.
Литература
- Уэйт М., Ангермейер Дж. Операционная система CP/M = CP/M bible: the authorative reference guide to CP/M. — Радио и связь, 1986. — 312 с.
Ссылки
- Сайт поклонников CP/M (англ.)
- CP/M Main Page (англ.)
- Вячеслав Рытиков. Как это было: операционная система CP/М // Железные призраки прошлого : сайт. — 2008. — 18 марта. (Дата обращения: 17 мая 2018)
- Леонид Черняк. Гари Килдалл и его CP/M // Computerworld Россия. — Открытые системы, 2001. — 20 сентября (№ 33). (Дата обращения: 17 мая 2018)
- От CP/M до MS-DOS // История компьютера : сайт. (Дата обращения: 17 мая 2018)