(Translated by https://www.hiragana.jp/)
CP/M - Wikipedia コンテンツにスキップ

CP/M

出典しゅってん: フリー百科ひゃっか事典じてん『ウィキペディア(Wikipedia)』
CP/Mのシステムディスク

CP/M(Control Program for Microcomputers、シーピーエム)は、1970年代ねんだいデジタルリサーチ (Digital Research Inc.) の創業そうぎょうしゃであるゲイリー・キルドールによって開発かいはつされ、1976ねん[1]発売はつばいされた、パソコンけのシングルユーザー・シングルタスクオペレーティングシステム (OS) である。

当初とうしょ8ビットCPUであるインテル8080プロセッサけにつくられ、8ビットパソコンようOSとしてもっと代表だいひょうてき存在そんざいとなった。初期しょき普及ふきゅうしたバージョンはCP/M 1.4で、その改訂かいていされたCP/M 2.2がひろ普及ふきゅうした。さらに、より洗練せんれんされたCP/M 3.0 (CP/M Plus) も登場とうじょうしたが、すで16ビットマシンへの移行いこうはじまっていたため、ひろ普及ふきゅうすることはなかった。

のプロセッサけに移植いしょくされたバージョンも存在そんざいするが、「CP/M」とえば一般いっぱんてきに8080プロセッサけのもの(とくにバージョン2.2)をす。なお、マイクロソフトによってOEMされIBM提供ていきょうされたPC DOS(および、のちにマイクロソフトみずからが販売はんばいしたMS-DOS)は、CP/Mをモデルにシアトル・コンピュータ・プロダクツ開発かいはつした86-DOS前身ぜんしんとしている。

動作どうさ環境かんきょう

[編集へんしゅう]

CP/Mは8080マイクロプロセッサ(およびその上位じょうい互換ごかんCPU)、0番地ばんちから配置はいちされたRAM最小さいしょうはCP/M 1.4で16KB)、最低さいてい1だいの8インチフロッピーディスク装置そうちシリアル端末たんまつCRTディスプレイキーボード、あるいはASR-33のようなテレタイプ端末たんまつ)があれば動作どうさした。オプションとして、プリンタかみテープ読取よみと装置そうちかみテープ穿孔せんこう装置そうちハードディスク装置そうちをサポートした。一般いっぱんてきには32KB以上いじょう可能かのうなら56KBくらいのRAMがあると、当時とうじとしてはだい規模きぼなコンパイラなどが実行じっこうできた。

構成こうせい

[編集へんしゅう]

CP/Mは、シェルであるCCP (Console Command Processor)、OSの本体ほんたいであるBDOS(ビードス、Basic Disk Operating System)、入出力にゅうしゅつりょく処理しょりする下位かいプログラムの集合しゅうごうたいであるBIOS(バイオス、Basic Input and Output System)で構成こうせいされる[2]。ハードウェア依存いぞん部分ぶぶんはBIOSに集中しゅうちゅうさせてあるので、BIOSだけを変更へんこうすることで大抵たいていのハードウェアに移植いしょく可能かのうとなっていた。BIOSの機能きのうはシステムの初期しょき、CCPのリブート(アプリケーション実行じっこう終了しゅうりょうとシェルのさい起動きどう)、コンソールなどのキャラクタデバイスリダイレクトづけ入出力にゅうしゅつりょく、フロッピーディスク/ハードディスクとうの1セクタ単位たんい入出力にゅうしゅつりょくだけである。

なお、BIOSという用語ようご一般いっぱんして普通ふつう名詞めいしとなり、PC/AT互換ごかん普及ふきゅう以降いこうはROMに記録きろくされたていレベル入出力にゅうしゅつりょくプログラムをすことがおおくなったが、CP/MにおけるBIOSはほとんどの場合ばあいはディスクからメモリにロードされるものである。

コマンド

[編集へんしゅう]

ビルトインコマンド

[編集へんしゅう]

CCPに内蔵ないぞうされているコマンドをビルトインコマンド (built-in command) といい、つぎのようなものがある。

DIR
REN
TYPE
それぞれ、MS-DOS同名どうめいコマンドと同様どうよう
ERA
MS-DOSのDEL (ERASE)に相当そうとう
SAVE
アドレス0100hから、256バイトを1ページとして指定していのページすうのメモリイメージをディスクに記録きろくする。
USER
ユーザえ。おもに、MP/Mでユーザごとに記録きろくされたファイルをあつかうために存在そんざいする。CP/M単独たんどくではあまり意味いみがない。

これ以外いがいはトランジェントコマンドにゆだねている。

トランジェントコマンド

[編集へんしゅう]

フロッピーディスクに実行じっこうファイルとして記録きろくされているコマンドをトランジェントコマンド (transient command)という。 つぎのようなものがある。

STAT
ディスクやファイルのサイズを表示ひょうじする、ファイルの保護ほご属性ぞくせい表示ひょうじ変更へんこうする、デバイスのリダイレクト状況じょうきょう表示ひょうじ変更へんこうする、など様々さまざまなシステムの状態じょうたい表示ひょうじ操作そうさする。
PIP
周辺しゅうへん装置そうちやディスクのあいだでファイルをコピーする(Peripheral Interchange Program)。DECPDPシリーズのコマンドに由来ゆらいする。
SUBMIT
バッチファイル実行じっこうする。
ED
キャラクタ単位たんいのラインエディタ。
ASM
8080ようアブソリュートアセンブラ
LOAD
ASMの出力しゅつりょくしたオブジェクト(インテルHEXフォーマット)を.COMファイルに変換へんかんする。コマンドめいから機能きのう連想れんそうしづらいことで有名ゆうめい
DUMP
ファイルの16しんダンプツール。アセンブリソースコードが添付てんぷされており、プログラミングのサンプルでもあった。とくに、ASCIIダンプがついていなかったため、この機能きのう追加ついかすることは定番ていばん改造かいぞうだった。
DDT
セルフ環境かんきょうデバッガ (Dynamic Debugging Tool)。殺虫さっちゅうざいDDTにかけた命名めいめいである。
XSUB
バッチ処理しょりちゅうにコンソール入力にゅうりょくをファイルから取得しゅとくするさいにSUBMITと同時どうじもちいる。CP/M 2.x以降いこう用意よういされた。
MOVCPM
CP/M自身じしんさい配置はいちツール (move CP/M)。CP/M自身じしんのコードは実装じっそうされたRAMのさい上位じょうい配置はいちされる。つまり、実装じっそうメモリがわるとCP/M自身じしん配置はいち変更へんこうする必要ひつようがあった。リロケータブルでない8080コードでかれたBDOSとCCPをさい配置はいちするためのツールがMOVCPMである。かくマシンけのBIOS (Customized BIOS, CBIOS) はソースコードが供給きょうきゅうされるのが普通ふつうだったので、インストールするひと自分じぶんさいアセンブルすることで必要ひつようなアドレスで実行じっこうできるバイナリをられた。

パソコンメーカーが自社じしゃ製品せいひんよう供給きょうきゅうするCP/Mのパッケージには、上記じょうき以外いがいにもフロッピーのフォーマットやコピー、ハードウェアの設定せっていなど独自どくじコマンドが追加ついかされていることがおおかった。

なお、トランジェントコマンドがロードされるメモリじょう領域りょういき (0100H - ) をTPA (Transient Program Area) と[2]

リブートについて

[編集へんしゅう]

CP/Mの特徴とくちょうてき仕様しようひとつに、リブート(ウォームブート、ウォームスタート)[ちゅう 1]がある[3][ちゅう 2][4]。リブートとは、アプリケーションの終了しゅうりょう、または^Cの入力にゅうりょくにより、ディスクからCCPとBDOSをロードしなおしてCCPのコマンドラインにもどることをいう。のOSのように、IPLから完全かんぜんさい起動きどうすることをすわけではない。

リブートは以下いか場合ばあい発生はっせいする。

  • CP/Mのアプリケーションは、終了しゅうりょうしてOSにもどるために、0番地ばんちにジャンプする (JMP 0)。
  • CCPのコマンドラインじょう、またはアプリケーションの動作どうさちゅうに、^Cを入力にゅうりょくすると、任意にんいにリブートすることができる。
  • ディスクI/Oでエラー(BDOSエラー)が発生はっせいしたさいに、Abort(中断ちゅうだん)をえらぶとリブートする。

いずれの場合ばあい最終さいしゅうてきにBIOSの先頭せんとうにジャンプし、BIOSはドライブAのディスクのシステム領域りょういきからCCPとBDOSをメモリにロードし、CCPの先頭せんとうにジャンプする。これにより、CCPのコマンドラインにもどることになる。リブートはCP/Mの使用しようちゅう頻繁ひんぱん発生はっせいするので、ドライブAにはCCPとBDOSのはいったフロッピー(通常つうじょう、CP/Mの起動きどうフロッピー)をれておく必要ひつようがある。

CCPとBDOSをロードするのは、アプリケーションによって破壊はかいされている可能かのうせいがあるためである。 アプリケーションの動作どうさちゅうにはCCPは不要ふようなので、CP/MのアプリケーションはCCPのメモリ領域りょういきいつぶしてもよいことになっている。さらに、滅多めった存在そんざいしないが、BDOSすら利用りようしないアプリケーションでは、BDOSもいつぶしてよい。そのため、アプリケーションの終了しゅうりょうにはCCPとBDOSをロードする必要ひつようがある。ただし、小規模しょうきぼなアプリケーションでは、JMP 0でなくたんにRET命令めいれいでCCPに直接ちょくせつもどるものもある。この場合ばあいはリブートは発生はっせいしない。なお、MS-DOSにおいても、COMMAND.COM非常駐ひじょうちゅうさいロードという、たような機能きのうがある。

このようにリブートとはCP/Mにおけるきわめて基本きほんてきかつ重要じゅうよう動作どうさであるが、一方いっぽうおおくのユーザーにとってはにがおもこす言葉ことばでもある。

CP/Mでは、フロッピーのえを検出けんしゅつすると、まえのフロッピーのデータを現在げんざいのフロッピーにんでしまうことをけるため、一時いちじてきにフロッピーへのアクセスをリードオンリーに限定げんていし、リブートすることで解除かいじょする。すなわち、CP/Mでフロッピーをえるときは、アプリケーションが動作どうさちゅうであればまず終了しゅうりょうし、フロッピーをえてから^Cをさなければならない。これをおこたって、アプリケーションを終了しゅうりょうせずにディスクをえてリードオンリーになってしまっているフロッピーにデータをもうとすると、BDOSエラーが発生はっせいし、データはめず、リブートを余儀よぎなくされ、データはうしなわれる。この事態じたい見舞みまわれる“よくある状況じょうきょう”としては、フロッピーののこ記録きろく容量ようりょうりないことに気付きづかずに作業さぎょうをしているさいげられる。こうなると、もはや通常つうじょう操作そうさではその作業さぎょう結果けっかのこ方法ほうほうがない。救済きゅうさい方法ほうほうとしては、一旦いったんBDOSエラーを発生はっせいさせ、saveコマンドでそらディスクにメモリイメージを記録きろくし、サードパーティーせいディスク操作そうさソフトを使用しようしてその記録きろく内容ないようのうちトランジェントコマンド部分ぶぶん削除さくじょしたうえディレクトリ情報じょうほうえる方法ほうほうがある。これは推奨すいしょうされた使用しよう方法ほうほうからはおおきくはずれた事態じたいであり、救済きゅうさい失敗しっぱいすることもまれではない。

これはCP/Mの重大じゅうだい問題もんだいてんで、この事態じたいおちいったときに表示ひょうじされる"Bdos Err On x: $R/O"(x:はドライブレター)というメッセージは、PC-9800シリーズのMS-DOSの"Int trap halt"や、Windows 3.1の一般いっぱん保護ほご例外れいがい (GPE)、Windows 95/NTのあお画面がめんClassic Mac OSばくだんマーク同様どうように、ユーザーを恐怖きょうふ絶望ぜつぼうにおとしいれた。

この問題もんだいは、のPersonal CP/MやCP/M Plus、CP/M-86では改善かいぜんされている。

歴史れきし

[編集へんしゅう]
雑誌ざっしInfoWorld英語えいごばん1982ねん11月29にちごう掲載けいさいされたCP/Mの広告こうこく

はじまりとCP/Mの全盛期ぜんせいき

[編集へんしゅう]

キルドールは、インテルからマイクロコンピュータ開発かいはつシステム (MDS) よう高級こうきゅう言語げんご受注じゅちゅうPL/Iふうつくられた8080ようのシステム記述きじゅつ言語げんごであるPL/M(Programming Language for Microcomputer、のPL/M-80)コンパイラ開発かいはつした。

このPL/Mの動作どうさ環境かんきょうとして、キルドールがインテルに提案ていあんしたフロッピーディスクベースのDOSがあった。これは採用さいようされなかったため、のちみずか販売はんばいすることにしたものがCP/Mである。インテルはのちに8080/8085からの移行いこう支援しえんするため、8086/8088ようにPL/M-86を開発かいはつした。

ゲイリー・キルドールが1974ねん開発かいはつしたオリジナルのCP/M[5][6]は、インテルIntellec-8開発かいはつシステムよう開発かいはつされたもので、シュガートアソシエイツの8インチフロッピーディスクドライブを独自どくじフロッピーディスクコントローラー英語えいごばん[7]接続せつぞくしていた。キルドールは自分じぶん開発かいはつしたマイクロプロセッサようプログラミング言語げんごであるPL/M記述きじゅつした[8]。キルドールはメインフレームコンピュータのDECsystem-10開発かいはつ使用しようしたことがあり、そのOSであるTOPS-10影響えいきょうおおきくけていた[9][10][11]

名称めいしょう

[編集へんしゅう]

CP/Mは元々もともとControl Program/Monitorの略称りゃくしょう[12]、OSが起動きどうするまえちいさな内蔵ないぞうモニターを意味いみしていた。しかし商品しょうひんのため1977ねん11月に商標しょうひょう登録とうろくしたさいにはControl Program for Microcomputersのりゃくであるとされた[6]。CP/Mの名前なまえ当時とうじ流行りゅうこうしていたスタイルにしたがったもので、たとえばキルドールが開発かいはつしたプログラミング言語げんごはPL/Mであり、プライムコンピュータが開発かいはつしたプログラミング言語げんごはPL/P (Programming Language for Prime)で、いずれもIBMのPL/Iからインスパイアされた。またIBMにはCP/CMSというオペレーティングシステムがあり、キルドールはNaval Postgraduate School(NPS)ではたらいているときにこれを使つかっていた。

CP/Mの名前なまえ変遷へんせんは、キルドールと、キルドールのつまであり共同きょうどう経営けいえいしゃでもあるドロシー・マキュアン[13]が、キルドールの個人こじんてきなプロジェクトにぎなかったCP/Mと、インテルと契約けいやくしていたPL/Mをビジネスにえるための努力どりょく一環いっかんだった。IBMとマイクロソフトがのちにパソコンの代名詞だいめいしとなったように、デジタルリサーチがマイクロコンピュータの代名詞だいめいしとなることをキルドールは意識いしきしていた。

インターギャラクティック・デジタルリサーチはのちにデジタルリサーチへと社名しゃめい変更へんこう登記とうき手続てつづきをおこなった[13]

互換ごかんせい

[編集へんしゅう]

1981ねん9がつまでにデジタルリサーチは25まんほんのCP/Mを販売はんばいしていた。InfoWorldによるとこれにはサブライセンスがふくまれておらず実際じっさいのマーケットシェアはさらにおおきいとされた。様々さまざま企業きぎょう様々さまざまなCP/Mマシンを販売はんばいした。InfoWorldは「CP/Mがマイクロコンピュータようのオペレーティングシステムとしてその地位ちい確実かくじつ確立かくりつしつつある」とべた[14]非常ひじょうおおくのアプリケーションがあったためおおくのコンピュータメーカーがCP/Mをサポートした。ゼロックスは「文字通もじどおすうせんほんのアプリケーションがあるのにこれをサポートしないのはかしこ選択せんたくとはえない」としてXerox 820に対応たいおうした[15]。デジタルリサーチのマニュアルは1982ねんにInfoWorldから批判ひはんされるほどひど[16]、ゼロックスはハワード・サムが執筆しっぴつしたCP/Mマニュアルを同社どうしゃ製品せいひんどうこりした。1984ねんまでにコロンビア大学ころんびあだいがくはファイル転送てんそうプロトコルのカーミットを1つのソースコードから複数ふくすうのCP/Mようのバイナリを出力しゅつりょくできるようにしており、またどのCP/Mでも動作どうさする汎用はんようばん開発かいはつした[17]。このオペレーティングシステムは複数ふくすうのプログラムがことなるハードウェアと標準ひょうじゅんてき方法ほうほう通信つうしんでき、みずからをソフトウェア・バスとんだ[18]一部いちぶ例外れいがいのぞき、CP/Mに記述きじゅつされたプログラムはのマシンでも動作どうさする互換ごかんせいがあり、エスケープシーケンスだけを使つかってコンソールやプリンタを制御せいぎょすることが互換ごかんせい維持いじするためにもとめられた。この互換ごかんせいたかさがCP/Mの普及ふきゅううながし、特定とくていのハードウェアだけで動作どうさするソフトウェアよりもCP/Mうえ動作どうさするソフトウェアがよりおお開発かいはつされるようになった。Z80の拡張かくちょう命令めいれいもちいた一部いちぶのプログラムは8080や8085で動作どうさしなかった。またグラフィック処理しょりにも互換ごかんせい問題もんだいがあり、とくにゲームや映像えいぞうソフトはパフォーマンスをかせぐためにOSやBIOSを経由けいゆせず直接ちょくせつハードウェアにアクセスすることが普通ふつうだった(初期しょきのDOSにも共通きょうつう問題もんだいがあった)。

アップルのCP/Mカードとマニュアル

ビル・ゲイツによるとApple IIシリーズとZ-80 SoftCardわせはCP/Mの動作どうさ環境かんきょうとして当時とうじもっと普及ふきゅうしていた[19]Altair 8800IMSAI 8080Osborne 1、Kaypro luggable、MSXなど、非常ひじょうおおくの機種きしゅ動作どうさした。もっとおおれたCP/M対応たいおうシステムはアムストラッド PCW英語えいごばんだとかんがえられている。イギリスではリサーチマシーンズしゃ教育きょういくようコンピュータでCP/Mが動作どうさし、CP/Mのソースコードが教育きょういくようとして添付てんぷされたほか、Z80コプロセッサを搭載とうさいしたBBCマイクロでも動作どうさした。さらにアムストラッドCPCシリーズ、コモドール128TRS-80ZXスペクトラム後期こうきモデルでも動作どうさした。ACニールセンよう開発かいはつされた、1MBのSSDメモリを搭載とうさいした携帯けいたいようマシンであるNIATでもCP/M 3が動作どうさした。

アプリケーション

[編集へんしゅう]
8ビットばんCP/Mよう発売はつばいされたワードプロセッサWordStar最終さいしゅうバージョン(バージョン4)の5.25インチフロッピーのインストールディスクとパッケージ。

CP/Mは8ビットマイコン市場いちばひろ普及ふきゅうしたため、CP/M環境かんきょう動作どうさするプログラムが大量たいりょう発売はつばいされており、ソフトウェア開発かいはつようソフトのみならず1バイト文字もじけんにおけるビジネスソフトウェア数多かずおおくあった。

ワードプロセッサとしてはじめてひろ普及ふきゅうしたWordStarと、フルスクリーンエディタのWordMaster、マイクロコンピュータようとして初期しょき人気にんきはくしたデータベースのdBaseは、いずれも元々もともとはCP/Mよう開発かいはつされた。WordStar/WordMasterのカーソル移動いどうキーバインドはダイヤモンドカーソルばれ、その使つかいやすさからCP/MやMS-DOSのおおくのスクリーンエディタにがれた。初期しょきアウトラインプロセッサであるKAMAS(Knowledge and Mind Amplification System)と、その廉価れんかばんであるOut-Think(マクロ機能きのう削除さくじょされ8080/V20互換ごかんとしてさい設計せっけいされた)もまたCP/Mよう開発かいはつされ、のちにMS-DOSへ移植いしょくされた。Delphi祖先そせんであるTurbo Pascalや、Microsoft Excel祖先そせんであるMultiplanもCP/MでリリースされたのちにMS-DOSへ移植いしょくされた。世界せかいはつおもて計算けいさんソフトであるVisiCalcはCP/Mようつくられた。SorcimはCP/Mようおもて計算けいさんソフトSuperCalc開発かいはつし、CP/Mうえではデファクトスタンダードになった。SuperCalcはMS-DOSのおもて計算けいさんソフト業界ぎょうかいにも参入さんにゅうした。AutodeskはAutoCADをCP/Mでリリースした。

BASICFORTRANなど当時とうじ主流しゅりゅうプログラミング言語げんご利用りようできた。マイクロソフトは、当時とうじOEM各社かくしゃより発売はつばいしていたマイコンようのスタンドアロンBASICとはべつに、CP/M汎用はんようのBASIC処理しょりけいとしてM-BASICインタープリタ (MB80) およびコンパイラ (BASCOM) をリリースしていた。に、マクロ機能きのうづけリロケータブルアセンブラMACRO-80やFORTRAN-80、COBOL-80なども製品せいひんラインに存在そんざいし、これらの言語げんご製品せいひん当時とうじのマイクロソフトの主力しゅりょく商品しょうひんだった。

デジタルリサーチ自身じしんは、PL/I-80[20]、 CBASIC(ビジネスきBASICコンパイラ)、MACとRMAC(マクロアセンブラとリロケータブル・マクロアセンブラ)、Pascal/MT+(MT Microsystemsから買収ばいしゅうしたZ80専用せんようコードも生成せいせいできるコンパイラで、高速こうそくなオブジェクトコードを出力しゅつりょくした)などを出荷しゅっかした。

CP/MうえでC言語げんご処理しょりけいとして、Leor ZolmanのBDS-C、Whitesmith、AZTEC、HITECHのCコンパイラ、日本にっぽんのLSIジャパンのLSI-C80などが有名ゆうめいだった。日本にっぽんでは、ライフボート(当時とうじ)とそのOEM供給きょうきゅうけたシャープが、CP/Mけに安価あんか各種かくしゅ言語げんごのパッケージを販売はんばいしていた。ラインアップとしては、FORTRANCOBOLLISPLOGOProlog、BDS-C(サブセット)、PascalForthなどが存在そんざいした。

また、統合とうごう開発かいはつ環境かんきょうという概念がいねんてたボーランドTurbo Pascalは、WordMasterライクなスクリーンエディタきわめて高速こうそくなコンパイラと、リンカのすべてをわずか30KB程度ていど実行じっこう形式けいしきんで提供ていきょうされていた。さらに販売はんばい価格かかく廉価れんかおさえられていたため、おどろきのむかえられいち時代じだいきずいた。これは以後いごのマイコン開発かいはつようソフトウェアに影響えいきょうあたえ、同時どうじにボーランドしゃ地位ちい確立かくりつした。

CP/Mようのソフトは様々さまざま機種きしゅ対応たいおうするためにインストーラー付属ふぞくすることがおおかった[21]。BASICで開発かいはつされたプログラムは簡単かんたんにソースコードをることができ、コピープロテクトはほとんど無意味むいみだった[22]。Kaypro IIの開発かいはつしゃはXerox 820フォーマットを採用さいようし、Kayproフォーマットと名付なづけてソフトを提供ていきょうし、このうえでプログラムを実行じっこうさせた[23]

グラフィック機能きのう標準ひょうじゅんされておらずコンピュータゲームのサポートは限定げんていてきであったものの、Telengard英語えいごばん[24]Gorillas英語えいごばん[25]Hamurabi英語えいごばんLunar Lander英語えいごばん初期しょきテキストアドベンチャーであるゾークシリーズやコロッサル・ケーブ・アドベンチャーなどのテキストベースのゲームが移植いしょくされた。テキストアドベンチャーつよインフォコムはCP/Mで定期ていきてきにゲームをリリースしていた数少かずすくない開発かいはつ会社かいしゃだった。

ユーザ・コミュニティでのフリーソフトウェアの流通りゅうつうもあり、当時とうじPDSばれていた。当時とうじ通信つうしん環境かんきょうがまだ普及ふきゅうしておらず、フロッピーで配布はいふするのが主流しゅりゅうだった。CP/M UGなど、組織そしきてきにソフトの収集しゅうしゅう配布はいふおこなっていたユーザグループも存在そんざいした。Lifeboat Associates英語えいごばんはユーザーが開発かいはつしたフリーソフトウェアをあつめて配布はいふした。XMODEMはそうしたフリーウェアの初期しょき作品さくひんの1つで、電話でんわからモデム使つかって安定あんていてきにファイルを転送てんそうできた。

ディスクフォーマット

[編集へんしゅう]

CP/Mの公式こうしき標準ひょうじゅんフォーマットはIBM System/34IBM 3740使つかわれた片面かためんたん密度みつどフォーマットの8インチディスクだった。非公式ひこうしきな5.25インチディスクもあり、フォーマットにはKaypro、Morrow Designs、Osborneなどの種類しゅるいがあった[26][16][27]InfoWorldは1981ねん9がつに、ソフトウェアメーカーがサポートすべきおもなフォーマットは20種類しゅるい以上いじょうあるとかんがえていると推測すいそくした[14]たとえばJRT PascalはNorth Star、Osborne、Apple、Heathなどのフォーマットで5.25インチディスクのハードセクタばんやソフトセクタばんをリリースし、Superbrainに8インチばんをリリースした[28]。Ellis ComputingもHeathのりょうフォーマットや、2つのTRS-80ようCP/Mの改変かいへんばんふくむ16種類しゅるいの5.25インチフォーマットでリリースした[29]

一部いちぶのフォーマットは普及ふきゅうしたがのフォーマットは普及ふきゅうしなかった。もっとおおくのソフトが採用さいようしたのはXerox 820フォーマットで、Kaypro IIなどのほかのコンピュータも対応たいおうしていた[23][30]。CP/Mが利用りようされていた時代じだいは5.25インチディスクのフォーマットが1しゃ統一とういつされるということはく、基本きほんてきにハードメーカーがことなればフォーマットに互換ごかんせいがなかった。ソフト自体じたいはどのマシンで動作どうさしても、ソフトメーカーはハードごとにメディアをけてソフトを販売はんばいしなければならなかった。Kayproなど一部いちぶのメーカーのディスクドライブは、自社じしゃ製品せいひんでも機種きしゅわると互換ごかんせいがないことすらあった。こうした状況じょうきょうによりフォーマット変換へんかんプログラムが流行りゅうこうし、混乱こんらん軽減けいげんさせる一助いちじょになったほか、カーミットなどの通信つうしんプロトコルによりどのCP/Mにもあるシリアルポート使つかってプログラムやデータを転送てんそうすることもできた。

様々さまざまなフォーマットがハードの特徴とくちょう設計せっけいしゃ一存いちぞんによりえらばれた。CP/Mはディスクのやく領域りょういきやディレクトリ領域りょういきのサイズを指定していでき、CP/Mのアプリケーションからえる論理ろんりセクタとディスクじょう実際じっさい配置はいちである物理ぶつりセクタのマッピングなどを指定してい可能かのうだった。かくシステムはこれらのパラメーターをもちいて様々さまざまなカスタマイズをくわえることができた[31]が、一度いちど設定せっていめたのちは、どのような設定せっていのディスクであるのかを調しらべる標準ひょうじゅんてき方法ほうほうがなかった。CP/Mの時代じだいは8インチ、5.25インチとも様々さまざまなフロッピーディスクのフォーマットが存在そんざいしており、ことなるCP/Mマシンの互換ごかんせい採用さいようしたディスクドライブのタイプやコントローラーに依存いぞんした。ディスクはハードセクタ方式ほうしきとソフトセクタ方式ほうしきがあり、たん密度みつどばい密度みつど片面かためん両面りょうめん、35トラック、40トラック、77トラック、80トラック、セクタのレイアウト、サイズ、インターリーブなどの様々さまざまちがいがあった。ことなるマシンようのディスクをむために変換へんかんプログラムを使用しようできたが、これもまたディスクのタイプやコントローラーに依存いぞんした。1982ねんごろにはソフトセクタ、片面かためん、40トラックの5.25インチディスクがCP/Mソフトの配布はいふようとしてもっと普及ふきゅうしたフォーマットとなり、Apple II、TRS-80、Osborne 1、Kaypro II、IBM PCなど当時とうじ主流しゅりゅうだったマシンのほとんどが採用さいようした。変換へんかんプログラムはタイプがちかいディスクドライブようのフォーマットをむことを可能かのうにした。たとえばKaypro IIはTRS-80OsborneIBM PCEpson QX-10英語えいごばんなどのディスクをめた。80トラックのようなほかのフォーマットや、ハードセクタ方式ほうしきのディスクはまっためなかった。Epson QX-10などが採用さいようした両面りょうめんディスクは半分はんぶんだけデータをむことができた。Apple IIはAppleのGCRフォーマットだけしかめず他社たしゃのフォーマットをめなかったため、AppleフォーマットばんのCP/Mソフトを入手にゅうしゅするか、またはシリアルポートで転送てんそうするしかなかった。

CP/M市場いちばによるディスクフォーマットの断片だんぺんは、複数ふくすうのフォーマットに対応たいおうしたディスクの在庫ざいこかかえたり、複数ふくすうのフォーマットに対応たいおうしたディスクコピー装置そうち購入こうにゅうしたりすることをソフトメーカーにいた一方いっぽうで、IBM PCはディスクが規格きかくされて統一とういつされており、1981ねん以降いこうにCP/Mが急速きゅうそく市場いちばうしな要因よういんとなった。

1985ねん発売はつばいされたコモドール128末期まっき発売はつばいされたCP/Mで、6502ベースのCPUを採用さいようしながら、CP/MをサポートするためにZ80も搭載とうさいしていた。CP/Mを使つかうには、ソフトセクタ40トラックMFM方式ほうしきのディスクがきできるディスクドライブの1571英語えいごばん1581英語えいごばん必須ひっすだった。

はじめて3.5インチフロッピーを採用さいようしたSony SMC-70英語えいごばん[32]ではCP/M 2.2が動作どうさした。

コモドール128、ラップトップのBondwell-2英語えいごばん、Micromint/Ciarcia SB-180[33]MSXTRS-80 Model 4英語えいごばん (Montezuma CP/M 2.2が動作どうさ)なども3.5インチディスクばんのCP/Mが動作どうさした。アムストラッドPCW英語えいごばん当初とうしょ3インチフロッピーでCP/Mが動作どうさし、のちに3.5インチフロッピーへえた。

グラフィック

[編集へんしゅう]

S-100バス(アルテアバス)に対応たいおうしたグラフィックシステムは存在そんざいしていたが、CP/Mは1982ねんGSX (Graphics System Extension)をリリースするまでグラフィック機能きのうまったくサポートしていなかった。当時とうじ使用しようできるメモリが非常ひじょうかぎられており、8ビットのCP/Mでグラフィック機能きのう一般いっぱんてきになることはかった。ほとんどの機種きしゅではテキストモードでアスキーアートにより図表ずひょう表示ひょうじするか、機種きしゅ依存いぞん文字もじ使つかことしかできなかった。KayproシリーズやTRS-80 Model 4英語えいごばんなどの一部いちぶ機種きしゅ絵文字えもじをサポートしており、アセンブラで直接ちょくせつハードウェアをたたくか、BASICからCHR$コマンドを使つかってアクセスすることができた。Model 4はオプションのハイレゾリューションボードで640×240ドットのグラフィックを表示ひょうじできた。

マルチユーザー

[編集へんしゅう]

1979ねんマルチユーザー対応たいおうしたCP/Mがリリースされた。MP/M複数ふくすうのユーザーが1だいのコンピューターに接続せつぞくでき、ユーザーはディスプレイとキーボードをそなえた端末たんまつ個別こべつあたえられた。のバージョンは16ビットCPUで動作どうさした。

CP/M Plus (CP/M 3) システムガイド

1983ねんにリリースされた8ビットばんCP/Mの最終さいしゅうばんはバージョン3で、CP/M Plusとばれた。CP/M 2.2のアプリケーションと互換ごかんせいがあるMP/Mがつバンクえによるメモリ管理かんり機能きのうを、MP/Mのシングルユーザー、シングルタスクばんというかたち導入どうにゅうした。これによりCP/M 3では8080やZ80でも64KB以上いじょうのメモリをあつかうことができた。ファイルにタイムスタンプをけるようシステムを設定せっていできた。またアセンブラとリンカが付属ふぞくした[34]。CP/M 3は、アムストラッドPCW、アムストラッドCPCZXスペクトラム+3コモドール128MSXラジオシャックのTRS-80モデル4[35]など、8ビットマイコンの最後さいご世代せだい利用りようできた。

16ビットばん

[編集へんしゅう]
DEC PRO-CP/M-80のフロッピーディスク。Z80-Aコプロセッサを搭載とうさいしたDEC Professional 3xxシリーズよう

16ビットCPUようのCP/Mも存在そんざいした。

最初さいしょの16ビットばんであるCP/M-86Intel 8086はんで、つづけてモトローラ68000はんCP/M-68Kがリリースされた。1982ねんにリリースされたオリジナルばんのCP/M-68KはPascal/MT+68k英語えいごばん開発かいはつされ、のちC言語げんご移植いしょくされた。混乱こんらんけるため、オリジナルの8ビットはんCP/MはCP/M-80ばれるようになった。1982~1983ねんごろオリベッティM20英語えいごばんようとしてZ8000動作どうさするCP/M-8000がC言語げんご開発かいはつされた[36]

CP/M-86はIBM PC標準ひょうじゅんOSとなることが期待きたいされていたが、デジタルリサーチとIBM開発かいはつ契約けいやくはなしをまとめることができなかった。IBMはマイクロソフトに白羽しらはて、マイクロソフトは86-DOSをもとにPC DOS開発かいはつして提供ていきょうした。デジタルリサーチはIBMにたいして提訴ていそするとおどし、CP/M-86もIBM PCで利用りようできるようになったが、マイクロソフトをえることはできなかった。IBMの設定せってい価格かかくはPC DOSが$40だったのにたいしてCP/M-86は$240で、そのおおきな顧客こきゃくおどろかされた[37]

DECがIBMの対抗たいこうとして発売はつばいしたRainbow 100英語えいごばんは、Z80を使つかったCP/M-80と、8088を使つかったCP/M-86およびMS-DOSが付属ふぞくし、CP/M-86とCP/M-80を同時どうじ使用しようできた。Z80と8088は並列へいれつ動作どうさした[38][39]。Rainbowでは8ビットばんCP/Mの大量たいりょうのソフトウェア資産しさんつづけて利用りようしながら、16ビットのMS-DOSへ移行いこうすることが可能かのうだった[38]

モトローラEXORmacs英語えいごばんすで動作どうさしていたCP/M-68KはAtari ST搭載とうさいされて出荷しゅっかされるはずだったが、アタリはGEMDOSというあたらしいDOSを使つかうことにめた。CP/M-68KはSORDのM68とM68MXでも使つかわれた[40]

16ビットばんCP/MのアプリケーションはしんCPUけにさいコンパイルが必要ひつようで、もしアプリケーションがアセンブラ記述きじゅつされている場合ばあいは、ゲイリー・キルドールが1981ねん開発かいはつしたトランスレーターのXLT86使つかい、8080ようのASMファイルを8086ようのA86ファイルに変換へんかんした。8080のレジスタがどのように使つかわれているのかを分析ぶんせきし、関数かんすうしをただしく理解りかいして、CP/M-80やMP/M-80ようかれたアプリケーションを自動的じどうてきCP/M-86やMP/M-86ようアプリケーションへコードを最適さいてきしつつ変換へんかんすることができた。XLAT86はそれ自身じしんPL/I-80記述きじゅつされており、CP/M-80だけでなくDEC VMS (VAX 11/750ようと11/780よう)でも動作どうさした[41]

アーキテクチャの種類しゅるいごとに各々おのおのトランジェントコマンドの拡張子かくちょうしことなっており(CP/M-80:.COM、CP/M-86:.CMD、CP/M-68K:.68Kなど)、同一どういつのファイルシステムない複数ふくすうアーキテクチャようのCP/Mを混在こんざいさせることが出来できた。実際じっさい製品せいひんとしては、PC-9800シリーズようのSPARKシリーズがあり、実行じっこう指示しじされたコマンドを拡張子かくちょうしによって区別くべつし、8086で動作どうさするコマンドと、Z80動作どうさするコマンドを混用こんようすることが出来できた。

MS-DOSとの競争きょうそう

[編集へんしゅう]

当時とうじおおくのひとが16ビットでもCP/Mが標準ひょうじゅんになるだろうとかんがえていた[42]。1980ねんにIBMは、ビル・ゲイツ提案ていあんしたがってデジタルリサーチに連絡れんらく[43]開発かいはつちゅうIBM PC提供ていきょうするあたらしいCP/Mのライセンス契約けいやくについてはなおうとした。秘密ひみつ保持ほじ契約けいやくむすぶことができずにはないは決裂けつれつし、IBMはわりにマイクロソフトへOSの提供ていきょう打診だしんした[44]。その結果けっかまれたMS-DOSもなくCP/Mよりれるようになった。

初期しょきバージョンのMS-DOSは基本きほんとなるコンセプトや仕組しくみがCP/Mとていた。ファイルのデータ構造こうぞうおなじで、ディスクドライブにドライブレター(A:B:など)をてるかたちおなじだった。ファイルシステムFATはCP/MとくらべてMS-DOSがもっとちがところだった。全体ぜんたいてきおおきなちがいがないことから、WordStardBaseなどのCP/Mの人気にんきソフトウェアを簡単かんたん移植いしょくできた。一方いっぽうでCP/Mにあった、ユーザーごとにディスクの領域りょういき分割ぶんかつする機能きのうはMS-DOSに採用さいようされることはなかった。IBM PCは一部いちぶのぞいて64KB以上いじょうのメモリを利用りようできた一方いっぽうで、CP/Mは16KBのメモリで動作どうさするよう設計せっけいされていたため、MS-DOSはおおくのメモリを使つかってCOMMAND.COM内蔵ないぞうコマンドをやすことができ、フロッピーディスクからコマンドを必要ひつようることで処理しょりはやくなり、OSのフロッピーをアプリケーションやデータファイルのフロッピーにえても操作そうさできることがえて使つかいやすくなった。

8ビットばんCP/Mのソフトが利用りようできるSoftCardのような拡張かくちょうボードがIBM PCようにすぐにリリースされたが[45]、マイコン市場いちばがIBM互換ごかん市場いちばうつるにつれてCP/Mのシェアは急速きゅうそくちいさくなり、以前いぜんのようなCP/Mブームがふたたおとずれることはなかった。マイコン業界ぎょうかい最大手さいおおてByteは、IBM PCがリリースされると1ねんたないうちにCP/M関連かんれん商品しょうひん記事きじ事実じじつじょうあつかわなくなった。1983にはS-100ボードの広告こうこくがわずかにあり、CP/Mソフトの記事きじすうけんあったが、1987ねんにはまったられなくなった。1984ねんInfoWorld掲載けいさいした記事きじでは、企業きぎょう普及ふきゅうしたCP/Mを一般いっぱん家庭かていひろめようとする努力どりょく失敗しっぱいわり、CP/Mソフトは個人こじんうにはたかすぎたとし[46]、1986ねんにはこれまで他社たしゃ次々つぎつぎにCP/Mから撤退てったいするなかでCP/Mよう周辺しゅうへん機器ききやソフトのリリースをながつづけていたKayproがついに8ビットばんCP/Mようのソフト開発かいはつ中止ちゅうししてMS-DOS互換ごかん開発かいはつ販売はんばい集中しゅうちゅうするという記事きじ掲載けいさいされた[47]

後期こうきバージョンのCP/M-86はパフォーマンスや使つか勝手がって大幅おおはば進化しんかげた。マルチユーザーばんのMP/Mからマルチプロセスなどの機能きのうをマージしてコンカレントCP/Mとなり、Linux仮想かそうコンソールのように画面がめんえて複数ふくすうのアプリケーションを使用しようすることができるようになった。MS-DOSとの互換ごかんせい実現じつげんしてDOS Plusと改名かいめいされ、さらにDR-DOS改名かいめいされた。一方いっぽうMP/MもDR-DOSからぎゃくマージされ、マルチユーザーDOSに改名かいめいした。

1982ねん2がつ2にち公開こうかいされたZCPR[48] (Z80 Command Processor Replacement)はデジタルリサーチ標準ひょうじゅんのコンソールコマンドプロセッサ(CCP)をそのままえるプログラムで、CCPグループとばれる趣味しゅみのユーザーグループが開発かいはつした。フランク・ワンチョ、キース・ピーターセン(Simtel英語えいごばん管理かんりしゃ)、ロン・フローラー、チャーリー・ストローム、ボブ・マティアス、リチャード・コンらが開発かいはつ参加さんかした。実際じっさいにはリチャードがこのグループを推進すいしんしていた(全員ぜんいん電子でんしメールで連絡れんらくっていた)。

ZCPR1はニュージャージーにあるアマチュアコンピュータークラブのパソコン通信つうしん掲示板けいじばんSIG/M(Special Interest Group/Microcomputers)のメンバーあいだでディスクを直接ちょくせつ手渡てわたしするかたち配布はいふされた。

ZCPR2は1983ねん2がつ14にち公開こうかいされた。SIG/Mでディスク10まいぐみのパッケージでリリースされた。ZCPR2は2.3にバージョンアップし、8080はんもリリースされ、8080や8085でZCPR2が使つかえるようになった。

ZCPR3[49]は1984ねん7がつ14にちパリさいにSIG/Mからディスク9まいぐみのパッケージでリリースされた。ZCPR3のソースコードは一部いちぶ機能きのう制限せいげんすることで8080ようとしてビルドすることができ、Z80ではない機種きしゅでも実行じっこうできた。

1987ねん1がつにリチャード・コンがZCPRの開発かいはつから撤退てったいし、ZCPRを個人こじんてきに3.1へバージョンアップしていた実績じっせきのあるジェイ・セージにエシュロンは開発かいはつ継続けいぞくたのんだ。結果けっかてきにZCPR 3.3がリリースされた。ZCPR 3.3は8080けいCPUをサポートせず、おおきな機能きのう拡張かくちょうもなかった。

ZCPRバージョン3には以下いか機能きのうがあった。

  • シェル
  • エイリアス
  • I/Oリダイレクト
  • フロー処理しょり
  • 名前なまえきディレクトリ
  • 検索けんさくパス
  • カスタムメニュー
  • パスワード
  • オンラインヘルプ

ZCPR3.3はまた使つか勝手がって大幅おおはば改善かいぜんするすうおおくのユーティリティがフルセットでいてきた。当時とうじCP/Mユーザーから熱烈ねつれつ歓迎かんげいけたが、ZCPRだけではCP/Mの衰退すいたいめることはできなかった。

旧東きゅうとうヨーロッパの派生はせいばんCP/M

[編集へんしゅう]
きゅうひがしドイツロボトロンPC 1715英語えいごばん動作どうさする派生はせいばんCP/Mの1つSCP

SCP(Single User Control Programドイツばん)、SCP/M、CP/A、CP/KC、CP/L、CP/KSOB、CP/Z、MICRODOS、BCU880、ZOAZ、OS/M、TOS/M、ZSDOS、M/OS、COS-PSA、 DOS-PSA、CSOC、CSOS、CZ-CPMなど、旧東きゅうとうヨーロッパには非常ひじょうおおくの派生はせいばんCP/M-80が存在そんざいした[50][51]。またSCP1700、CP/K、K8918-OSなどのCP/M-86の派生はせいばん存在そんざいした[51]旧東きゅうとうドイツのロボトロンなどが開発かいはつしていた[51][50]

日本にっぽんでの状況じょうきょう

[編集へんしゅう]
  • 日本電気にほんでんき (NEC) のPC-8000シリーズ/PC-8800シリーズシャープMZシリーズ/X1シリーズなど、Z80プロセッサ搭載とうさいの8ビットパソコンに移植いしょくされたCP/Mのパッケージが、ハードメーカーやサードパーティーから提供ていきょうされていた。とくにシャープみずか供給きょうきゅうしたX1シリーズようのものは完成かんせいたかく、しかも安価あんかだった。
  • NECのワープロ専用せんよう文豪ぶんごうミニ5シリーズは、特定とくていのキーをしながら電源でんげんれるとCP/M-80が起動きどうし、パソコンとして利用りようすることができた。
  • ソニーのSMCシリーズのうち、SMC-777は、CP/M 1.4ベースのSONY FILERというOSを標準ひょうじゅん搭載とうさいした。SMC-70, SMC-70G は、別売べつうりではあったが事実じじつじょう、CP/M 2.2が標準ひょうじゅんOSとして利用りようされていた。
  • 6809プロセッサを採用さいようした富士通ふじつうFMシリーズでも、オプションのZ80ボードを搭載とうさいすることでCP/Mが動作どうさする。ワープロ専用せんようMY OASYSでも同等どうとうのボードが提供ていきょうされていた。
  • シャープのMZ-2500はんはPersonal CP/Mの名前なまえ提供ていきょうされた。
  • MSX提供ていきょうされたMSX-DOSは、外見がいけんはMS-DOS、中身なかみはCP/MとでもいうべきOSで、CP/Mのソフトがおおむね動作どうさした。
  • CP/M-86は、日本語にほんごされたものが三菱電機みつびしでんきMULTI 16富士通ふじつうFM-11EX/BS、FM-16βべーた/πぱいなどに標準ひょうじゅん採用さいようされたほか、NECのPC-9800シリーズにも提供ていきょうされていた。三菱電機みつびしでんきアスキーによるCP/M-86の日本語にほんご過程かてい三菱電機みつびしでんきがわ提案ていあん策定さくていされたのがシフトJISである。
  • 68000プロセッサようのCP/M-68Kは各社かくしゃせいパソコンに対応たいおうする68000搭載とうさい拡張かくちょうCPUボードけに提供ていきょうされたほかソードの68000とZ80をデュアル搭載とうさいするM68およびシャープX68000提供ていきょうされた。また、X68000の標準ひょうじゅん添付てんぷOSであるHuman68kうえ動作どうさするCP/M-68kエミュレータが2しゃから発売はつばいされた。
  • 一部いちぶ機種きしゅには、CP/M PlusやコンカンレントCP/M-86も提供ていきょうされていた。
  • 日本にっぽんでCD-ROMにてはじめてCP/Mシリーズを提供ていきょうしていたのは、LASER 5であった。このCP/MはNEC PC-8801MC2とう使用しようして実機じっき導入どうにゅう可能かのうなものである。

MS-DOSとの比較ひかく

[編集へんしゅう]

初期しょきのMS-DOS/PC DOS(の前身ぜんしんであるシアトルコンピュータプロダクツの86-DOS)は、CP/Mをモデルとして設計せっけいされたため、さまざまなめん類似るいじてんられる。

  • ファイルめい8文字もじ+3文字もじであり、拡張子かくちょうしでファイルの種類しゅるい区別くべつする。実行じっこう可能かのうファイルの拡張子かくちょうしは.COMである。ワイルドカード「*」「?」がある。ワイルドカード自体じたいはUNIX由来ゆらいだが、CP/M、MS-DOSとも機能きのう大幅おおはば簡略かんりゃくされている。なお、CP/Mでは「ファイルマッチ」の名称めいしょうもちいる。
  • ドライブレター、カレントドライブ、デバイスめいなどの概念がいねんがある。
  • コマンドプロンプトは「>」である(れい: A>)。
  • DIR、REN、TYPEなどのビルトインコマンドがある。
  • ^Sで出力しゅつりょく一時いちじ停止ていし、^Cでアプリケーションの中断ちゅうだん、^Pでプリンタ出力しゅつりょくえをおこなう。これもUNIXけいのシェル環境かんきょう由来ゆらい機能きのうである。
  • CP/MのCCP、BDOS、BIOSのさんそう構造こうぞうは、MS-DOSではCOMMAND.COM、MSDOS.SYS、IO.SYS(PC DOSではCOMMAND.COM、IBMDOS.COM、IBMBIO.COM)となる。
  • システムコール機能きのう方法ほうほう、アプリケーションのメモリ配置はいちコマンドライン引数ひきすうわたかたなどが酷似こくじしている。通常つうじょう、MS-DOSでシステムコールを利用りようする場合ばあいには「INT 21H」のソフトウェア利用りようするというだい原則げんそくがあるが、「CALL 5H」でもそのまま動作どうさするようになっていた。アセンブラのソースファイルをMS-DOSへ転送てんそう、レジスターの名称めいしょう置換ちかんするだけで動作どうさするプログラムもある。
  • ファイルを削除さくじょすると、ディレクトリエントリの先頭せんとうバイトがE5Hになる。
このE5Hというは、当時とうじフロッピーを物理ぶつりフォーマットするさいまれた由来ゆらいする。つまり、物理ぶつりフォーマット論理ろんりフォーマットする必要ひつようがないように設計せっけいされている。ただし、MS-DOSの場合ばあいFATやブートセクタを必要ひつようがあるため、別途べっと論理ろんりフォーマットが必須ひっすである。

一方いっぽうで、以下いかのような相違そういてん改善かいぜんてん)もある。

  • CP/Mでファイルを削除さくじょするERA (ERASE) コマンドに相当そうとうするMS-DOSのコマンドは、DEL (DELETE) である。ただしERASEという別名べつめい使用しよう可能かのう
  • CP/MのDIRコマンドは、MS-DOSのDIR/Wに相当そうとうする出力しゅつりょく形式けいしきしかない。ファイルの詳細しょうさいるにはSTATコマンドを使つかう。
  • CP/MのRENコマンドは「REN しんファイルめい = きゅうファイルめい」とき、さらにMS-DOSのそれとは引数ひきすう順序じゅんじょぎゃくである。
  • CP/MではファイルのコピーはトランジェントコマンドのPIPを必要ひつようとしたが、MS-DOSでは内部ないぶコマンドのCOPYでおこなえる。引数ひきすう順序じゅんじょもRENコマンドと同様どうようぎゃくになる。
  • CP/Mでは前述ぜんじゅつしたようなフロッピーえにまつわる問題もんだいがあるが、MS-DOSではそのようなことはない。
  • CP/Mではバッチファイル(.SUB)の実行じっこうにはトランジェントコマンドのSUBMITを必要ひつようとしたが、MS-DOSではCOMMAND.COM自身じしんがバッチファイル実行じっこう機能きのうっている。
  • CP/MではCCPなどのOS構成こうせい要素ようそはディスクじょう専用せんよう領域りょういき格納かくのうされるが、MS-DOSではCOMMAND.COMについては通常つうじょうのファイルと同様どうよう方法ほうほう格納かくのうされるようになった。
  • CP/MのディスクI/Oの基本きほん単位たんいは128バイトであり、ファイルサイズも128バイト単位たんいである[52]。これは、標準ひょうじゅんメディアが8インチたん密度みつどフロッピー(セクタサイズ128バイト)だったことによる。一方いっぽう、MS-DOSのディスクI/Oは128/256/512/1024バイトなどの単位たんいおこなえ、ファイルサイズもバイト単位たんいでとることができる。
  • CP/Mのファイルシステムではファイルの配置はいち情報じょうほうがディレクトリと一体化いったいかしており、おおきなファイルがあるとディレクトリエントリをいくつも消費しょうひするという問題もんだいがあったが、MS-DOSではFATとして独立どくりつしている。

また、マイクロソフトがCP/Mけにしていたソフトでは、コマンドラインのスイッチはスラッシュはじまっており(れい: M80 =FOO.MAC /R)、PC DOS/MS-DOS 1.xではこれがOS標準ひょうじゅん書式しょしきとしてがれた。 そのため、PC DOS/MS-DOS 2.xで階層かいそうディレクトリを導入どうにゅうするさいに、UNIXのようにパスめい区切くぎりにスラッシュを使つかうことができず、バックスラッシュ使つかうことになった。 しかし、ASCIIのバックスラッシュはISO 646各国かっこくばんえがみとめられており、たとえば日本にっぽんJIS X 0201ではえん記号きごうになっているため、日本にっぽんのPCではパスめい区切くぎりがえん記号きごう表示ひょうじされることになった。

なお、これはコマンドラインにかぎったはなしであり、MS-DOSのシステムコールやWindows APIにパスめいわた場合ばあいには、コマンドラインスイッチと混同こんどうするおそれがないため、区切くぎりとしてスラッシュもバックスラッシュもける。

CP/MとDOSのソースコード比較ひかく

[編集へんしゅう]

2016ねんに、ザイドマン・コンサルティングのボッブ・ザイドマンは、デジタルリサーチ開発かいはつしたCP/Mとティム・パターソンが開発かいはつし、長年ながねん前者ぜんしゃのコードをもとにしたとうたがわれたDOSのソースコードを比較ひかくし、初版しょはんのDOSのソースコードがCP/Mのソースコードもとにしたかを調しらべた。

DOSとCP/Mのコマンドをくらべると、一致いっちするものはごくわずかである。DOSとOS/8のコマンドのあいだには、DOSとCP/Mのあいだよりも共通きょうつうコマンドがおおくある。当該とうがいコマンドはすべ動作どうさ直接ちょくせつあらわ英単語えいたんごとなることが原因げんいんである。

しかし、りょうOSのシステムコールを分析ぶんせきすると、DOSにあるシステムコールは、あきらかにCP/Mのシステムコール真似まねるものであることがわかる。おな機能きのうあらわおな数字すうじがいくつもあることから、ティム・パターソンがDOSを開発かいはつしたときにCP/Mの説明せつめいしょ参考さんこうにしたことはあきらかである。

ザイドマンの結論けつろんは、DOSはCP/Mのコードを一切いっさいもとにしていないとのことであるものの、システムコールのおおくの部分ぶぶん真似まねられた[53]

現状げんじょう

[編集へんしゅう]

デジタルリサーチは1991ねんノベル買収ばいしゅうされ、さらにカルデラ(2002ねんSCO改称かいしょう)に売却ばいきゃくされた。現在げんざいCP/M資産しさん同社どうしゃ子会社こがいしゃであるリネオ所持しょじしており、その大半たいはん同社どうしゃ許諾きょだくけた「非公式ひこうしきなCP/Mサイト」からダウンロードすることが可能かのうである。

現在げんざい日本にっぽん国内こくないでのCP/Mの商標しょうひょう技術ぎじゅつ少年しょうねん出版しゅっぱん保有ほゆうする[54]

脚注きゃくちゅう

[編集へんしゅう]

注釈ちゅうしゃく

[編集へんしゅう]
  1. ^ 通常つうじょうのコールド・スタートにたいしてこうばれるようになった。
  2. ^ なお、国産こくさんおおく(NEC PCとう)はさら通常つうじょう電源でんげんだんからのさい起動きどうを「コールドリスタート」、CP/Mのリブート相当そうとうさい起動きどうを「ホットリスタート」ともぶ。

出典しゅってん

[編集へんしゅう]
  1. ^ 伏見ふしみ (1982:11)
  2. ^ a b 伏見ふしみ 1982, p. 13.
  3. ^ 伏見ふしみ 1982, p. 19 大方おおかた概念がいねんについて言及げんきゅう
  4. ^ この2しゃ用語ようごはNEC PC-8801シリーズやPC-9801シリーズのリファレンスマニュアルとう機種きしゅによって構成こうせいちが場合ばあいには名称めいしょうことなる場合ばあいがあるので一概いちがい文献ぶんけんめい記載きさいない)に明記めいきされている。
  5. ^ In His Own Words: Gary Kildall”. Remarkable People. コンピュータ歴史れきし博物館はくぶつかん (2016ねん8がつ2にち). 2016ねん12月17にち時点じてんのオリジナルよりアーカイブ2019ねん12月22にち閲覧えつらん
  6. ^ a b Computer Connections: People, Places, and Events in the Evolution of the Personal Computer Industry (Manuscript, part 1). Kildall Family. (2016-08-02). オリジナルの2016-11-17時点じてんにおけるアーカイブ。. https://web.archive.org/web/20161117231531/http://www.computerhistory.org/atchm/computer-history-museum-license-agreement-for-the-kildall-manuscript/ 
  7. ^ The History of CP/M, THE EVOLUTION OF AN INDUSTRY: ONE PERSON'S VIEWPOINT”. Dr. Dobb's Journal. pp. 6–7 (January 1980). 2016ねん11月24にち時点じてんのオリジナルよりアーカイブ2013ねん6がつ3にち閲覧えつらん。 “[…] The first commercial licensing of CP/M took place in 1975 with contracts between Digital Systems英語えいごばん and Omron of America for use in their intelligent terminal, and with Lawrence Livermore Laboratories where CP/M was used to monitor programs in the Octopus network. Little attention was paid to CP/M for about a year. In my spare time, I worked to improve overall facilities […] By this time, CP/M had been adapted for four different controllers. […][ In 1976, Glenn Ewing approached me with a problem: Imsai, Incorporated, for whom Glenn consulted, had shipped a large number of disk subsystems with a promise that an operating system would follow. I was somewhat reluctant to adapt CP/M to yet another controller, and thus the notion of a separated Basic I/O System (BIOS) evolved. In principle, the hardware dependent portions of CP/M were concentrated in the BIOS, thus allowing Glenn, or anyone else, to adapt CP/M to the Imsai equipment. Imsai was subsequently licensed to distribute CP/M version 1.3 which eventually evolved into an operating system called IMDOS英語えいごばん. […]”
  8. ^ CP/M 1.1 or 1.2 BIOS and BDOS for Lawrence Livermore Laboratories, (June 1975), "An excerpt of the BDOS.PLM file header in the PL/M source code of CP/M 1.1 or CP/M 1.2 for Lawrence Livermore Laboratories (LLL):" 
  9. ^ CP/M and Digital Research Inc. (DRI) History”. www.retrotechnology.com (2009ねん1がつ4にち). 2008ねん8がつ20日はつか時点じてんのオリジナルよりアーカイブ2009ねん1がつ28にち閲覧えつらん
  10. ^ “First word on a floppy-disk operating system”. Dr. Dobb's Journal (Menlo Park, CA, USA) 1 (4): 5. (April 1976).  Subtitle: Command language & facilities similar to DECSYSTEM-10.
  11. ^ Digital Research (1978). CP/M. Pacific Grove, CA, USA: デジタルリサーチ. OCLC 221485970. オリジナルの2016-03-23時点じてんにおけるアーカイブ。. https://web.archive.org/web/20160323132843/http://www.worldcat.org/title/ltcpmgt/oclc/221485970 
  12. ^ Erik Sandberg-Diment (May 3, 1983). “Personal Computers: The Operating System in the middle”. ニューヨーク・タイムズ. https://www.nytimes.com/1983/05/03/science/personal-computers-the-operating-system-in-the-middle.html 
  13. ^ a b John Markoff (July 13, 1994). “Gary Kildall, 52, Crucial Player In Computer Development, Dies”. ニューヨーク・タイムズ. https://www.nytimes.com/1994/07/13/obituaries/gary-kildall-52-crucial-player-in-computer-development-dies.html 
  14. ^ a b “State of Microcomputing / Some Horses Running Neck and Neck”. (1981ねん9がつ14にち). pp. 10–12. https://books.google.com/books?id=Mj0EAAAAMBAJ&lpg=PA14&pg=PA10#v=onepage&q&f=true 2019ねん4がつ8にち閲覧えつらん 
  15. ^ “Mainframe makers court third-party vendors for micro software”. InfoWorld英語えいごばん: pp. 21–22. (1982ねん5がつ10日とおか). オリジナルの2015ねん3がつ18にち時点じてんにおけるアーカイブ。. https://web.archive.org/web/20150318064450/https://books.google.com/books?id=bDAEAAAAMBAJ&lpg=PA22&pg=PA21 2015ねん1がつ25にち閲覧えつらん 
  16. ^ a b “The Xerox 820, a CP/M-operated system from Xerox”. InfoWorld: 101–104. (1982-06-14). https://books.google.com/books?id=YDAEAAAAMBAJ&lpg=PA102&pg=PA101 2019ねん3がつ30にち閲覧えつらん. 
  17. ^ da Cruz, Frank (27 April 1984). "New release of KERMIT for CP/M-80". Info-Kermit Digest (Mailing list). Kermit Project, Columbia University. 2016ねん2がつ23にち閲覧えつらん
  18. ^ “Gary Kildall and Collegial Entrepreneurship”. Dr. Dobb's Journal. (1997-04-01). オリジナルの2007-01-24時点じてんにおけるアーカイブ。. https://web.archive.org/web/20070124184442/http://www.ddj.com/184410428 2006ねん11月20にち閲覧えつらん. 
  19. ^ “The Man Behind The Machine? / A PC Exclusive Interview With Software Guru Bill Gates”. PC Magazine英語えいごばん: p. 16. (February 1982). オリジナルの2013ねん5がつ9にち時点じてんにおけるアーカイブ。. https://web.archive.org/web/20130509162040/http://books.google.com/books?id=w_OhaFDePS4C&lpg=RA2-PA18&pg=PA16 2012ねん2がつ17にち閲覧えつらん 
  20. ^ PL/I Language Programmer's Guide”. デジタルリサーチ. 2019ねん12月22にち閲覧えつらん
  21. ^ “IBM PC clone makers shun total compatibility”. InfoWorld英語えいごばん: pp. 79–81. (1984ねん1がつ9にち). オリジナルの2015ねん3がつ16にち時点じてんにおけるアーカイブ。. https://web.archive.org/web/20150316182214/https://books.google.com/books?id=ey4EAAAAMBAJ&lpg=PA14&ots=qxysACmBMb&pg=PA79 2015ねん2がつ4にち閲覧えつらん 
  22. ^ “Zenith Z-100, Epson QX-10, Software Licensing, and the Software Piracy Problem”. BYTE 8 (6): pp. 411. (June 1983). オリジナルの2014ねん6がつ9にち時点じてんにおけるアーカイブ。. https://web.archive.org/web/20140609081942/http://archive.org/stream/byte-magazine-1983-06/1983_06_BYTE_08-06_16-Bit_Designs#page/n411/mode/2up 2013ねん10がつ20日はつか閲覧えつらん 
  23. ^ a b “Kaypro II—a low-priced, 26-pound portable micro”. InfoWorld英語えいごばん: pp. 59. (1982ねん10がつ18にち). オリジナルの2014ねん1がつ1にち時点じてんにおけるアーカイブ。. https://web.archive.org/web/20140101062305/http://books.google.com/books?id=CjAEAAAAMBAJ&lpg=PA59&pg=PA59 2013ねん10がつ22にち閲覧えつらん 
  24. ^ More on Avalon Hill Computer Games on Heath/Zenith platforms”. Armchair Arcade (2012ねん7がつ28にち). 2015ねん7がつ23にち時点じてんのオリジナルよりアーカイブ2015ねん7がつ22にち閲覧えつらん
  25. ^ Gorillas for CP/M” (2015ねん12月1にち). 2016ねん2がつ5にち時点じてんのオリジナルよりアーカイブ2015ねん7がつ22にち閲覧えつらん
  26. ^ “The Osborne 1, Zeke's New Friends, and Spelling Revisited”. BYTE: pp. 212. (April 1982). オリジナルの2013ねん10がつ26にち時点じてんにおけるアーカイブ。. https://web.archive.org/web/20131026185358/http://archive.org/stream/byte-magazine-1982-04/1982_04_BYTE_07-04_Human_Factors_Engineering 2013ねん10がつ19にち閲覧えつらん 
  27. ^ “The CP/M Mode”. The Official Book for the Commodore 128 Personal Computer. Howard W. Sams & Co.英語えいごばん. (1985). p. 98. ISBN 0-672-22456-9. https://archive.org/details/The_Official_Book_for_the_Commodore_128/page/n109 
  28. ^ “Now: A Complete CP/M Pascal for Only $29.95!”. BYTE: 11. (December 1982). オリジナルの2016-07-21時点じてんにおけるアーカイブ。. https://web.archive.org/web/20160721132531/http://archive.org/stream/byte-magazine-1982-12/1982_12_BYTE_07-12_Game_Plan_1982 2016ねん10がつ1にち閲覧えつらん. 
  29. ^ “Ellis Computing”. BYTE: 69. (December 1983). https://archive.org/stream/byte-magazine-1983-12/1983_12_BYTE_08-12_Easy_Software#page/n69/mode/2up. 
  30. ^ “The Kaypro II”. BYTE: pp. 212. (September 1983). オリジナルの2014ねん3がつ2にち時点じてんにおけるアーカイブ。. https://web.archive.org/web/20140302195830/http://archive.org/stream/byte-magazine-1983-09/1983_09_BYTE_08-09_Portable_Computers_in_Depth#page/n221/mode/2up 2013ねん10がつ20日はつか閲覧えつらん 
  31. ^ “3”. The programmer's CP/M handbook. Berkeley, CA: Osborne/McGraw-Hill. (1983). ISBN 0-88134-103-7 
  32. ^ Old-computers.com: The Museum”. 2017ねん10がつ6にち閲覧えつらん
  33. ^ Build the SB-180”. CMP Media. p. 100 (September 1985). 2019ねん6がつ18にち閲覧えつらん
  34. ^ “CP/M Plus, a third, updated version of CP/M”. InfoWorld英語えいごばん 5 (33): 49ff. (1983-08-15). ISSN 0199-6649. 
  35. ^ Radio Shack Computer Catalog RSC-12 page 28”. www.radioshackcomputercatalogs.com. Tandy/Radio Shack. 2016ねん10がつ13にち時点じてんのオリジナルよりアーカイブ2016ねん7がつ6にち閲覧えつらん
  36. ^ Digital Research Source Code”. 2016ねん2がつ5にち時点じてんのオリジナルよりアーカイブ2019ねん12月22にち閲覧えつらん
  37. ^ The complete history of the IBM PC, part two: The DOS empire strikes”. Ars Technica. p. 3 (July 31, 2017). September 8, 2019閲覧えつらん
  38. ^ a b “Running 8-bit software on dual-processor computers”. Electronic Design英語えいごばん: 157. (1982-09-16). オリジナルの2017-08-19時点じてんにおけるアーカイブ。. https://web.archive.org/web/20170819183737/http://archive.computerhistory.org/resources/access/text/2016/12/102762506-05-01-acc.pdf 2017ねん8がつ19にち閲覧えつらん. 
  39. ^ “A DEC on Every Desk?”. BYTE: pp. 104–106. (June 1983). オリジナルの2015ねん1がつ2にち時点じてんにおけるアーカイブ。. https://web.archive.org/web/20150102123537/http://archive.org/stream/byte-magazine-1983-06/1983_06_BYTE_08-06_16-Bit_Designs#page/n105/mode/2up 2015ねん2がつ5にち閲覧えつらん 
  40. ^ M 68 / M 68 MX”. 2016ねん3がつ6にち時点じてんオリジナルよりアーカイブ。2016ねん3がつ6にち閲覧えつらん
  41. ^ Digital Research (1981): XLT86 - 8080 to 8086 Assembly Language Translator - User's Guide Archived 2016-11-18 at the Wayback Machine. Digital Research Inc, Pacific Grove
  42. ^ “New Machines, Networks, and Sundry Software”. BYTE: pp. 46. (March 1984). オリジナルの2015ねん2がつ2にち時点じてんにおけるアーカイブ。. https://web.archive.org/web/20150202232111/http://archive.org/stream/byte-magazine-1984-03/1984_03_BYTE_09-03_Simulation#page/n47/mode/2up 2013ねん10がつ22にち閲覧えつらん 
  43. ^ Walter Isaacson, The Innovators: How a Group of Inventors, Hackers, Geniuses, and Geeks Created the Digital Revolution英語えいごばん (2014, Simon & Schuster, ISBN 978-1476708690), page 358
  44. ^ Mary Bellis, Inventors of the Modern Computer Series, The History of the MS-DOS Operating Systems, Microsoft, Tim Paterson, and Gary Kildall (accessed Sept 9, 2010)
  45. ^ “Baby Blue”. PC: pp. 49. (February 1982). オリジナルの2015ねん3がつ18にち時点じてんにおけるアーカイブ。. https://web.archive.org/web/20150318054554/https://books.google.com/books?id=w_OhaFDePS4C&lpg=RA2-PA50&ots=cWqvhfFKjb&pg=RA2-PA49 2015ねん1がつ4にち閲覧えつらん 
  46. ^ Scott Mace, CP/M Eludes Home Market, InfoWorld, 1984-06-11 page 46
  47. ^ Nancy Groth, Kaypro is retreating on CP/M, InfoWorld英語えいごばん 1986-02-10, page 6
  48. ^ ZCPR - oldcomputers.ddns.org”. 2019ねん12月22にち閲覧えつらん
  49. ^ The Wonderful World of ZCPR3” (November 30, 1987). 2019ねん12月22にち閲覧えつらん
  50. ^ a b Betriebssysteme” (ドイツ). www.robotrontechnik.de (2019ねん1がつ3にち). 2019ねん4がつ27にち時点じてんのオリジナルよりアーカイブ2019ねん4がつ27にち閲覧えつらん
  51. ^ a b c Betriebssystem SCP” (ドイツ). www.robotrontechnik.de (2019ねん1がつ3にち). 2019ねん4がつ27にち時点じてんのオリジナルよりアーカイブ2019ねん4がつ27にち閲覧えつらん
  52. ^ 伏見ふしみ 1982, p. 120.
  53. ^ Bob Zeidman (2016-10-18). “Source Code Comparison of DOS and CP/M” (英語えいご). Journal of Computer and Communications (Scientific Research Publishing) 4 (No.12). doi:10.4236/jcc.2016.412001. https://www.scirp.org/journal/paperinformation.aspx?paperid=71259 2021ねん10がつ3にち閲覧えつらん. 
  54. ^ 株式会社かぶしきがいしゃ技術ぎじゅつ少年しょうねん出版しゅっぱん 会社かいしゃ概要がいよう

参考さんこう文献ぶんけん

[編集へんしゅう]
  • 伏見ふしみ良隆よしたか『パソコンを使つかいこなすためのわかるCP/M入門にゅうもんまことぶんどう新光しんこうしゃ、1982ねんISBN 4-416-18212-0 

関連かんれん項目こうもく

[編集へんしゅう]

外部がいぶリンク

[編集へんしゅう]