CP/M-86とは、デジタルリサーチ社が開発した16bitCPU(Intel 8086シリーズ[2])用のオペレーティングシステム

CP/M-86
IBM PC版CP/M-86のスクリーンショット
開発者 デジタルリサーチゲイリー・キルドール
OSの系統 CP/M
開発状況 終了
ソースモデル クローズドソース、後にオープンソース[1]
初版 1981/1982年 (42年前) (1982)
プラットフォーム Intel 8086
カーネル種別 モノリシックカーネル
既定のUI キャラクタユーザインターフェース
ライセンス プロプライエタリ、後にBSDスタイル
先行品 (CP/M-80 2.2)
後続品 コンカレントCP/M-86 3.0
テンプレートを表示

概要

編集

8bit CPUであるIntel 80808085およびその互換CPU用のOSであるCP/M-80の後継にあたり、機能的にはCP/M-80のバージョン2.2に相当する。

商業的にはPC DOSとしてIBM PCに標準採用されたマイクロソフトMS-DOSとの市場争いに敗れ、普及はしなかった。

特徴

編集

CP/M-86は16bit CPU用OSとしてIntel 8086に実装された各種機能を有効活用すべく、豊富な機能を盛り込まれていた。

また、CP/M-80で多用されていたアプリケーションプログラムによるファンクションコールの呼び出し方法が変更され、call 5、つまり単純なサブルーチン呼び出し命令による0005h番地の呼び出しを止め、セグメントの導入や将来のマルチタスク化を念頭に置いてInt 224 (Int E0h)によるソフトウェア割り込み処理として実装してあるなど、将来的な発展を考慮して様々な変更が施されていた。

しかし、このように意図的に下位互換性を無視した変更は既存のCP/M-80用アプリケーションソフトの移植に当たってソースコードレベルでの膨大な量の書き換えを必要とする点で難があり、素直にCP/M-80のファンクションコール呼び出し方法を継承してcall 5での呼び出しにも対応し、CP/M-80用ソフトウェアのソースコードをほとんど手直し無しで再アセンブルするだけでも動作するほどの互換性[3]を備えていたマイクロソフトMS-DOS[4]と比較すると、移植性で不利であった。

もっとも、この変更の恩恵により上位に当たるシングルユーザー・マルチタスク版としてコンカレントCP/M-86(CCP/M-86)[5]も早期に開発・提供され、さらにマルチユーザー・マルチタスク版としてMP/M-86も提供されており、これらは業務用途では一定の支持を受けていた。

機能面では初期のMS-DOSと大差なかった[6]CP/M-86であるが、IBMがPC DOS(≒MS-DOS)を標準扱いとしてCP/M-86はUCSD p-systemと共にオプション扱いとした結果、そのシェアには大きな開きが生じ、その後の衰退につながった。

日本語化

編集

1982年4月、三菱電機MULTI 16に搭載された「日本語CP/M-86」[7]がリリースされた。これはShift_JISを採用した初めてのオペレーティングシステムとなった。MS-DOSにおけるShift_JIS(厳密にはMS漢字コード)のサポートは1983年5月にリリースされたMS-DOS 2.01からとなる。

日本においてはMULTI 16シリーズの他、富士通FM-11シリーズ・FM-16βシリーズなどの初期のx86系CPU搭載マシンでも標準OSとして採用されたほか日本電気のPC-9800シリーズでもサポートされており、それぞれ日本語化されている。

CP/M-80との互換性

編集

Intel 8080・8085のアセンブラソースコードをIntel 8086用の同等のソースコードに変換するプログラム(XLT86)が存在した。

注釈

編集
  1. ^ CP/M collection is back online with an Open Source licence The Register, 2001-11-26
  2. ^ Intel 8088を含む。
  3. ^ 当然ながらマシン語命令の異なるCP/M-80用ソースコードそのままでは動作しないが、特別なハードウェア依存性の無いプログラムの場合は、メモリモデルの指定などIntel 8086・8088固有の処理を除けばほぼ機械的な命令の置き換え処理を行い、再アセンブルするだけで動作した。
  4. ^ ただし、MS-DOSにおいてもファンクションコールの基本はInt 21hによる割り込み処理である。
  5. ^ コンカレント(並列性)は称してはいるが、実情は原始的なタスクスイッチャであった。後にConcurrent DOS(CDOS)と名称が変更されている。
  6. ^ 大きな相違の一つに、ファイルの属性およびサイズ管理の有無がある。
  7. ^ 北原, 拓也 (1983). CP/M-86入門 その機能・仕組み・使い方. p. 149