CP/M
CP/M — операционная система. Название расшифровывается как Control Program Monitor, позднее — Control Programs for Microcomputers. Написана в 1973 году программистом Гэри Килдаллом (Gary Kildall) на языке PL/M (Programming Language/Microprocessor).
CP/M — это первая «универсальная» операционная система для микрокомпьютеров, в которой были предусмотрены операции с дисковыми магнитными накопителями. Поначалу эта операционная система применялась только в компьютерах, которые использовали микропроцессоры Intel 8080. Позднее она была адаптирована под процессор Zilog Z80. Позже появились версии CP/M для новых более совершенных микропроцессоров Motorola 68000 (CP/M-68k), а также Intel 8086/88 (CP/M-86).
Версии системы CP/M существовали и для ряда клонов ZX Spectrum, в частности для Profi и ATM Turbo.
Архитектура ОС
Основная часть CP/M хранится на диске. Операционная система позволяет пользоваться экраном, принтером и дисками. Небольшая часть операционной системы (загрузчик) должна содержаться в ПЗУ (или на диске или дискете) и осуществляет загрузку остальной части диска.
Загружаемая в память часть ОС состоит из трёх частей:
- базовая система ввода/вывода (BIOS)
- базовая дисковая операционная система (BDOS)
- процессор командной строки (CCP)
Первая часть представляет собой набор низкоуровневых процедур, реализующих аппаратно-зависимый API системы. Фактически свой BIOS писался под каждое устройство, на которое портировалась CP/M.
BDOS является аппаратно-независимым кодом, который легко переносился между компьютерами построенными на совместимых процессорах (i8080, Z80). Эта часть системы обеспечивала API для использования программами, работавшими в рамках CP/M, а также интерактивное взаимодействие с пользователем. Обычно общий объём системы для версий 2.2 и ниже составлял десятки килобайт кода.
CCP представлял из себя интерпретатор командной строки и осуществлял запуск пользовательских приложений. При работе приложение могло использовать область памяти CCP, CP/M перезапускала CCP по выходу из приложения.