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 →