CP/M

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая Alecv (обсуждение | вклад) в 11:19, 9 мая 2005. Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску

CP/Mоперационная система, расшифровывается как Control Program Monitor, позднее — Control Programs for Microcomputers. Написана в 1973 году программистом Гэри Килдаллом (Gary Kildall) на языке программирования PL/M (Programming Language/Microprocessor).

CP/M — это первая «универсальная» операционная система для микрокомпьютеров, в которой были предусмотрены операции с дисковыми магнитными накопителями. Поначалу эта операционная система применялась только в компьютерах, которые использовали микропроцессоры Intel 8080. Позднее она была адаптирована под микропроцессор Zilog Z-80. Позже появились версии CP/M для новых более совершенных микропроцессоров Intel 8088, Intel 8086 (CP/M-86), а также Motorolla 68000 (CP/M-68k).

История

CP/M и MS DOS

В 1980 году компания IBM начала поиск подходящей операционной системы для персонального компьютера IBM PC. Первоначально планировалось использовать для него именно CP/M. Проводились переговоры с компанией Digital Research, на которую работал автор CP/M — Г. Килдалл. Однако сделка не состоялась, и IBM заключила договор с небольшой фирмой Microsoft. Последняя не имела собственной версии ОС для процессоров Intel 8086, поэтому лицензировала систему компании Seattle Computer Product под именем 86-DOS, которая являлась 16-битным клоном CP/M.

Права на CP/M

Права на интеллектуальную собственность Digital Research перешли к компании Novell, которая на основе CP/M разрабатывала свою версию DOS — DR-DOS. В 1996 году Novell продала права на DR-DOS компании Caldera, которая планировала использовать систему DR-DOS (модифицированную версию CP/M) в собственном программном обеспечении. Примерно в то же время создатель неофициального сайта поклонников CP/M Тим Олмстед получил разрешение Caldera на использование исходного кода системы в некоммерческих целях.

11 сентября 2001 года Тим Олстед скончался от рака. Согласно его завещанию сайт поклонников CP/M (http://www.cpm.z80.de/) был закрыт. Дело в том, что Олстед заключил личное соглашение с Caldera, и оставалось неясным, насколько легально будет опубликовать исходный код CP/M после его смерти. Тем временем, на базе подразделения по разработке «тонких клиентов» компании Caldera была создана компания Lineo, которая унаследовала все права на CP/M и DR-DOS.

Сайт активистов ОС CP/M не работал несколько недель. 19 октября 2001 компания Lineo отменила личную лицензию Олстеда, отправив владельцу сайта любителей ОС Гэби Чодри уведомление о том, что владельцы и посетители сайта получают право на распространение и изменение исходного кода CP/M в некоммерческих целях. Таким образом, CP/M теперь отвечает стандартам open-source, так как каждый может изменять и распространять систему согласно собственным интересам.

Отечественные клоны

В СССР была произведена неофициальная адаптация (и русификация) системы CP/M для работы на отечественных компьютерах. Полученная ОС получила название МикроДОС и использовалась на различных советских компьютерных системах. Эта система была несколько расширена по сравнению с оригиналом (API содержало большее количество системных процедур).

Архитектура ОС

Основная часть CP/M хранится на диске. Операционная система позволяет пользоваться экраном, принтером и дисками. Небольшая часть операционной системы (загрузчик) должна содержаться в ПЗУ (или на диске или дискете) и осуществляет загрузку остальной части диска.

Загружаемая в память часть ОС состоит из двух частей:

  • базовая система ввода/вывода (BIOS)
  • базовая дисковая операционная система (BDOS)
  • Процессор командной строки (CCP)

Первая часть представляет собой набор низкоуровневых процедур, реализующих аппаратно-зависимый API системы. Фактически свой BIOS писался под каждое устройство, на которое портировалась CP/M.

BDOS является аппаратно-независимым кодом, который легко переносился между компьютерами построенными на совместимых процессорах (i8080, Z80). Эта часть системы обеспечивала API для использования программами, работавшими в рамках CP/M, а также интерактивное взаимодействие с пользователем. Обычно общий объем системы для версий 2.2 и ниже составлял десятки килобайт кода.

CCP представлял из себя интерпретатор коммандной строки и осуществлял запуск пользовательских приложений. При работе приложение могло использовать область памяти CCP, CP/M перезапускала CCP по выходе из приложения.

Ссылки

См. также