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

MP/M

MP/M (Multi-Programming Monitor Control Program) — это многозадачная операционная система для микрокомпьютеров на базе процессоров Intel 8080 и Zilog Z80, разработанная компанией Digital Research в 1979 году. Она представляла собой расширение однопользовательской CP/M, позволяя нескольким пользователям одновременно работать с одним компьютером через терминалы, а также поддерживала выполнение нескольких фоновых задач. MP/M стала одной из первых коммерчески успешных многопользовательских систем для 8-битных микрокомпьютеров, оказав влияние на развитие многозадачных ОС, включая Concurrent CP/M и MP/M-86.

История

Предпосылки создания

В конце 1970-х годов операционная система CP/M (Control Program for Microcomputers) доминировала на рынке 8-битных микрокомпьютеров. Однако CP/M была однопользовательской и однозадачной, что ограничивало её применение в корпоративной среде. С ростом популярности микрокомпьютеров в офисах и промышленности возникла потребность в системе, способной обслуживать нескольких пользователей одновременно. Digital Research, возглавляемая Гэри Килдаллом, начала разработку многозадачного варианта CP/M в 1978 году.

Разработка и выпуск

Первая версия MP/M 1.0 была выпущена в 1979 году. Система базировалась на ядре CP/M 2.2, но включала дополнительные компоненты: планировщик задач, менеджер памяти и драйверы для последовательных терминалов. В 1980 году вышла MP/M 1.1 с улучшенной поддержкой дисковых накопителей и увеличением максимального числа пользователей до 16. В 1981 году была представлена MP/M II, которая поддерживала до 32 пользователей и включала защиту памяти для предотвращения сбоев одной программы, влияющих на другие.

Распространение и конкуренция

MP/M использовалась в основном на системах на базе процессоров Z80, таких как Cromemco, Altos и IMSAI. Система была популярна в университетах, банках и производственных предприятиях, где требовался одновременный доступ нескольких сотрудников к данным. Однако к середине 1980-х годов MP/M начала уступать место более производительным 16-битным системам, таким как Xenix (вариант Unix) и MS-DOS. Последняя версия, MP/M 2.1, вышла в 1983 году. В 1984 году Digital Research выпустила Concurrent CP/M, которая объединила функции MP/M и CP/M Plus, поддерживая как многопользовательский режим, так и однопользовательскую работу.

Архитектура

Ядро и планировщик

Ядро MP/M выполняло функции управления процессами, памятью и вводом-выводом. Планировщик задач использовал алгоритм с приоритетами и временными квантами (round-robin). Каждому пользователю или задаче выделялся временной слот, что обеспечивало иллюзию одновременной работы. Система поддерживала до 32 процессов, из которых до 16 могли быть интерактивными пользователями.

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

MP/M работала в реальном режиме адресации, где память делилась на сегменты по 64 КБ. Для многопользовательской работы использовалась банковская память (bank switching): каждый пользователь получал свой банк ОЗУ, а ядро и общие драйверы размещались в фиксированной области. Это позволяло изолировать процессы друг от друга, хотя полной защиты памяти, как в современных ОС, не было.

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

MP/M использовала файловую систему CP/M с теми же ограничениями: имена файлов длиной до 8 символов, расширение до 3 символов, максимальный размер диска 8 МБ. Однако система поддерживала дисковые кэши и буферизацию для ускорения доступа при многопользовательской работе.

Классификация

По числу пользователей

  • MP/M I (1979) — до 8 пользователей.
  • MP/M II (1981) — до 32 пользователей.

По аппаратной платформе

  • MP/M для 8-битных систем — на процессорах Intel 8080 и Z80.
  • MP/M-86 (1982) — версия для Intel 8086, совместимая с 16-битными компьютерами.

Применение

Многопользовательские системы

Основное применение MP/M — организация рабочих мест в офисах и лабораториях. Один мощный компьютер (например, Cromemco System Three) подключался к нескольким терминалам (обычно на базе VT100 или аналогичных). Пользователи могли одновременно запускать текстовые редакторы, базы данных (например, dBASE II) и компиляторы.

Промышленность и автоматизация

MP/M использовалась в системах управления производством, где требовался сбор данных с нескольких датчиков или терминалов. Благодаря многозадачности, система могла одновременно обрабатывать ввод с клавиатуры, вывод на печать и обмен данными по последовательным портам.

Образование

В университетах MP/M применялась для обучения программированию и работе с многопользовательскими системами. Студенты подключались к центральному компьютеру через терминалы и работали с языками программирования, такими как Pascal, FORTRAN и C.

Примеры систем

Cromemco

Компания Cromemco выпускала компьютеры на базе Z80, предустановленные с MP/M. Модель Cromemco System Three поддерживала до 6 терминалов и использовалась в малых бизнесах.

Altos

Altos Computer Systems производила многопользовательские системы, такие как Altos 8000-2, которые работали под управлением MP/M. Эти системы были популярны в бухгалтериях и отделах продаж.

IMSAI

IMSAI 8080, известный как один из первых клонов Altair 8800, также поддерживал MP/M. Благодаря модульной конструкции, IMSAI мог быть расширен для работы с несколькими терминалами.

Критика

Ограничения производительности

MP/M была критикуема за низкую производительность при большом числе пользователей. Процессоры Z80 с тактовой частотой 4 МГц не могли эффективно обслуживать более 4-6 активных пользователей без заметных задержек. Кроме того, банковская память требовала дополнительных аппаратных затрат.

Сложность настройки

Установка MP/M требовала глубоких знаний аппаратного обеспечения. Пользователи должны были вручную настраивать BIOS (Basic Input/Output System) для каждого терминала и дискового накопителя. Это делало систему малодоступной для неподготовленных специалистов.

Совместимость с CP/M

Хотя MP/M была обратно совместима с программами для CP/M, многие приложения не работали корректно в многозадачной среде. Например, программы, напрямую обращавшиеся к аппаратным портам, могли вызывать сбои у других пользователей.

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

  • MP/M стала первой операционной системой для микрокомпьютеров, поддерживающей многозадачность в реальном времени.
  • Исходный код MP/M был написан на ассемблере Intel 8080 и занимал около 16 КБ.
  • В 1982 году компания Digital Research выпустила MP/M-86 для Intel 8086, которая позже легла в основу Concurrent DOS.
  • Система использовалась в проекте «Сеть» (Network) в СССР, где на базе MP/M создавались многопользовательские вычислительные комплексы.

Источники

  • Digital Research. «MP/M Operating System User’s Guide». Pacific Grove, 1980.
  • Sol Libes. «Small Systems Software: MP/M». Byte Magazine, 1981.
  • Gary Kildall. «The Evolution of the CP/M Family». Dr. Dobb’s Journal, 1982.
  • John R. Mashey. «Multiprogramming on Microcomputers: The MP/M System». IEEE Micro, 1982.

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

На главную BFOmetr →