
IBMBIO.COM( COM ファイルのリストの先頭) IBM PC DOS 1.0 の場合。IBMBIO.COM は多くのDOSオペレーティングシステムのシステムファイルです。システム初期化コードとすべての組み込みデバイスドライバが含まれています。また、DOS カーネル ( IBMDOS.COM ) とオプションの事前ロード可能なシステムコンポーネント (ディスク圧縮やセキュリティ用など) をロードし、[1] [2]ブートメニューを表示し、構成ファイル ( CONFIG.SYSなど) を処理し、シェル ( COMMAND.COMなど) を起動します。
このファイルは、 IBMのPC DOS(すべてのバージョン)およびDR DOS 5.0以降( DR-DOS 7.06を除く)の一部です。[2] [3]これは、 MS-DOSのIO.SYSファイル、またはDR DOS 3.31から3.41のDRBIOS.SYSファイルと同じ目的を果たします。[2] [3](一部のDOSアプリケーションとの互換性のため、IBMBIO.COMファイル名はIBMバージョンのOS/2 1.0でも短期間使用されていました。これは、Microsoftで使用されるOS2BIO.COMファイルに似ていました。)
このファイルは、起動可能なFATフォーマットのドライブ/パーティション (通常は C:\)のルート ディレクトリにあり、通常はシステム、隠し、(DOS 2.0 以降では)読み取り専用ファイル属性が設定されています。[4] [5] [6] [2] [3] DR-DOS では、ファイルはオプションでパスワード保護されることもあります。[3] [注 1] PC DOS では、ファイルを移動不可としてマークするためにシステム属性が設定されていますが、この制限は DR-DOS では技術的には必要ありません。 [7] [5] [6] [8] [3] IBMBIO.COM は、真のCOMスタイルのプログラムではなく実行可能コードを含むバイナリ イメージであるため、ファイルがコマンド プロンプトで誤って呼び出されてクラッシュするのを防ぐために隠し属性が設定されています。 [5] DR-DOS 7.02以降では、この作業は不要になりました。これらのシステムでは、ファイルはファットバイナリであり、バージョン情報を表示し、ブートセクターによってロードされていない場合は正常に終了する小さなCOMスタイルのスタブも含まれているためです。[2] [5] [9]
PC の 起動シーケンスでは、ブート ボリュームの最初のセクターにボリューム ブート レコード(VBR)と呼ばれるブート ローダーが含まれており、メモリに読み込まれて実行されます。
これが 3.3 より前の PC DOS の VBR であれば、両方のシステム ファイルをメモリに自動的にロードします。[4] [10] PC DOS VBR は FAT ファイル システムをマウントできないため、システム ファイルはディスクの最初のディレクトリ エントリに格納され、連続するセクターに格納されたディスク上の固定された物理位置に配置されなければなりません。この条件はSYSユーティリティが処理する必要があります。[4] [10]
ロードされたブート セクターがPC DOS 3.3 (またはそれ以降) の VBR である場合、要件は若干緩和されます。システム ファイルは依然としてディスクの最初の 2 つのルート ディレクトリ エントリに格納する必要がありますが、VBR は最初のエントリのみを使用して IBMBIO.COM の最初の 3 つのセクターをメモリにロードし、制御をそこに転送します。[10] [注 2] IBMBIO.COM のこの部分には、次のようなやや大きなブート ローダーが含まれます。
- 残りの部分をメモリにロードします。PC DOS 5.0より前では、システム ファイルはディスク上の固定された物理位置に格納され、連続したセクターに格納される必要がありました。PC DOS 5.0 (およびそれ以降) では、この要件は IBMBIO.COM の最初の 3 つのセクターのみに削減されました。[10] [nb 2]
- DOS カーネルをロードします。カーネルはIBMDOS.COMに保存されています。
- 各デフォルトデバイス ドライバー(コンソール、ディスク、シリアル ポートなど)を順番に初期化します。この時点で、デフォルトのデバイスが使用可能になります。
- DOS カーネルの初期化ルーチンを呼び出します。
DR DOS 5.0以降では、最初のステップは省略されます。DR-DOS VBR は FAT ファイル システムをマウントし、ルート ディレクトリの任意の場所で IBMBIO.COM (または DRBIOS.SYS) ファイルを見つけて、それを自動的にメモリにロードできるためです。[7] [2] [5] [11] [8] [3] [nb 3] [nb 4]ブート セクタによってロードされる IBMBIO.COM ファイルのファイル名は、必ずしも最初のルート ディレクトリ エントリではなく、ブート セクタに格納されます。同様に、IBMBIO.COM によってロードされる IBMDOS.COM ファイルのファイル名は、必ずしもディスクの 2 番目のディレクトリ エントリではなく、IBMBIO.COM 自体に格納されます。[12] [2] [5] [3]また、VBRのIBMBIO.COMローダーと同様に、IBMBIO.COMのIBMDOS.COMローダーもファイルシステムを基本的にマウントできるため、システムファイルを最初の2つのディレクトリエントリに格納したり、固定された物理位置に常駐させたり、連続したセクターに格納したりする必要はありません。その結果、システム属性を設定する必要もなくなりました。[7] [5] [6] [8] [3]代わりに、DR-DOSブートセクターがすでにディスク上に存在する場合は、システムファイルをディスクにコピーするだけで済みます(SYSなし)。[5] [6] [2] [8] [3]
マイクロソフトは、このコンポーネントをI/Oシステムと呼ぶこともありますが、[4] [13] [14]一般的にはDOS BIOS(基本入出力システムのDOS関連部分)として知られています。 BIOSという用語は、もともと1975年にGary KildallがCP/M用に作った造語ですが、[15] [16] [17] [18] [19] [20]、Digital Research、IBM、マイクロソフトなど他の多くのオペレーティングシステムでも同様のコンポーネントやレイヤーを説明するために使用されています。
より一般的な意味では、一部のベンダーは、この部分をDOSやCP/MなどのオペレーティングシステムのRAM BIOSと呼び、マシンに組み込まれたROM BIOSと対比しています。[21]
参照
注記
- ^ 読み取り専用属性を設定することに加えて、 DR-DOSではPASSWORD コマンドまたは一部のバージョンのSYSコマンドで利用可能なオプションを使用して、システム ファイルをオプションでパスワード保護できます。[a]ブート ローダーは、ファイルの読み込み中に設定されたファイル パスワードを無視しますが、システムが起動すると、パスワードを知らないとシステム ファイルにアクセスできなくなるため、システム ファイルを誤って削除または変更しようとする試みからさらに保護されます。(このファイル パスワード機能は、特定の構成で DR-DOS によって提供されるボリューム パスワードまたはブート パスワードとは独立しています。)
/R[:password] - ^ ab PC DOS 5.0 のマニュアルには、システム ファイルが連続している必要がなくなったと誤って記載されています。ただし、ブート プロセスが機能するには、システム ファイルが最初の 2 つのディレクトリ エントリを占める必要があり、IBMBIO.COM の最初の 3 つのセクターが連続して保存されている必要があります。[b] SYS は引き続きこれらの要件に対応します。
- ^ DR-DOS VBR がIBMBIO.COM ファイル全体をメモリにロードするという規則には例外が 1 つあります。IBMBIO.COM ファイルが 29 KB より大きい場合、ファイル全体をメモリにロードしようとすると、ブート ローダーがスタックを上書きし、ディスク パラメーター テーブル (DPT/FDPB) が再配置されます。したがって、 DR-DOS 7.07 VBR はファイルの最初の 29 KB のみをメモリにロードし、IBMBIO.COM の最初の部分に埋め込まれた別のローダーがこの状態をチェックし、必要に応じてファイルの残りの部分をメモリにロードします。これにより互換性の問題は発生しません。内部圧縮[c] [d]により、このローダーのない以前のバージョンでは IBMBIO.COM のサイズがこの制限を超えることはありませんでした。デュアル エントリ構造と組み合わせると、 PC DOS VBRでシステムをロードすることもできます。PC DOS VBR はファイルの最初の 3 つのセクターのみをメモリにロードします。
- ^ CHSを介してFAT12およびFAT16ファイル システムをマウントし、ブート ファイル IBMBIO.COM を検索して、固定位置および連続するセクターに格納されていない場合でも、それを全体としてメモリにロードするDR-DOSボリュームブート レコードの拡張機能[e] [f] [g] [h] [i] [j]は、 8088 / 8086プロセッサのみで 32 KB メモリ システムの最小要件を維持し、より大きなセクター サイズとマルチ ブート機能を引き続きサポートしながら、アセンブリ言語7.05までの従来のコード最適化手法を使用して引き続き含めることができます。[f]代替ブートユニット、LBA、FAT32、およびDR-DOSに加えてPC DOS / MS-DOSもブートするオプション機能をさらに追加するために、 7.07セクターは、自己書き換えコード、機械語でのオペコードレベルのプログラミング、(文書化された)副作用の制御された利用、マルチレベルのデータ/コードの重複、およびアルゴリズムの折りたたみ手法に頼らなければなりませんでした。それでも、512バイトの単一物理セクター内のコードに使用可能な423バイトにすべてを詰め込む必要がありました。これは、マルチブートおよびチェーンロードのシナリオで他のオペレーティングシステムとの下位互換性と相互互換性を確保するための要件でした。
SYS /DR:ext
参考文献
- ^ シュルマン、アンドリュー;ブラウン、ラルフ D .; マクシー、デビッド; ミシェルズ、レイモンド J.; カイル、ジム (1994) [1993 年 11 月]。Undocumented DOS: 予約済みの MS-DOS 関数とデータ構造のプログラマー ガイド - MS-DOS 6、Novell DOS、Windows 3.1 を含むように拡張(第 2 版)。マサチューセッツ州レディング: Addison Wesley。ISBN 0-201-63287-X。(xviii+856+vi ページ、3.5 インチフロッピー) 正誤表: [1][2]
- ^ アブデフ Paul, Matthias R. (1997-10-02) [1997-09-29]. 「Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM - README.TXT および BOOT.TXT - OpenDOS の起動方法に関する簡単な説明」。2003-10-04 にオリジナルからアーカイブ。2009-03-29に取得。[3]
- ^ abcdefghi Paul, Matthias R. (2017-08-14) [2017-08-07]. 「OmniBook 300 の拡張モードでの Windows 3.1 の継続的な物語」MoHPC - HP 電卓博物館。 2017-10-06 にオリジナルからアーカイブ。 2017-10-06に取得。
[…] DR-DOS
FDISK は
ディスクをパーティション分割するだけでなく、新しく作成されたボリュームをフォーマットしてブート セクターを一度に初期化できるため、間違ったボリュームを誤って台無しにするリスクがなく、
FORMAT
/S や
SYS
も必要ありません。その後、システム ファイルを含む残りの DR-DOS ファイルをコピーするだけで済みます。 MS-DOS/PC DOS とは対照的に、DR-DOS には「スマート」ブート セクターがあり、システム ファイルが特定の場所に配置されていることを期待するのではなく、実際にファイル システムを「マウント」してルート ディレクトリ内のシステム ファイルを検索して読み込むということを知っておくことが重要です。物理的には、システム ファイルはどこにでも配置でき、断片化することもできます。[…]
- ^ abcd ズビコウスキー、マーク;アレン、ポール;バルマー、スティーブ; ボーマン、ルーベン; ボーマン、ロブ; バトラー、ジョン; キャロル、チャック; チェンバレン、マーク; チェル、デビッド; コリー、マイク; コートニー、マイク; ドライフース、マイク; ダンカン、レイチェル; エックハート、カート; エリック、エバンス; ファーマー、リック; ゲイツ、ビル; ギアリー、マイケル; グリフィン、ボブ; ホガース、ダグ; ジョンソン、ジェームズ W.; カーマーニ、カアメル; キング、エイドリアン; コック、リード; ランドウスキー、ジェームズ; ラーソン、クリス; レノン、トーマス; リプキー、ダン; マクドナルド、マーク;マッキニー、ブルース; マーティン、パスカル; マザーズ、エステル; マシューズ、ボブ; メリン、デビッド; マーゲンタイム、チャールズ; ネビン、ランディ; ニューウェル、ダン; ニューウェル、タニ; Norris, David; O'Leary, Mike; O'Rear, Bob ; Olsson, Mike; Osterman, Larry; Ostling, Ridge; Pai, Sunil; Paterson, Tim ; Perez, Gary; Peters, Chris; Petzold, Charles ; Pollock, John; Reynolds, Aaron ; Rubin, Darryl; Ryan, Ralph; Schulmeisters, Karl; Shah, Rajen; Shaw, Barry; Short, Anthony; Slivka, Ben; Smirl, Jon; Stillmaker, Betty; Stoddard, John; Tillman, Dennis; Whitten, Greg; Yount, Natalie; Zeck, Steve (1988)。「技術アドバイザー」。MS -DOS 百科事典: バージョン 1.0 から 3.2。Duncan , Ray; Bostwick, Steve; Burgoyne, Keith; Byers, Robert A.;ホーガン、トム; カイル、ジム;レトウィン、ゴードン;ペッツォルト、チャールズ; ラビノウィッツ、チップ; トムリン、ジム; ウィルトン、リチャード; ウォルバートン、ヴァン;ウォン、ウィリアム; ウッドコック、ジョアン(完全改訂版)。レドモンド、ワシントン州、米国:マイクロソフトプレス。ISBN 1-55615-049-0. LCCN 87-21452. OCLC 16581341.(xix+1570ページ; 26cm) (注: この版は、撤回された1986年の初版を別の著者チームによって大幅に改訂した後、1988年に出版されました。[4])
- ^ アブデフ ポール、マティアス R. (1997-07-30) [1994-05-01]。 NWDOS-TIP — Novell DOS 7 に関するヒントとコツ、詳細、バグ、回避策を含む Blick です。 MPDOSTIP (ドイツ語) (第 3 版)。 2016-11-05 のオリジナルからアーカイブ。2012 年 1 月 11 日に取得。(注:これはNovell DOS 7とOpenDOS 7.01
NWDOSTIP.TXTに関する包括的な作業であり、多くの文書化されていない機能と内部の説明が含まれています。これは、2001 年まで維持され、当時多くのサイトで配布されていた著者のさらに大規模なコレクションの一部です。提供されたリンクは、HTML に変換された古いバージョンのファイルを指しています。) [5]MPDOSTIP.ZIP - ^ abcd ポール、マティアス R. (2001-04-09)。NWDOS-TIP — Novell DOS 7 に関するヒントとコツ、詳細、バグ、回避策を含む Blick です。 MPDOSTIP (ドイツ語) (第 3 版)。
- ^ abc Rosch, Winn L. (1991-02-12). 「DR DOS 5.0 - より優れたオペレーティング システム?」PC Magazine . 第 10 巻、第 3 号。pp. 241–246, 257, 264, 266。2019-07-25 にオリジナルからアーカイブ。2019-07-26に取得。
[…]
DR DOS 5.0では
SYS
が改良された
ため、起動可能にしたいディスクの最初のクラスターを空けておく必要はありません。DR DOS システム ファイルはディスク上の任意の場所に配置できるため、十分な空き領域があるディスクであればどれでもシステムを起動するように設定できます。 […]
(注: ソースではこれをSYSユーティリティのせいにしていますが、実際はブート セクター内の高度なブートストラップ ローダーの機能です。SYS は単にこのセクターをディスクに植え付けるだけです。)
- ^ ABCD Paul, Matthias R. (2002-02-20). 「コピーできません」。opendos@delorie。 2017-10-06 にオリジナルからアーカイブ。2017-10-06に取得。
[…] DR-DOSブート セクターは、IBMBIO.COM ファイル全体をメモリにロードしてから実行します。IBMBIO.COM によってロードされるIBMDOS.COMファイルについてはまったく考慮しません。 […] DR-DOS ブート セクターは […] カーネル ファイルがルート ディレクトリに論理的に保存されている限り、カーネル ファイルを見つけます。ディスク上の物理的な場所や、カーネル ファイルが断片化されているかどうかは、DR-DOS ブート セクターでは考慮されません。したがって、カーネル ファイルをディスクにコピーするだけで (単純なCOPYでも可能です)、ブート セクターが DR-DOS セクターになるとすぐにカーネル ファイルを見つけてロードします。もちろん、これらすべてを 512 バイト (1 セクターのサイズ) に収めるのは難しいですが、DR-DOS システムをセットアップする必要がある場合、これは大きな利便性の向上であり、DR-DOS マルチ OS LOADERユーティリティが機能するための鍵でもあります。MS -DOSカーネル ファイルは特定の場所に存在する必要がありますが、DR-DOS ファイルはどこにでも存在できるため、他の OS を起動するたびに物理的に交換する必要はありません。また、DR-DOS システムをアップグレードするには、カーネル ファイルを古いものにコピーするだけで済みます。SYS は不要で、 MS-DOS/PC DOS に必要な複雑なセットアップ手順もありません。同じドライブに複数の DR-DOS カーネル ファイルを異なるファイル名で保存することもできます。LOADER は、 BOOT.LSTファイルにリストされているファイル名に従ってそれらのファイルを切り替えます。[…]
- ^ DR-DOS 7.03 WHATSNEW.TXT - DR-DOS 7.02 から DR-DOS 7.03 への変更。Caldera , Inc. 1998-12-24。2019-04-08 にオリジナルからアーカイブ。2019-04-08 に取得。 [
…] COUNTRY.SYS が誤ってデバイス ドライバー (DEVICE=COUNTRY.SYS) と見なされた場合にビルド情報を表示するスタブを追加しました。.COM プログラムとして起動した場合も同じ情報を表示します。[…] IBMBIO.COM のサイズをさらに小さくするために 2 番目の圧縮方法を追加しました。[…]
- ^ abcd Chappell, Geoff (1994 年 1 月)。「第 2 章: システム フットプリント」。Schulman, Andrew、Pedersen, Amorette (編)。DOS内部。Andrew Schulman プログラミング シリーズ (第 1 刷、第 1 版)。Addison Wesley Publishing Company。ISBN 978-0-201-60835-9。(xxvi+738+ivページ、3.5インチフロッピー[6][7]) 正誤表:[8][9][10]
- ^ Paul, Matthias R. (2001-01-17). 「DR-DOS の FAT32」。opendos@delorie。 2017-10-06 にオリジナルからアーカイブ。 2017-10-06に取得。
[…] DR-DOS ブート セクターは […] IBMBIO.COM (DRBIOS.SYS) ファイルを検索し、そのファイルに制御を渡す前にファイル全体をメモリにロードします。 […]
- ^ Poarch, Mad (1993 年 4 月). 「DR Multiuser DOS LOADER ユーティリティを使用した複数のオペレーティング システムのブート」. Developer Support Bullets . 5 (4). Novell . 2012 年 3 月 22 日時点のオリジナルよりアーカイブ。2013年 6 月 28 日閲覧。
- ^ Paterson, Tim (1994-10-03). 「DOS の起源: DOS の作者が CP/M と MS-DOS の関係について語る」( PDF)。マイクロプロセッサ レポート。8 (13) 。MicroDesign Resources (MDR) 。ISSN 0899-9341。2012-05-31 の オリジナル(PDF)からアーカイブ。
- ^ Paterson, Tim (2007-09-30). 「DOS の設計」. DosMan Drivel . 2013-01-20 時点のオリジナルよりアーカイブ。2011-07-04に閲覧。
- ^ Kildall, Gary Arlen (1975 年 6 月)。ローレンス リバモア研究所向け CP/M 1.1 または 1.2 BIOS および BDOS。
ローレンス リバモア研究所
(LLL)
向け
CP/M 1.1
または
CP/M 1.2の
PL/M
ソース コード
の BDOS.PLM ファイル ヘッダーの抜粋
[…] /* CP / MBASICI / OSYSTEM (BIOS) 著作権 (C) ゲイリー・A・キルダル 1975年6月 */ […] /* 基本ディスクオペレーティングシステム (BDOS) 著作権 (C) ゲイリー・A・キルダル 1975年6月 */ […] - ^ Kildall, Gary Arlen (1980 年 1 月). 「CP/M の歴史、業界の進化: ある人の視点」. Dr. Dobb's Journal of Computer Calisthenics & Orthodontia . 5 (1): 6–7. 2016 年 11 月 24 日にオリジナルからアーカイブ。2013年 6 月 3 日に取得。 […]
CP/M
の最初の商用ライセンスは、 1975 年に
Digital Systems
と
Omron of America
の間で、インテリジェント端末での使用に関する契約と、
オクトパス ネットワーク
のプログラムを監視するために CP/M が使用された
Lawrence Livermore Laboratories
との契約によって行わ
れました。約 1 年間、CP/M にはほとんど注目が集まりませんでした。余暇には、全体的な設備の改善に取り組みました[…] この時までに、CP/M は 4 つの異なるコントローラーに適合されていました。 […] 1976 年、Glenn Ewing が私に問題を持ちかけました。Glennがコンサルタントを務めていた
Imsai
社は、オペレーティング システムを後からリリースするという約束で、大量のディスク サブシステムを出荷していました。私は CP/M をさらに別のコントローラに適合させることにあまり乗り気ではありませんでした。そこで、独立した基本 I/O システム (BIOS) という概念が生まれました。原則として、CP/M のハードウェア依存部分は BIOS に集中していたため、Glenn や他の誰でも CP/M を Imsai の機器に適合させることができました。その後、Imsai は
CP/M バージョン 1.3の配布ライセンスを取得し、最終的には
IMDOS
と呼ばれるオペレーティング システムへと進化しました
。 […]
- ^ Shustek, Len (2016-08-02). 「In His Own Words: Gary Kildall」.注目すべき人々 .コンピュータ歴史博物館. 2020-03-24時点のオリジナルよりアーカイブ。2020-02-24に閲覧。
- ^ Kildall, Gary Arlen (2016-08-02) [1993]. Kildall, Scott ; Kildall, Kristin (編). Computer Connections: People, Places, and Events in the Evolution of the Personal Computer Industry (原稿、パート 1). Kildall Family. 2016-11-17 のオリジナルからアーカイブ(PDF)されました。2016-11-17に取得。
- ^ Killian, A. Joseph "Joe" (2001). "Gary Kildall's CP/M: Some early CP/M history - 1976–1977". Thomas "Todd" Fischer、IMSAI。 2020-03-24 にオリジナルからアーカイブ。2013-06-03に取得。
[…]
オペレーティング システムをタイムリーに作成できなかったとき、Glenn は Gary と CPM について話し始めました
[
… ] Gary に 8080 への移植を納得させるのに、数か月かかりました。最終的な成功は、Glenn が Gary に I/O だけを他の部分から切り離すように説得し、I/O モジュールを
IMSAI 8080
用に書き直すことを約束した
(実際にそうしました) ときに訪れました。したがって、
IMSAI
上の CPM はGlenn と Gary の共同作業でした。 […]
- ^ Fraley, Bob; Spicer, Dag (2007-01-26). 「ジョセフ・キリアンの口述歴史、インタビュー:ボブ・フレイリー、編集者:ダグ・スパイサー、録音:2007-01-26」(PDF)。カリフォルニア州マウンテンビュー:コンピュータ歴史博物館。CHM参照番号:X3879.2007。2014-07-14にオリジナル(PDF)からアーカイブ。2013-06-03に取得。
キリアン: 「[…] グレン[…] は
ゲイリー
と話していて
、ゲイリーを説得し始めました。彼は「なあゲイリー、なんでこれを
IMSAI
で動かせないんだ?」と言いました。「I/O が全部違うから動かないんだ」。しかしグレンは粘り強く、ついにゲイリーと取引をしました。彼は「よし、ゲイリー、I/O を分割してくれるなら、私は BIOS
、
つまり基本的な I/O システムを書くよ」と言い、グレンはそれを名付けました。「別々に分割しましょう。 「その部分は私が書きます。プログラムに分割できるなら。」そして彼はゲイリーにそれをやらせ、グレンはその 2 つの部分をまとめてゲイリーの CP/M を IMSAI で実行しました。グレンが私たちにそれを知らせ、それから間もなく
ビルはゲイリー・キルドールと
CP/M
のライセンス契約を交わしました
。[…] BIOS が分離されているので、8080 ベースのマシンであれば誰でも BIOS を書いてこれを実行できます。そこで彼は、自分で設立した
Digital Research
という会社でそれを別々に販売し始め、かなり成功しました。」
- ^ Apricot Portable - テクニカルリファレンスマニュアル。第3章:ソフトウェア。ACT (International) Limited。1984年。 2020年1月13日閲覧。(228ページ)
