MP/M

**MP/M** (**Multi-Programming Monitor Control Program**) は、CP/Mをマルチユーザ化したオペレーティングシステム(OS)である。デジタルリサーチ(DRI)の開発者・が1979年に開発した。MP/Mが動いている1台のコンピュータを、それぞれ個別の端末から複数のユーザが同時に使用することができる。

MP/M は、少なくともマイクロコンピュータ上では、その時代としてはかなり高度なOSだった。MP/Mのカーネル（カーネルという名前が使われる以前は、*nucleus*（核）と呼ばれていた）は、メモリ保護、同時入出力(XIOS)、スプールとキューイングに対応した優先度スケジューリングされたマルチタスクカーネルだった。また、各ユーザが複数のプログラムを実行し、それらを切り替えることできた。

## MP/Mのプラットフォーム
### MP/M-80

MP/Mの8ビットシステムは、Intel 8080（またはZ80）CPUと最低32KBのRAMを必要としたが、これは最低動作条件であり、これではユーザアプリケーション用のメモリはほとんど残らなかった。合理的なセットアップをサポートするために、MP/Mでは、メモリを読み書きする際に、実際に読み書きするマシンの実メモリ領域を切り替えて使用できるようにしていた。例えば、CPUがあるプログラムを、アドレス指定できないRAMの「バンク」にロードし、プログラムを実行するときには、そのRAMのバンクを「切り替えて」、ローメモリ（通常は下位の32KBまたは48KB）としてOSから見えるようにしていた。バンク切り替えとして知られるこの技術は、その後、バージョン3.0でシングルユーザ版のCP/Mに追加された。

DRIは、MP/Mをマルチユーザ向けOSとして使用されることを想定していたが、実際には、シングルユーザ向けのCP/Mの「パワーユーザ」バージョンとして使用されることが多かった。複数のプログラムを同時に実行したり、大量のメモリをアドレス指定したりする機能は、パワーユーザにとってCP/Mからの追加価格に見合うだけの価値があるものだった。

1981年の**MP/M II 2.0**ではファイル共有機能が追加された。1982年1月の**MP/M II 2.1**ではファイルロック機能が拡張された。

バージョン:
* MP/M 1.0（1979年）
* MP/M 1.1（1980年1月）
* MP/M II 2.0（1981年7月、ファイル共有機能を追加）
* MP/M II 2.1（1982年1月、拡張ファイルロック機能を追加）

### MP/M-86

CP/Mと同様に、MP/Mは最終的に16ビットのIntel 8086に移植され、1981年9月に**MP/M-86 2.0**として登場した。このシステムの主な開発者は、後にデジタルリサーチの営業担当部長となるフランク・ホールズワースである。MP/M-86 2.0の改訂版は1981年9月25日と1981年10月5日にリリースされた。また、1982年7月20日に**MP/M-86 2.1**がリリースされた。

MP/M-86 2.1はCP/M-86 1.1(BDOS 2.2)の技術の一部を吸収して 1982年後半に**コンカレントCP/M-86** 3.0(BDOS 3.0) となり、仮想画面機能が追加された。1983年12月にはコンカレント CP/M-86 3.1(BDOS 3.1)の1 (BDOS 3.1) のオプションモジュールとしてPC-MODEというDOSエミュレータが利用できるようになり、1984年2月21日に出荷された。このシステムはさらに、MS-DOS互換のコンカレントDOS（BDOS 3.1以降）へと発展していった。

### MP/M 8-16

**MP/M 8-16**（*MP/M-8/16*と呼ばれることもある）は、マルチプロセッサのCompuPro System 816上で動作する、マルチユーザ・マルチタスクの8ビットMP/Mオペレーションと、シングルユーザ・シングルストリームのCP/M機能として動作させた16ビットMP/M-86の組み合わせに対して、CompuProがつけた名前である。後に、このシステムはコンカレントDOS 3.1も実行できるようになった。

### MP/M-286

1982年、デジタルリサーチは、既存のMP/M-86・CP/M-86向けアプリケーションを実行するために、16ビットIntel 80286の新しいメモリ管理および保護機能を利用してMP/M-286を開発する計画を発表した。これは発表内容がそのまま実現することはなかったが、さらに発展してコンカレントCP/M-286となり、1985年のコンカレントDOS 286と1986年のの基礎となった。

## コマンド
MP/M IIのコンソールコマンドプロセッサCCPが対応しているコマンドのリストを以下に示す。

* ABORT
* ATTACH
* ASM
* CONSOLE
* 
* DIR
* DSKRESET
* DUMP
* ED
* ERA
* ERAQ
* GENHEX
* GENMOD
* GENSYS
* LIB
* LINK
* LOAD
* MPMLDR
* MPMSTAT
* PIP
* PRINTER
* PRLCOM
* RDT
* 
* RMAC
* SCHED
* SDIR
* SET
* SHOW
* SPOOL
* STAT
* STOPSPL
* SUBMIT
* TOD
* 
* USER
* XREF

## CP/NET, CP/NOS, MP/NET, MP/NOS
1980年代初期、デジタルリサーチは**CP/NET**というネットワーキングソフトウェアを開発し、MP/MサーバとCP/Mを実行している複数のCP/NETクライアント(リクエスターと呼ばれる)を接続するために使用していた It was originally developed by Tom Rolander.。

MP/NETは、MP/MシステムがCP/Mリクエスターの要求元とサーバの両方として機能することを可能なネットワークを備えたMP/Mシステムだった。

CP/NETクライアントは、システムをROMに格納してCP/NOS(Network Operating System)と名付けたディスクレス構成でも動作することができる。同様に、MP/NOSにはローカルディスク機能を持たないMP/Mが含まれていた。CP/NOSと同様に、MP/NOSはネットワークを介してディスク機能を実行した。

このシステムでは、ファイルやプリンタを共有したり、電子メッセージを送信したりすることができた。

* NIOS – Network I/O System
* SNIOS – Slave Network I/O System
* NDOS – Network Disk Operating System

CP/NETには8080とZ80プロセッサ用のバージョン1.0、1.1、1.2があった。8086用のCP/NET-86もあった。

## 遺産
は、1997年以来、Tim Olmsteadの「The Unofficial CP/M Web site」を通じて、CP/MとMP/Mファミリに関連するソースコードを含む全てのオリジナルのファイルの再配布と改変を許可している。

Olmsteadが2001年9月12日に亡くなった後、無料配布ライセンスは2001年10月19日にデジタルリサーチの資産の所有者となったによって更新され、拡張された。

## 脚注