пятница, 18 мая 2018 г.

CP/M

Загруженный CP/M на компьютере Партнер 01.01

История


История CP/M идёт из 1974 года, когда Гари Килдал разработал первую версию CP/M для компьютера Inteltec-8 с 8" дисководом. Система написана на авторском высокоуровневом (но по уровню близкому к Си) языке PL/M (programming language for microcomputers), разработанном годом ранее.
Гари Килдал вдохновлялся системой TOPS-10 (Timeasharing Operating System) для PDP-10, оттуда были взяты названия устройств, файлов и команд, 

Структура

Усреднённая CP/M может обслуживать одного пользователя в однозадачном режиме. Как правило, ОС располагается в старших адресах памяти и делится на три основных модуля: BIOS, BDOS и CCP. Память, используемая задачей пользователя называется TPA.
Структура памяти ЭВМ под управлением CP/M
Содержимое первых 256 байт ОЗУ  
BIOS (Basic Input-Output System) в ОС CP/M представляет собой аппаратно зависимый модуль, выполняющий посредническую функцию между аппаратурой ЭВМ и BDOS. Этот модуль содержит подпрограммы ввода-вывода символьной информации и управление дисками, выполняет такие простые действия как определения адреса для прямого доступа к памяти и управление чтением-записью данных. В отличие от архитектуры DOS, BIOS хранится вместе с остальной системой на дискете, а не в отдельной микросхеме ПЗУ.
Модуль BDOS (Basic Disk Operation System) является основным. Он выполняет функции управления памятью, процессором и выполнение операций ввода-вывода.
Модуль загрузки находится в младших адресах памяти, т.е. в отводимой под задачи пользователя. Обеспечивает ввод и инициализацию программы необходимой для передачи управления модулю CCP.
Модуль CCP (Console Command Processor) ждёт набираемых на клавиатуре (или др. главном устройстве ввода, например телетайпе) команд. Этот модуль обеспечивает поиск файлов на диске, согласно введённым командам, выполнение этих команд, а также запись данных на диск.
Пользователь вводит стандартные команды или имя файла, затем CCP ищет файл на носителе. Если файл найден, то он загружается в TPA (Transit Program Area), иначе возвращает сообщение об ошибке — введенная пользователем команда заканчивающаяся знаком вопроса. Затем модуль CCP передаёт управление загруженной команде, используя средства BIOS и BDOS. После завершения работы программы управление возвращается к CCP.

BDOS: Организация системного диска

Диск, на котором находится CP/M, делится на 3 области.
  1. Первые две дорожки (нулевая и первая)  используются для самой ОС. Поскольку эта область защищена, то ОС не может быть скопирована обычной командой копирования. Для этого существует специальная команда SYSGEN для копирования нулевой и первой дорожек.
  2. Вторая область содержит таблицу размещения файлов. Размер её изменяется, в зависимости от кол-ва файлов на диске.
  3. Оставшаяся область диска занимает область данных. Её размер зависит от конкретного типа диска.
Каждый файл на диске при себе имеет FCB (File Control Block), который содержит номер, имя, длину файла. Пространство диска заполнено блоками по 2 байта (для HD-дискет).
Поля FCB

CCP: команды

Модуль CCP хранит в себе пять встроенных команд:
  1. TYPE file_name.ext — вывод файла на дисплей
  2. DIR file_name.ext — вывод списка файлов на диске (directory)
  3. REN new_name.ext= old_name.ext — изменение имени файла (rename)
  4. ERA file_name.ext — уничтожение файла (erase)
  5. SAVE n file_name.COM — сохранение содержимого ОЗУ в файл, где “n” – кол-во страниц ОЗУ

TPA: прочие программы


В область TPA могут загружаться вспомогательные программы, например:
  1. SYSGEN — программа предоставляет пользователю средства для копирования СР/М с одного диска на другой. (system generation)
  2. PIP – программа используется для копирования файлов с какого-либо устройства на устройство того же или другого типа, например с диска на диск, с диска на печатающее устройство, с консоли на диск, и т. д. (Peripheral Interchange Program)
  3. ED — команда позволяет пользователю запустить текстовый редактор, который может создавать и редактировать текстовые файлы. (Editor)
  4. ASM — программа «ассемблирует» файлы с программой на ассемблере, созданные в текстовом редакторе, в так называемые ".HEX" файлы, которые, в свою очередь, можно по команде LOAD преобразовать в файлы с чисто машинным или объектным кодом. (assembler)
  5. DUMP — программа используется для вывода в шестнадцатеричном формате содержимого файла с объектным/машинным кодом на экран дисплея или печатающее устройство.
  6. LOAD — программа используется для преобразования шестнадцатеричного ".HEX" файла в файл, содержащий машинный или объектный код программы.
  7. STAT — программа предоставляет пользователю различные средства для назначения статуса и характерных свойств файлам, дисковому носителю и другим устройствам. (status или statistic)
  8. MOVCPM — программа используется для модификации операционной системы, чтобы она либо использовала всю доступную память ЭВМ, либо оставляла часть памяти под специальные системно-независимые программы пользователей. (move СР/М)
  9. SUBMIT — программа предоставляет возможность автоматического запуска указанной последовательности команд, предварительно подготовленных пользователем в отдельном файле.
  10. DDT — программа предоставляющая пользователю метод определения и устранения ошибок в программах, представленных в машинном объектном коде или шестнадцатеричном формате, в целях проверки секций BIOS и BDOS. (Dynamic Debugging Tool, намек на ДихлорДифенилТрихлорэтан, в народе дуст — сильный инсектицид, то есть унитожитель багов IRL)

Версии

Хоть и популярность этой ОС падала, но DR время зря не терял, и выпустил другие версии ОС CP/M (кроме версий от 1.0 до 3.0), такие как:

MP/M, MP/M-II

Multiprogramming Monitor for Microcomputers
Это многопользовательская, многозадачная операционная система для микро-ЭВМ созданных на базе микропроцессоров Intel 8080, Intel 8085 и Zilog Z80. Операционная система MP/M-II является второй версией MP/M со значительно меньшей требуемой оперативной памятью и новыми расширенными возможностями. Требования к оборудованию те же, что и у CP/M, однако с некоторыми отличиями, а именно: наличие как минимум 48 кб оперативной памяти и наличие прерываний от таймера.
Помимо этого в MP/M-II имеются средства расширения возможностей оборудования до 16 печатающих устройств и 16 устройств ввода-вывода.

CP/М-86

Эта операционная система разработана на базе CP/M и предназначена для функционирования на микрокомпьютерах, созданных на базе процессоров Intel 8086 и Intel 8088. CP/M-86 в основном аналогична CP/M, поскольку она является операционной системой одного пользователя, поддерживает в основном те же команды и фактически тем же способом организует взаимодействие с пользователем. Однако ОС CP/M-86 предназначена для работы с микропроцессорами другого типа и поэтому обладает существенно большими возможностями по взаимодействию с аппаратурой.

Concurrent CP/M-86

Операционная система Concurrent CP/M-86 создана на базе ОС CP/M-86 и включает многие характерные возможности OC CP/M версии 3.0. Эта операционная система отличается от ОС CP/M-86 тем, что она поддерживает параллельный режим обработки, т.е. позволяет пользователю выполнять несколько программ одновременно. Это достигается за счет использования так называемой "виртуальной консоли". Виртуальная консоль создается самой операционной системой после того, как пользователь запустил программу. С виртуальной консолью обращаются как с реальным физическим устройством, однако управление им полностью осуществляется операционной системой.

MP/M-86

Операционная система MP/M-86 является многопользовательской, многозадачной операционной системой, предназначенной для функционирования на микро-ЭВМ, собранных на основе микропроцессора Intel 8086 или Intel 8088. В целом MP/M-86 разработана как дополнение к ОС CP/M-86 и обладает в основном теми же характеристиками, что и MP/M-II.

CP/NET

Операционная система CP/NET предоставляет средства, с помощью которых несколько микрокомпьютеров, оснащенных ОС CP/M, OC MP/M или MP/M-II можно объединять в сеть с тем, чтобы иметь возможность совместного использования ресурсов каждой системы. К таким совместно используемым ресурсам относятся дисковые файлы, устройства печати, консольные терминалы и различные программы баз данных. Сеть обычно состоит из главной вычислительной системы, оснащенной OC MP/M или ОС MP/M-II и вспомогательных систем, оснащенных ОС CP/M. Главная вычислительная система функционирует в качестве базовой ЭВМ, управляющей разделяемыми ресурсами, к которым могут обращаться вспомогательные системы, включенные в сеть. С помощью ОС CP/NET можно создавать вычислительные сети различного типа, а несколько вспомогательных систем можно соединить с отдельной главной системой. ОС CP/NET также позволяет передавать сообщения между главной и вспомогательными системами, а при организации электронной почты обеспечивает пересылку корреспонденции между главной системой и вспомогательными.

Комментариев нет:

Отправить комментарий