歴史
86-DOS
86-DOSは、Intel 8086ベースのコンピューターキット用にSeattle Computer Products(SCP)によって開発および販売されている製造中止されたオペレーティングシステムです。最初はQDOS ( Quick and Dirty Operating System )として知られていましたが、SCPが1980年にオペレーティングシステムのライセンスを開始すると、名前は86-DOSに変更されました。
86-DOSには、Digital ResearchのCP / Mオペレーティングシステムを模倣したコマンド構造とアプリケーションプログラミングインターフェイスがあり、後者からプログラムを簡単に移植できました。システムはライセンス供与された後、Microsoftによって購入され、MS-DOSおよびPC DOSとしてさらに開発されました。
歴史
起源
86-DOSは、1979年6月にデモンストレーションされ、11月に出荷されたSeattle Computer Products 8086コンピュータキットの販売がオペレーティングシステムの不在により衰退したために作成されました。 SCPがボードで販売できる唯一のソフトウェアは、MicrosoftのSCPのハードウェアのプロトタイプで開発されたMicrosoftのスタンドアロンディスクBASIC-86でした。 SCPは、Digital Researchが発表した8086バージョンのCP / Mを提供したかったのですが、そのリリース日は不明でした。 Digital Researchがハードウェア開発に遅れを取ったのはこれが初めてではありません。 2年前、CP / Mを新しいフロッピーディスク形式とハードディスクドライブに適応させるのが遅かった。 1980年4月、SCPは24歳のティムパターソンにCP / M-86の代替品を開発するよう割り当てました。
CP / M-80マニュアルをリファレンスとして使用パターソンは、アーキテクチャとインターフェイスを86-DOSでモデル化しましたが、Intelの8086 16ビットプロセッサの要件を満たすように適合し、多くの既存の8ビットCP / Mプログラム。それらをDOSまたはCP / M-86に移植することはほぼ同じくらい難しく、CP / Mが設計されたIntel 8080プロセッサからのソフトウェアを自動的に変換するために使用できる方法をIntelがすでに公開しているという事実によって緩和されました、新しい8086命令セットに。同時に、彼はCP / Mの欠点として見たものに対処するために、多くの変更と機能強化を行いました。 CP / Mは、ファイルシステム情報をメモリにキャッシュして速度を向上させましたが、これを行うには、ユーザーがディスクを削除する前にディスクを強制的に更新する必要がありました。ユーザーが忘れた場合、ディスクが破損します。 Patersonは、操作ごとにディスクを更新するという、より安全で遅いアプローチを採用しました。ファイルをコピーしたCP / MのPIPコマンドは、プリンターや通信ポートなどのハードウェアデバイスを参照するいくつかの特別なファイル名をサポートしていました。 Patersonは、これらの名前をデバイスファイルとしてオペレーティングシステムに組み込み、どのプログラムでも使用できるようにしました。彼は自分のコピープログラムに、より直感的なCOPYという名前を付けました。 CP / Mのファイルシステムを実装するのではなく、Microsoft Standalone Disk BASIC-86のファイルアロケーションテーブル(FAT)ファイルシステムを使用しました。
1980年半ばまでに、SCPは86-DOSを宣伝し、価格は1290ドルの8086ボードの所有者は95ドル、その他は195ドルでした。 CP / MディスクからZilog Z80ソースコードを読み取り、8086ソースコードに変換するソフトウェアの機能を宣伝し、8086バイナリを生成するのに「マイナーハンド修正と最適化」のみが必要であると約束しました。
IBMの関心
1980年10月、IBMは元のIBMパーソナルコンピューターになるものを開発していました。 CP / Mは当時使用されていた中で最も人気のあるオペレーティングシステムであり、IBMは競争するためにCP / Mが必要だと感じました。 IBMの代表者はDigital Researchを訪問し、Digital Researchのライセンス担当者であるDorothy Kildall(néeMcEwen)とライセンスについて話し合いました。DorothyKildallはIBMの秘密保持契約への署名をためらっていました。 NDAは後に承認されましたが、Digital Researchは、通常のロイヤリティベースのプランを主張して、IBMが販売できる数のコピーと引き換えに、IBMの25万ドルの提案を受け入れません。 IBMとビル・ゲイツとのその後の議論で、ゲイツは86-DOSの存在に言及し、IBMの代表者であるジャック・サムズは、そのライセンスを取得するように言った。
PC DOSの作成
Microsoftは、1980年12月にSeattle Computer Productsから86-DOSの非独占ライセンスを25,000ドルで購入しました。 1981年5月、Tim Patersonを雇い、システムをIBM PCに移植しました。IBMPCは、低速で安価なIntel 8088プロセッサを使用し、独自の周辺機器ファミリを備えていました。 IBMは、開発を毎日監視し、製品を受け入れてユーザーマニュアルを作成する前に300件を超える変更要求を提出しました。
PCがリリースされる1か月前の1981年7月、MicrosoftはSCPから86-DOSのすべての権利を50,000ドルで購入しました。 IBMの主要な基準を満たしました:CP / Mのように見え、既存の8ビットCP / Mプログラムをその下で実行するように簡単に調整できました。特に、ソースファイルを8080から8086マシン命令に変換するTRANSコマンドのおかげです。 Microsoftは86-DOSをIBMにライセンスし、PC DOS 1.0になりました。このライセンスにより、MicrosoftはDOSを他社に販売することも許可されました。取引は見事に成功し、SCPは後にMicrosoftがオペレーティングシステムを安価に購入するためにIBMとの関係を隠したと法廷で主張しました。 SCPは最終的に100万ドルの和解金を受け取りました。
知的財産紛争
Digital Researchの創設者であるGary KildallがPC DOSを調べ、CP / Mのプログラミングインターフェイスと重複していることを発見したとき、彼はIBMを訴えたかったのです。ただし、Digital Researchの弁護士は、関連する法律が訴えるほど明確であるとは考えていませんでした。それにもかかわらず、KildallはIBMと対決し、責任の解放と引き換えにPCでCP / M-86を提供するよう説得しました。
2つのシステムの類似性については、論争が続いています。おそらく最もセンセーショナルな主張は、Jerry Pournelleから来たものです。JerryPournelleは、Kildallの名前を表示するコマンドをDOSに入力することで、DOSがCP / Mコードを含むことをKildallが個人的に実証したと述べましたが、物語。 Kildallに関する2004年の本は、そのような暗号化されたメッセージを使用して、他のメーカーがCP / Mをコピーしたことを実証したが、DOSでメッセージを見つけたとは述べていません。代わりに、Kildallの回顧録(本の情報源)は、よく知られているインターフェイスの類似性を指摘していました。 Patersonは、86-DOSソフトウェアは彼のオリジナルの作品であり、CP / Mコードの記述中にそれを参照または使用することを拒否したと主張しています。 2004年の本が登場した後、彼は名誉am損で著者と出版社を訴えました。裁判所は、本の主張が研究に基づいた意見であるか、証明可能に虚偽ではなかったため、名誉judgment損は発生していないと略式判決で裁定しました。
バージョン
QDOS 0.10 | 1980-07 | OSのほぼ半分のバージョン。 PatersonによるMicrosoftのFATファイルシステムの派生の元の形式を実装しました。 Standalone Disk BASIC-86で見つかった以前の8ビットFATファイルシステムとは対照的に、この亜種はすでに12ビットテーブル要素をサポートし、FATの数を3から2に減らし、一部の予約済みクラスター値のセマンティクスを再定義し、ルートディレクトリがFATとデータ領域の間に配置されるように、ディスクレイアウトを変更しました。 Patersonは、CP / Mスタイルの8.3ファイル名とファイル制御ブロックをサポートするために、以前の9文字の長さ制限を11文字に増やしました。ただし、この亜種は依然として16バイトのディレクトリエントリを使用しているため、後にMS-DOS / PC DOSでFAT12として知られるようになったものとは互換性がありません。すでに出荷されている可能性があります。 |
---|---|---|
QDOS 0.11 | 1980-08 | バグ修正の出荷。 |
QDOS / 86-DOS 0.2 | 1980-08 | EDLINが追加されました。 1980年8月までに86-DOSに名前が変更されました。 |
86-DOS 0.3 | 1980年11月15日 | SCPからマイクロソフトにライセンスされた最初のバージョン。 |
86-DOS 0.33 | 1980-12 | SCPによって86-DOSとしてOEMおよびMicrosoftに配布された最初のバージョン。 |
86-DOS 0.34 | 1980年12月29日 | Microsoftを含むSCP OEMのクリーンアップリリース。 |
86-DOS 0.42 | 1981年2月25日 | IBMの間接的な要求(Microsoftを介して)で、ディレクトリエントリのサイズが16バイトから32バイト(MDOS / MIDASに類似)に変更され、最終変更日付スタンプ(2バイト)および理論上のファイルサイズが16を超えるサポートが追加されました。 MB(4バイト)。これにより、後のMS-DOS / PC DOSでFAT12として知られるようになったものと論理的に完全に互換性のある12ビットFATファイルシステムの最も早い形式を実装します。 86-DOSは、少なくともMS-DOS 1.14までの古いバージョンの86-DOSで書き込まれたボリュームを読み取る機能を保持していましたが、汎用MS-DOS 1.20 / PC DOS 1.1以降ではサポートされなくなりました。 |
86-DOS 0.56 | 1981年3月23日 | 1981-01-15以降に要求されたディスクブロッキング/デブロッキングのサポート。 |
86-DOS 0.60 | 1981年3月27日 | 86-DOS 1.00にあるDOSIO.ASMファイルには、「86-DOSバージョン0.60以降のI / Oシステム」であることが記載されています。 |
86-DOS 0.74 | 1981年4月15日 | デバイスファイルを追加しました。 |
86-DOS 0.75 | 1981年4月17日 | バグ修正。 |
86-DOS 0.76 | 1981年4月23日 | バグ修正。 |
86-DOS 0.80 | 1981年4月27日 | システムコールを追加しました。 |
86-DOS 1.00 | 1981年4月28日 | 変更されたシステムコール。 |
86-DOS 1.01 | 1981年5月12日 | バグ修正。 |
86-DOS 1.10 | 1981年7月21日 | Microsoftが購入し、1981-07-27にMS-DOSに名前を変更したため、86-DOSとMS-DOSのバージョン番号が完全に一致する最後のバージョンになりました。 「非表示」属性を実装することが知られている最初のバージョン。 |
86-DOS 1.14 | 1981-10 / 11 | Tim Patersonによると、PC DOS 1.0は基本的に86-DOS 1.14を反映しており、他の情報源は1981-07-21の時点でPC DOS 1.0とMS-DOS / 86-DOS 1.10の一致を発見しそうです。 |
特徴
コマンド
次のコマンドのリストは、86-DOSでサポートされています。
内部コマンド- クリア
- コピー
- DIR
- 消去
- リネーム
- タイプ
- ASM
- CHKDSK
- デバッグ
- エドリン
- HEX2BIN
- MAKRDCPM
- RDCPM
- SYS
- トランス
1982年までにIBMがMicrosoftにハードディスクドライブと互換性のあるDOSのバージョンをリリースするように依頼したとき、PC DOS 2.0はDOSのほぼ完全な書き換えであったため、1983年3月までに86-DOSはほとんど残っていませんでした。 86-DOSの最も永続的な要素は、1991年6月のMS-DOS 5.0のリリースまでMicrosoftバージョンのDOSで提供された唯一のエディターであるMS-DOS 5.0というテキストベースのユーザーインターフェイスエディターであるEDLINでした。 QBasicに基づくDOSエディター。 EDLINは、Windows 10(32ビット)までのエミュレートされたDOS環境があるため、現在のマシンでも使用できます。
サポートされているディスク形式
Seattle Computer Productsの86-DOSは、Cromemco、Tarbell ElectronicsおよびNorth Star Computersが製造したS-100フロッピーディスクコントローラハードウェア上の8インチおよび5.25インチフロッピーディスクドライブの範囲でFAT12ファイルシステムをサポートしていました。 Western Digital FD1771ベースのCromemcoおよびTarbellボードは、片面、単一密度のソフトセクタドライブをサポートしていました。 FD1791を利用したTarbell倍密度ボードもサポートされました。その後、SCPはDisk Masterシリーズのような高度なフロッピーディスクコントローラを提供しました。
86-DOSは、後のDOSバージョンのように、FAT IDバイトまたはBIOSパラメーターブロック(BPB)を利用して、異なるメディア形式を区別しませんでした。代わりに、コンパイル時に異なるドライブ文字がハードコーディングされ、異なる物理フロッピードライブ、サイド、密度に関連付けられました。つまり、タイプに応じて、ディスクを特定のドライブ文字でアドレス指定して正しく認識させる必要がありました。この概念は、DOS 3.x以降のバージョンでDRIVER.SYSによってより柔軟にエミュレートされました。
86-DOS 12ビットFAT形式の2つの論理形式バリアントが存在しました。16バイトのディレクトリエントリを持つ元の形式と、32バイトのディレクトリエントリを持つ後の形式(86-DOS 0.42以降)です。 2番目のものだけが、MS-DOSおよびPC DOSのリリース以降に知られているFAT12形式と論理的に互換性があります。 MS-DOSは、そのようなボリュームをマウントできません。BPBがない場合、FATファイルシステムの設計のFATエントリでFAT IDを取得するためにフォールバックし、#CLUST 0cluster 0はハードコーディングされたディスクジオメトリプロファイルから選択します。通常は両方のシステムでサポートされるMS-DOSでフォーマットされたボリュームのすべてのフォーマットで、通常は他のすべてのフォーマットでも、このIDは論理セクター1の最初のバイト、つまり物理シリンダーを持つボリュームの2番目のセクターにあります-ヘッドセクター(CHS)アドレス0/0/2または論理ブロックアドレッシング(LBA)アドレス1 — MS-DOSは単一の予約済みセクター、ブートセクターを想定しているため。 86-DOSでは、予約済みセクターの領域が非常に大きく(全トラック)、したがって、典型的なFAT ID 0xFE(および0xFF)はディスク上の他の場所にあるため、MS-DOSがそれを取得することはできません。 、それに関連付けられたハードコードされたディスクプロファイルは、86-DOSの下のこの大きな予約済みセクター領域を考慮しません。
CP / M 2フロッピーメディアは、RDCPMを介して読み取り可能でした。
86-DOSは固定ディスクの特定のサポートを提供しませんでしたが、86-DOSのサードパーティソリューションとそれに対応するI / Oシステム拡張機能は、Tallgrass Technologiesなどの企業から入手でき、スーパーフロッピーと同様にハードディスクにアクセスできました。 FAT12ファイルシステムのサイズ制限内。
サイズ | 8インチ | 8インチ | 8インチ | 5.25インチ | 5.25インチ |
---|---|---|---|---|---|
密度 | SD | DD | DD | SD | SD |
変調 | FM | MFM | MFM | FM | FM |
フォーマット済み容量(KB) | 250.25 | 616 | 1232 | 90 | 87.5 |
シリンダー(CHS) | 77 | 77 | 77 | 40 | 35 |
物理セクター/トラック | 26 | 8 | 8 | 18 | 10 |
ヘッド数 | 1 | 1 | 2 | 1 | 1 |
バイトペイロード/物理セクター | 128 | 1024 | 1024 | 128 | 256 |
バイト/論理セクター | 128 | 1024 | 1024 | 128 | 256 |
論理セクター/クラスター | 4 | 1 | 1 | 2 | 1 |
予約済みの論理セクター | 52(2トラック) | 1 | 1 | 54(3トラック) | 30(3トラック) |
FATの数 | 2 | 2 | 2 | 2 | 2 |
ルートディレクトリエントリ (á32バイト、 86-DOS 0.42以降のみ) | 64(16セクター) | 96(3セクター) | 128(4セクター) | 64(16セクター) | 64(8セクター) |
ルートディレクトリエントリ (á16バイト) | 64 | ? | ? | 64 | なし |
合計論理セクター | 2002 | 616 | 1232 | 720 | 350 |
論理セクター/ FAT | 6? | ? | ? | ? | ? |
非表示のセクター | 0 | 0 | 0 | 0 | 0 |
論理セクターの順序 | ? | ? | ? | ? | ? |
セクターマッピング | セクター+ /トラック+ | セクター+ /トラック+ | セクター+ /ヘッド+ /トラック+ | セクター+ /トラック+ | セクター+ /トラック+ |
最初の物理セクター | 1 | 1 | 1 | 1 | 0 |
セクター指数 | 柔らかい | 柔らかい | 柔らかい | 柔らかい | ハード(10 + 1) |
コントローラーの種類 | Cromemco / Tarbell FD1771 | ターベルFD1791 | ターベルFD1791 | クロメンコFD1771 | 北極星 |
FAT ID | いいえ(FEh) | いいえ(FEh) | いいえ(FEh) | いいえ(FEh) | いいえ(FEh) |
BPBの存在 | 番号 | 番号 | 番号 | 番号 | 番号 |
MS-DOS 1.2xおよび2.xのさまざまなOEMバージョンは、FAT12フロッピーディスクフォーマットで同様の多くの8.0をサポートしていましたが、86-DOSでサポートされているものとは異なります。
SCPコントローラーまたはCromemco 16FDCコントローラーを搭載したSCP Gazelleコンピューター用にMicrosoftのTim Patersonが開発した最新バージョンのMS-DOS 1.25(1982年3月)でサポートされているディスク形式(デフォルトでは、このバージョンはMS-DOS互換単一の予約セクターを持つ形式の8.0のバリアントですが、0.42以降のディスク形式の以前のSCP 86-DOS 8.0のフロッピーを読み書きするための2つの追加ドライブ文字を提供するように構築できます):
サイズ | 8インチ | 8インチ | 8インチ | 8インチ | 8インチ | 5.25インチ | 5.25インチ | 5.25インチ |
---|---|---|---|---|---|---|---|---|
密度 | SD | SD | DD | DD | DD | SD | DD | DD |
変調 | FM | FM | MFM | MFM | MFM | FM | MFM | MFM |
フォーマット済み容量(KB) | 250.25(SCP) | 250.25(MS) | 616 | 1232(SCP) | 1232(MS) | 90 | 160 | 320 |
シリンダー(CHS) | 77 | 77 | 77 | 77 | 77 | 40 | 40 | 40 |
物理セクター/トラック | 26 | 26 | 8 | 8 | 8 | 18 | 8 | 8 |
ヘッド数 | 1 | 1 | 1 | 2 | 2 | 1 | 1 | 2 |
バイトペイロード/物理セクター | 128 | 128 | 1024 | 1024 | 1024 | 128 | 512 | 512 |
バイト/論理セクター | 128 | 128 | 1024 | 1024 | 1024 | 128 | 512 | 512 |
論理セクター/クラスター | 4 | 4 | 1 | 1 | 1 | 2 | 1 | 2 |
予約済みの論理セクター | 52(2トラック) | 1 | 1 | 1 | 1 | 54(3トラック) | 1 | 1 |
FATの数 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
ルートディレクトリエントリ (á32バイト) | 64(16セクター) | 68(17セクター) | 96(3セクター) | 128(4セクター) | 192(6セクター) | 64(16セクター) | 64(4セクター) | 112(7セクター) |
合計論理セクター | 2002 | 2002 | 616 | 1232 | 1232 | 720 | 320 | 640 |
論理セクター/ FAT | 6? | 6 | 1 | ? | 2 | 4 | 1 | 1 |
非表示のセクター | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
クラスターの総数 | ? | 497 | ? | ? | 1227 | ? | 313 | 315 |
論理セクターの順序 | ? | ? | ? | ? | ? | ? | ? | ? |
セクターマッピング | セクター+ /トラック+ | セクター+ /トラック+ | セクター+ /トラック+ | セクター+ /ヘッド+ /トラック+ | セクター+ /ヘッド+ /トラック+ | セクター+ /トラック+ | セクター+ /トラック+ | セクター+ /ヘッド+ /トラック+ |
最初の物理セクター | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
セクター指数 | 柔らかい | 柔らかい | 柔らかい | 柔らかい | 柔らかい | 柔らかい | 柔らかい | 柔らかい |
コントローラーの種類 | クロメンコ/ターベルFD1771 | クロメンコ/ターベルFD1771 | ターベルFD1791 / FD1793 | ターベルFD1791 / FD1793 | ターベルFD1791 / FD1793 | Cromemco 4FDC FD1771 | SCP /クロメンコ16FDC | SCP /クロメンコ16FDC |
FAT ID | FEh | FEh | FEh | FEh | FEh | FEh | FEh | FFh |
BPBの存在 | 番号 | 番号 | 番号 | 番号 | 番号 | 番号 | 番号 | 番号 |
1984年、シアトルコンピュータープロダクツは、SCP-500ディスクマスターフロッピーコントローラーを備えたSCP S-100コンピューター用のMS-DOS 2.0のOEMバージョンをリリースしました。 DD / 1S(180 KB)およびDD / 2S(360 KB)FAT12形式で5.25のサポートを追加し、古い形式もサポートしましたが、MS-DOS 1.25と比較して一部のパラメーターが変更されている可能性があります。