CP/M
CP/M(Control Program for Microcomputer、読み方:シーピーエム)はゲイリー・キルドールのデジタル・リサーチ社(Digital Research Inc.)の作ったパソコン用のオペレーティングシステム(OS)。8ビットCPUであるインテル8080プロセッサ用に作られたもので、8ビットのパソコン用OSとしては最もメジャーな存在だった。初期のCP/M1.4と普及したCP/M2.2、より洗練はされたがそれほど普及しなかったCP/M3.0(CP/M Plus)がある。PC-DOS1.x同様、ファイルシステムには階層ディレクトリというものが存在しなかった。
キルドールは、インテルからマイクロコンピュータ開発システム(MDS)用の高級言語を受注して、PL/M(Programming Language for Microcomputer、後にPL/M-80)コンパイラを開発した。これはPL/Iの風味を持つ、8080用のシステム記述用言語であった。 このPL/Mの動作環境として、キルドールがインテルに提案したフロッピーディスクベースのDOSがあったが、これは採用されなかったため、後に自ら販売することにしたものがCP/Mである。 ちなみに、インテルは後に8080/8085からの移行を支援するため、8086/8088用にPL/M-86を開発した。
CP/Mは8080マイクロプロセッサ(およびその上位互換CPU)、0番地から配置されたRAM(最小はCP/M 1.4で16KB)、最低1台の(8インチ)・フロッピーディスク装置、シリアル端末(CRTディスプレイとキーボード、あるいはASR-33のようなテレタイプ端末があれば動作した。オプションとして、プリンタ、紙テープ読取装置・紙テープ穿孔装置、ハードディスク装置をサポートした。一般的には32KB以上、可能なら56KBくらいのRAMがあると大規模な(当時としては)コンパイラなどが実行できた。
ソフトウェアは、シェルであるCCP(Console Command Processor)、本体のBDOS(Basic Disk Operationg System)と入出力を処理するBIOS(Basic Input and Output System)からなり、ハードウェア依存部分はBIOSに集中することで、大抵のハードウェアに移植可能なようになっていた。BIOSの機能はシステムの初期化、CCPのリブート(アプリ実行の終了とシェルの起動)、コンソールなどのキャラクタデバイスのリダイレクト付入出力、フロッピーディスク/ハードディスク等の1セクタ単位の入出力だけである。
CCPのビルトインコマンドはDIR、ERA、REN、TYPE、DEL(それぞれ、MS-DOSの同名コマンドと同様)、USER(CP/M バージョン2 以降で用意されているが、MP/Mでないと余り意味がないユーザ切り替えコマンド)であり、あとはフロッピーディスクに実行ファイルとして記録されているトランジェントコマンドに委ねている。
トランジェントコマンドとしては、次のようなものがあった。
- STAT.COM: 周辺機器のファイルサイズを表示したり、保護属性を表示・変更する。
- PIP.COM: 周辺装置やディスクとの間でファイルをコピーする
- SUBMIT.COM: バッチファイルを実行する
- ED.COM: キャラクタ単位のラインエディタ
- ASM.COM: 8080用アブソリュートアセンブラ
- DUMP.COM: ファイルの16進ダンプツール
- DDT.COM: セルフ環境のデバッガ(Dynamic Debugging Tool)
- XSUB.COM: コンソールコマンドをファイルから取得する際にSUBMITと同時に用いる。
- MOVCPM.COM: CP/M自身の再配置ツール
CP/Mは8ビットマイコン上でメジャーな地位を占めたため、CP/M環境で動作するプログラムが大量に発売されており、ソフトウェア開発や1バイト文字圏におけるビジネスソフトウェアのためのものも数多くあった。また、ユーザ・コミュニティでのフリーソフトウェア(当時はPDSと呼ばれていた)の流通も行われていた。流通は、現在のような高速のネットワークがなかったので、フロッピーをコピーする形で行なわれていた。ユーザグループが組織的にソフトの収集と配布を行なっていた所もあった。
マイクロソフトも、当時OEM各社から発売されていたマイコン用のBASICとは別にCP/M汎用のBASIC処理系として、M-BASICインタープリタおよびコンパイラをCP/M用にリリースしていた。他に、マクロ機能付リロケータブルアセンブラMACRO-80やFORTRAN-80、COBOL-80なども製品ラインに存在した。
デジタル・リサーチ自身は、PL/I-80、 CBASIC(ビジネス向きBasicコンパイラ)、MACとRMAC(マクロアセンブラとリロケータブル・マクロアセンブラ)、Pascal MT+(これはMT Microsystemsから買収)などを出荷した。
CP/M上でC言語の処理系として名高いものは、Leor ZolmanのBDS-C、Whitesmith、AZTEC、HITECHのCコンパイラ、日本のLSIジャパンのLSI-C80などがある。
後に、16ビットCPUであるインテル8086用のCP/M-86およびモトローラ68000用のCP/M-68K、またザイログZ-8000用のCP/M-8000が作られたが、IBM-PCに公式採用されなかったこともあり、結局MS-DOS(PC-DOS)に押されて16ビットの世界ではマイナーな存在に終わった(これら16ビット版と区別するために、8080用のCP/MをCP/M-80と呼ぶようになった)。
CP/Mのシリーズには、複数のプログラムを同時に走らせることができるMP/M1.1やMP/M II、コンカレントCP/M(-86)というものも存在した(Linuxの仮想コンソールのように、画面を切り替えて使う)。デジタル・リサーチは1991年にノベルに買収された。さらにカルデラ(2002年SCOに改称)に売却され、現在CP/M資産は同社の子会社であるリネオが所持している。






