DOS

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ

MS-DOS 6の起動画面、コマンドラインインターフェイス、およびディレクトリ構造を示すスクリーンショット
FreeDOSの起動画面、コマンドラインインターフェイス、バージョン情報、およびディレクトリ構造を示すスクリーンショット

DOS/ dɒs // dɔːs / [ 1])は、プラットフォームに依存しないディスクオペレーティングシステムの頭字語であり、後にIBMPC互換機のディスクベースのオペレーティングシステムの一般的な省略形になりまし[2] DOSは、主にMicrosoftMS-DOSとIBM PC DOSという名前のリブランドバージョンで構成されています。どちらも1981年に導入されました。他のメーカーの互換性のあるシステムには、DR DOS(1988)、ROM-DOS(1989 )などがあります。 )、PTS-DOS(1993)、およびFreeDOS(1998)。MS-DOSは、1981年から1995年の間にIBMPC互換機市場を支配しました。

他の数十のオペレーティングシステムも、1966年のメインフレームDOS / 360から始まり、頭字語「DOS」を使用しています。その他には、Apple DOSApple ProDOSAtari DOSCommodore DOSTRSDOSAmigaDOSなどがあります。

歴史

起源

AppleII用のZ-80SoftCardでのDigitalResearch Apple CP / M示すスクリーンショット

IBM PC DOS(および別売りのMS-DOS)とその前身である86-DOSは、 DigitalResearchCP / M ( 8ビットIntel8080およびZilogZ80マイクロコンピューターの主要なディスクオペレーティングシステム)に基づいていましたが、代わりに実行されました。Intel 808616ビットプロセッサ

IBMがIntel8088マイクロプロセッサで構築されたIBMPCを発表したとき、彼らはオペレーティングシステムを必要としていました。CP / Mの8088互換ビルドを求めて、IBMは最初にMicrosoftCEOのBillGatesにアプローチしました(おそらく、CP / MをAppleIIで実行できるMicrosoftZ -80SoftCardのためにMicrosoftがCP / Mを所有していると信じていました)。[3] IBMがDigitalResearchに派遣され、会議が設定されました。しかし、CP / Mの使用に関する最初の交渉は決裂しました。Digital Researchは、CP / Mをロイヤルティベースで販売したいと考えていましたが、IBMは単一のライセンスを求め、名前を「PCDOS」に変更しました。DigitalResearchの創設者であるGaryKildallはこれを拒否し、IBMは撤退しました。[3][4]

サンプルSCP86 -DOSセッション(シミュレート)

IBMは再びビルゲイツにアプローチしました。次に、GatesはSeattle ComputerProductsにアプローチしました。そこで、プログラマーのティム・パターソンは、 S-100バス用のSCPの新しい16ビットIntel 8086CPUカードをテストするための内部製品として意図されたCP / M-80の変種を開発しましたこのシステムは、 86-DOSとして市販される前は、当初はQDOS (Quick and Dirty Operating System)と呼ばれていました。Microsoftは86-DOSを50,000米ドルで購入したとされています。これは、1981年に導入されたMicrosoftディスクオペレーティングシステムMS-DOSになりました。[5] 1年以内に、MicrosoftはMS-DOSを70を超える他の企業にライセンス供与しました[6]。 独自のハードウェア用のオペレーティングシステムを、時には独自の名前で提供しました。Microsoftは後に、IBMの亜種を除いて、MS-DOS名の使用を要求しました。IBMは、IBMPC用のバージョンPCDOSの開発を続けまし[5] Digital Researchは、CP / Mと同様のオペレーティングシステムがIBMによって販売されていることに気づき(IBMがCP / Mに対して主張したのと同じ名前で)、法的措置をとると脅迫しました。IBMは、合意を提供することで対応しました。これにより、PCの消費者は、PCDOSまたはCP / M-86、Kildallの8086バージョンを選択できるようになります。並べて、CP / MはPCDOSよりも200米ドル高く、売上は低かった。CP / Mは衰退し、MS-DOSおよびPC DOSは、PCおよびPC互換機用の市販のオペレーティングシステムになりました。[3]

Microsoftは当初、MS-DOSを相手先ブランド供給(OEM)にのみ販売してました。この主な理由の1つは、初期のPCのすべてが100%IBMPC互換であるとは限らないことでした。DOSは、システム固有のデバイスドライバコード(IO.SYS)とDOSカーネル(MSDOS.SYS)が分離されるように構成されていました。Microsoftは、OEMが特定のシステムに合わせてデバイスドライバーコードをカスタマイズできるようにするOEM適応キット(OAK)を提供しました。1990年代初頭までに、ほとんどのPCはIBM PC標準に準拠していたため、MicrosoftはMS-DOS5.0を使用した小売りでMS-DOSの販売を開始しました。

1980年代半ば、MicrosoftはDOSのマルチタスクバージョンを開発しました。[7] [8]このバージョンのDOSは、 ICL用に開発され、ヨーロッパのいくつかの企業にライセンス供与されているため、一般に「ヨーロッパのMS-DOS4」と呼ばれています。このバージョンのDOSは、プリエンプティブマルチタスク、共有メモリ、デバイスヘルパーサービス、およびNew Executable( "NE")形式の実行可能ファイルをサポートします。これらの機能はいずれも、それ以降のバージョンのDOSでは使用されませんでしたが、OS / 21.0カーネルの基礎を形成するために使用されました。このバージョンのDOSは、IBMによって開発され、DOS3.3に基づいて広くリリースされているPCDOS4.0とは異なります。

IBMパーソナルコンピュータバージョン1.0用のDigitalResearch CP / M-86

Digital Researchは、最初はConcurrent DOSFlexOSDOS Plus(両方ともMS-DOSとCP / M-86ソフトウェアの両方と互換性があります)で、後にMultiuser DOS(両方のMSと互換性があります)でCP / M-86から失われた市場を取り戻そうとしました-DOSおよびCP / M-86ソフトウェア)およびDR DOS(MS-DOSソフトウェアと互換性があります)。Digital ResearchはNovellに買収され、DRDOSはPalmDOSNovellDOSになりましたその後、Caldera ( OpenDOSおよびDR-DOS 7.02 / 7.03の名前で)、Lineo、およびDeviceLogicsの一部になりました。

Gordon Letwinは、1995年に、「DOSは、私たちが最初に書いたとき、IBMが私たちの言語を購入できるように、IBMを満足させることを目的とした1回限りの使い捨て製品でした」と書いています。[9] Microsoftは、Xenix以前の暫定的なソリューションになると予想していました。同社は、MS-DOSを長期的に改善することを計画していたため、 Motorola 68000Zilog Z-8000、およびLSI-11でも動作するシングルユーザーXenixまたはXEDOSとほとんど区別がつかなくなりましたそれらは、1983年にBYTEが「将来のマルチユーザーMS-DOS」と表現したXenixと上位互換性があります。[10] [11]

OS / 2 1.0は、MS-DOSと同様のテキストモードインターフェイスを備えていました。

しかし、IBMはDOSに取って代わることを望んでいませんでした。[12] AT&TがUnixの販売を開始した後、MicrosoftとIBMは代替手段としてOS / 2の開発を開始しました。[9] 2つの会社は後に、DOS、OS / 2、およびWindowsの2つの後続オペレーティングシステムに関して一連の意見の不一致がありました。[13]その結果、彼らはDOSシステムの開発を分割しました。[14] MS-DOSの最後の製品版はMS-DOS6.22でした。この後、MS-DOSはWindows 95、98、およびMeの一部になりました。PCDOSの最後の小売バージョンはPCDOS 2000(PC DOS 7リビジョン1とも呼ばれます)でしたが、IBMは後にOEMおよび内部使用のためにPC DOS7.10を開発しました。

FreeDOSプロジェクトは、MicrosoftがMS-DOSの販売またはサポートを終了すると発表した1994年6月26日に始まりましたその後、ジム・ホールは、オープンソースの代替品の開発を提案するマニフェストを投稿しました。数週間以内に、PatVillaniやTimNormanを含む他のプログラマーがプロジェクトに参加しました。カーネル、COMMAND.COMコマンドラインインタープリター(シェル)、およびコアユーティリティは、作成したコードまたは使用可能であることがわかったコードをプールすることによって作成されました。2006年9月3日にFreeDOS1.0ディストリビューションがリリースされる前に、FreeDOSのいくつかの公式プレリリースディストリビューションがありました。GNUGeneralPublicLicense(GPL)の下で利用可能になり FreeDOSはライセンス料やロイヤリティを必要としません。[15] [16]

辞退

Microsoft Windowsの初期のバージョンは、別のバージョンのMS-DOSで実行されていました。[17] 1990年代初頭までに、Windowsグラフィカルシェルは新しいDOSシステムで頻繁に使用されていました。1995年、Windows 95は、個別のDOSライセンスを必要としないスタンドアロンオペレーティングシステムとしてバンドルされました。Windows 95(およびそれに続くWindows 98とME)がデフォルトのOSカーネルとして引き継がれましたが、互換性のためにMS-DOSコンポーネントは残っていました。Windows 95および98では、MEではなく、Windowsを起動せずにMS-DOSコンポーネントを実行できました。[18] [19] [20] DOSがWindowsを使用する必要がなくなったため、大多数のユーザーはDOSを直接使用することをやめました。

継続使用

2012年に利用可能な互換性のあるシステム[更新が必要]は、 FreeDOSDR-DOSROM-DOSPTS-DOSRxDOS [21]、およびREAL / 32です。デルHPなどの一部のコンピュータメーカーは、OEMオペレーティングシステムとしてFreeDOSおよびDR-DOSを搭載したコンピュータを販売しています。[22] [23]

組み込みシステム

ハードウェアに直接アクセスするDOSの構造により、組み込みデバイスで使用できます。DR-DOSの最終バージョンはまだこの市場を対象としています。[24] ROM-DOSは、Canon PowerShot Pro70のオペレーティングシステムとして使用されます。 [25]

エミュレーション

Linuxでは、 DOSプログラムをネイティブに近い速度で実行するためのLinuxネイティブの仮想マシンであるDOSEMUを実行できます。DOSBoxなどのさまざまなバージョンのUnixおよびMicrosoftWindowsでDOSを実行するためのエミュレーターは他にも多数あります[26] [27] DOSBoxは、最新のオペレーティングシステムでのレガシーゲーム( King's QuestDoomなど)用に設計されています。[17] [26]

デザイン

MS-DOSおよびIBMPC DOS関連のオペレーティングシステムは、通常、Intel x86または互換性のあるCPU、主にIBMPC互換機を使用するマシンに関連付けられています。マシンに依存するバージョンのMS-DOSは、IBMと互換性のない多くのx86ベースのマシン用に作成され、製造元の名前でのMicrosoftディストリビューションの再ラベル付けから、IBM-PCと互換性のないハードウェアで動作するように特別に設計されたバージョンまでさまざまです。 アプリケーションプログラムがハードウェアに直接アクセスする代わりにDOSAPIを使用している限り、IBM-PC互換機と非互換機の両方で実行できます。オリジナルのFreeDOSカーネルであるDOS-Cは、 DOS / NTから派生したものです。1990年代初頭のモトローラ68000シリーズのCPU用。これらのシステムはDOSアーキテクチャに大まかに似ていますが、これらの非x86-CPUの命令セットに互換性がないため、アプリケーションはバイナリ互換ではありませんでした。ただし、高級言語で記述されたアプリケーションは簡単に移植できます。

DOSは、再入可能ではない基本的なカーネル機能を備えたシングルユーザー、シングルタスクのオペレーティングシステムです。一度に1つのプログラムのみがそれらを使用でき、DOS自体には、一度に複数のプログラムを実行できる機能はありません。DOSカーネルは、文字I / O、ファイル管理、メモリ管理、プログラムのロードと終了など、 プログラムアプリケーションプログラムインターフェイス)にさまざまな機能を提供します。

DOSは、バッチファイルファイル名拡張子付き)を介したシェルスクリプトの機能を提供します。バッチファイルの各行は、実行するプログラムとして解釈されます。バッチファイルでは、 GOTO条件付きステートメントなどの内部コマンドを利用することもできます[28] .BAT

オペレーティングシステムは、文字ベースのアプリケーションの開発を可能にするアプリケーションプログラミングインターフェイスを提供しますが、グラフィックカードプリンタマウスなどのほとんどのハードウェアにアクセスすることはできません。これには、プログラマーがハードウェアに直接アクセスする必要があり、通常、各アプリケーションには、ハードウェア周辺機器ごとに独自のデバイスドライバーのセットがあります。ハードウェアメーカーは、一般的なアプリケーション用のデバイスドライバーが確実に利用できるように仕様をリリースします。[29]

起動シーケンス

  • PC互換コンピュータブートストラップローダーであるマスターブートレコードは、ブートディスクの最初のトラック(トラック0 )の最初のセクターであるブートセクターから始まります。ROM BIOSは、このセクターをアドレス0000h7C00hのメモリにロードし、通常、オフセット+ 1FEhで署名「55hAAh 」をチェックします。セクターが有効であると見なされない場合、ROM BIOSは行の次の物理ディスクを試行します。そうでない場合、特定のレジスタが設定されたロードアドレスにジャンプします。
  • ロードされたブートセクターが、パーティション化されたメディアで見つかったマスターブートレコード(MBR)である場合、メモリ内で0000h0600hに再配置されます[30]。それ以外の場合、この手順はスキップされます。MBRコードは、このセクター内にあるパーティションテーブルをスキャンしてアクティブなパーティションを探します(最新のMBRはビット7がオフセット+ 1BEh + 10h * nに設定されているかどうかをチェックしますが、古いMBRは単に80hの値をチェックします)。見つかった場合は、対応するパーティションの最初のセクターをロードします。これは、そのボリュームのボリュームブートレコード(VBR)を保持し、 0000h7C00hでメモリにロードします。ROMBIOS自体によってロードされた場合と同様の方法で。次に、MBRは、特定のレジスタが設定されたロードされた部分に実行を渡します。
  • 0000h7C00hでロードされたセクターコンテンツは、現在VBRを構成しています。VBRはオペレーティングシステム固有であり、正確な動作は異なるDOSバージョン間で異なるため、一般に異なるDOSバージョン間で交換することはできません。DOS 1.xなどの非常に古いバージョンのDOSでは、VBRはIO.SYS /IBMBIO.COMファイル全体を0000h0600hにメモリにロードします。[31]これが機能するためには、これらのセクターがSYSによってディスクに連続した順序で格納されている必要がありました。後の号では、最初の2つのエントリの内容を見つけてルートディレクトリの0000h0500hに保存します。また、VBRに記録されている正しいブートファイルを反映している場合、VBRはIO.SYS / IBMBIO.COMファイルの最初の3つの連続するセクターを0070h0000hでメモリにロードします。VBRは、ディスクパラメータテーブル(DPT)の内容を保持するようにも注意する必要があります。最後に、特定のレジスタが設定されたエントリポイントにジャンプすることにより、ロードされた部分に制御を渡します(異なるDOSバージョン間ではかなりの違いがあります)。
  • 後の[説明が必要] DOSバージョンでは、VBRがIO.SYS / IBMBIO.COMファイルの最初の3セクターのみをメモリにロードし、ロードされた部分に別のブートローダーが含まれ、残りの部分がメモリにロードされます。 、 0000h0500hに保存されているルートディレクトリ情報を使用しますほとんどのバージョンでは、ファイルの内容をディスクに連続した順序で保存する必要があります。まだ全体としてロードされている古いバージョンのDOSでは、この手順はスキップされます。
  • DOSシステム初期化コードは、組み込みのデバイスドライバを初期化してから、MS-DOSシステムのMSDOS.SYSにあるDOSカーネルもメモリにロードします。Windows 9xでは、DOSシステム初期化コードと組み込みのデバイスドライバおよびDOSカーネルが1つのIO.SYSファイルに結合され、MSDOS.SYSがテキスト構成ファイルとして使用されます。
  • 次に、CONFIG.SYSファイルが読み取られ、構成パラメーターが解析されます。SHELL変数は、デフォルトでCOMMAND.COMに設定されているシェルの場所指定ます
  • シェルがロードされ、実行されます。
  • 次に、起動バッチファイルAUTOEXEC.BATがシェルによって実行されます。[32] [33]

ブートセクタによってロードされるDOSシステムファイルは連続していて、最初の2つのディレクトリエントリである必要があります。[34]そのため、このファイルを削除および追加すると、メディアが起動できなくなる可能性があります。ただし、シェルを自由に置き換えることは可能です。これは、専用アプリケーションの実行をより速く開始するために使用できる方法です。この制限は、システムファイルがルートディレクトリのどこにでも配置でき、連続している必要がないDRDOSのどのバージョンにも適用されません。したがって、ブートセクタがすでにDR DOS互換である場合は、システムファイルをディスクに簡単にコピーできます。

PCDOSおよびDRDOS 5.0以降では、DOSシステムファイルの名前はIO.SYSではなくIBMBIO.COMであり、MSDOS.SYSではなくIBMDOS.COMです。古いバージョンのDRDOSは、代わりにDRBIOS.SYSとDRBDOS.SYSを使用していました。

MS-DOS 7.0以降、バイナリシステムファイルIO.SYSとMSDOS.SYSは単一のファイルIO.SYSに結合され、MSDOS.SYSはCONFIG.SYSとAUTOEXEC.BATに似た構成ファイルになりました。MSDOS.SYS BootGUIディレクティブがに設定されている0場合、ブートプロセスは、WIN.COMを自動的に実行するのではなく、コマンドプロセッサ(通常はCOMMAND.COM)がロードされた状態で停止します。

ファイルシステム

DOSは、8.3ファイル名をサポートするファイルシステムを使用します。ファイル名は8文字、拡張子は3文字です。DOS 2以降、階層ディレクトリがサポートされています。各ディレクトリ名も8.3形式ですが、DOSが保持する内部の現在のディレクトリ構造(CDS)テーブルのため、最大ディレクトリパス長は64文字です。ドライブ名を含め、DOSがサポートする完全修飾ファイル名の最大長は、drive:\ path \ filename.extの形式とそれに続くヌルバイトを使用して80文字です。

DOSは、ファイルアロケーションテーブル(FAT)ファイルシステムを使用します。これは元々FAT12であり、ドライブごとに最大4078クラスターをサポートしていました。DOS 3.0は、16ビット割り当てエントリを使用し、ドライブごとに最大65518クラスターをサポートするFAT16のサポートを追加しました。Compaq MS-DOS 3.31は、32#8209を削除したFAT16Bのサポートを追加しました。MBドライブ制限。最大512MBをサポートできます。最後に、MS-DOS 7.1(Windows 9xのDOSコンポーネント)は、32ビットの割り当てエントリを使用し、最大137GB以上のハードドライブをサポートできる FAT32のサポートを追加しました。

DOS 3.1以降、ファイルリダイレクタのサポートがDOSに追加されました。これは当初、ネットワークをサポートするために使用されていましたが、後でMSCDEXでCD-ROMドライブをサポートするために使用されました。IBM PC DOS 4.0も予備インストール可能ファイルシステム(IFS)をサポートしていましたが、これは未使用であり、DOS5.0で削除されました。DOSは、ネットワークデバイスをサポートするためにDOSファイルシステムで使用できるCONFIG.SYSからロードされたブロックデバイス(「ディスクドライブ」デバイス)もサポートしていました。

ドライブの命名スキーム

DOSでは、ドライブは文字を識別することによって参照されます。標準的な方法は、フロッピードライブ用に「A」と「B」を予約することです。フロッピードライブが1つしかないシステムでは、DOSは両方の文字をドライブに割り当て、プログラムがディスク間で交互にアクセスするときにディスクを交換するようにユーザーに促します。これにより、フロッピーからフロッピーへのコピーや、あるフロッピーから別のフロッピーのデータにアクセスしながらプログラムを実行することが容易になります。ハードドライブには元々「C」と「D」の文字が割り当てられていました。DOSは、ドライブごとに1つのアクティブなパーティションしかサポートできませんでした。より多くのハードドライブのサポートが利用可能になると、これは最初に各ドライブのアクティブなプライマリパーティションにドライブ文字を割り当てるようになりました。拡張パーティション、次に3番目のパスで、他の非アクティブなプライマリパーティションに名前を付けます(このような追加のパーティションが存在し、DOSでサポートされているファイルシステムが含まれている場合)。最後に、DOSは、光ディスクドライブRAMディスク、およびその他のハードウェアに文字を割り当てます。文字の割り当ては通常、ドライバがロードされた順序で行われますが、ドライバはDOSに別の文字を割り当てるように指示できます。たとえば、ネットワークドライブのドライバは、通常、アルファベットの終わりに近い文字を割り当てます。[35]

DOSアプリケーションはこれらのドライブ文字を直接使用するため(Unixライクなシステムの/ devディレクトリとは異なり)、ドライブ文字を必要とする新しいハードウェアを追加することで混乱させることができます。例として、既存のハードドライブに拡張パーティション内の論理ドライブが含まれているプラ​​イマリパーティションを持つ新しいハードドライブの追加があります。新しいドライブには、拡張パーティション論理ドライブの1つに以前に割り当てられていた文字が割り当てられます。さらに、拡張パーティションに論理ドライブのみを持つ新しいハードドライブを追加しても、RAMディスクと光学ドライブの文字が混乱します。この問題は、MicrosoftのDOSベースの9xバージョンのWindowsで、ユーザーが変更するまで既存のドライブの文字を保持するNTラインに基づくバージョンに置き換えられるまで続きました。[35] DOSでは、SUBSTドライブを定義し、この論理ドライブにDOSプログラムをインストールすることで、この問題を回避できます。このドライブの割り当ては、アプリケーションが起動するたびにバッチジョブで変更されます。コンカレントDOSの一部のバージョン、およびマルチユーザーDOS、システムマネージャ、 REAL / 32では、アプリケーションが起動するたび に、予約済みのドライブ文字L:が対応するロードドライブに自動的に割り当てられ

予約済みのデバイス名

DOSには予約済みのデバイス名があり、組み込みの文字デバイスで使用されているため、拡張子に関係なくファイル名として使用できません。これらの制限は、いくつかのWindowsバージョンにも影響し、場合によってはクラッシュやセキュリティの脆弱性を引き起こします。[36]

予約名は次のとおりです。

  • CON、コンソール用
  • AUX、補助用
  • PRN、プリンタ用[37]
  • LST、リスター用; 86- DOS0.74で導入されました[38]
  • NULnullデバイスの場合; 86- DOS1.10およびPCDOS1.0で追加されました

これらの名前(NULを除く)は、それ以来、MS-DOS、PC DOS、およびDR-DOSのすべてのバージョンでサポートされ続けています。[38] は、MS-DOS 1.25の一部のOEMバージョンでも利用可能でしたが、PC DOSで導入されたように、LSTMS-DOS 1.25の他のOEMバージョンはすでにLPT1(ファーストラインプリンター)およびCOM1(ファーストシリアル通信デバイス)を使用していました。に加えてLPT1、およびLPT2に加えCOM1HP PortablePlus用COM3のHewlett-PackardのMS-DOS2.11は、のエイリアスおよび;のエイリアスとしてもサポートされています。[39] [40]プロッタでもサポートされていますLSTLPT282164ACOM2PLT[39] [40]それ以外の場合、、、、およびCOM2MS -DOS 2.11 [41] [39] [40]のいくつかの問題でまだ名前が付けられています)クロックデバイスはDOS 2.0で導入され、DOS3.3追加されました。[38]マルチタスクMS-DOS4のみがサポートされています。DR DOS 5.0以降およびマルチユーザーDOSは、動的アイドル検出用のデバイスをサポートして、電力を節約し、マルチタスクを改善します。は、7.02以降のDR-DOSの一部のバージョンでサポートされている4行目のプリンタ用のオプションの組み込みドライバです。リアルモードPnPを構成しますLPT2LPT3CLOCK$CLOCKCOM3COM4KEYBD$SCREEN$$IDLE$LPT4CONFIG$ MS-DOS 7.0–8.0のマネージャ。

AUX通常、デフォルトは、、およびCOM1[38]ですが、これらのデフォルトは、他のシリアルまたはパラレルデバイスを指すようにDOSの一部のバージョンで変更できます。[39] [40] [42]も再構成可能でした。[39] [40]PRNLPT1LST PLT

通常はデバイス名を示すように、ファイル名はコロン:)で終わりますが、コロンは実際には組み込みのデバイスドライバーの名前の一部ではありません。場合によっては、コロンを入力する必要はありません。たとえば、次のようになります。 NUL:

ECHOこれは何も達成しません> NUL

ディスクセクターのディレクトリデータ構造を直接編集するなどして、これらの予約済みデバイス名を使用してファイルまたはディレクトリを作成することは引き続き可能です。ファイル名をスペースで始めるなどの名前付けは、ウイルスやハッキングプログラムによって、これらの場所へのアクセス方法を知らないユーザーからファイルを隠すために使用されることがあります。

メモリ管理

DOSは、最大1MBのRAMにのみ直接アクセスできるIntel8088プロセッサ用に設計されました。[43] IBMとMicrosoftはどちらも、プログラムで使用可能なメモリの最大量として640 KBを選択し、残りの384 KBをビデオメモリ、一部のビデオおよびネットワーク周辺機器のアダプタの読み取り専用メモリ、およびシステムのBIOS用に予約しました。Microsoftは、640KBの障壁に達することは決してないと信じていました。[44]しかし、1985年までに、一部のDOSアプリケーションはすでにメモリ制限に達しており、マシンの仕様によっては、予約済みの多くが未使用でした。[45]

仕様は、追加のメモリへのアクセスを可能にするために開発されました。1つ目は、拡張メモリ仕様(EMS)で、アドオンカードのメモリに予約済みの上位メモリ領域の64KBページフレームを介してアクセスできるように設計されました。[46] 80386以降のシステムでは、EMM386などの仮想8086モード(V86)モードのメモリマネージャを使用して、アドオンカードを必要とせずに拡張メモリから拡張メモリを作成できます。[47] 2番目の仕様は、80286以降のシステム用の拡張メモリ仕様(XMS)でした。これにより、拡張メモリとの間でデータをコピーしたり、65,520バイトの高メモリ領域にアクセスしたりする方法が提供されました[48]。メモリの最初のメガバイトと上位メモリブロック領域の真上。通常、XMSサポートは、HIMEM.SYS 、またはEMSもサポートするQEMM386MAXなどのV86モードメモリマネージャーによって提供されていました。[49]

DOS 5以降、[50]DOS=HIGH DOSは、CONFIG.SYSのステートメントを介して、カーネルコードとディスクバッファをロードすることにより、HMAを直接利用できます。DOS=UMBDOS 5+では、CONFIG.SYSのステートメントを介して使用可能な上位メモリブロックを使用することもできました。[51]

OS / 2およびWindowsでのDOS

OS / 2およびWindowsでのDOSエミュレーションは、ネイティブアプリケーションとほぼ同じ方法で実行されます。彼らはすべてのドライブとサービスにアクセスでき、ホストのクリップボードサービスを使用することもできます。ファイルシステムなどのドライバはホストシステムに存在するため、DOSエミュレーションは、DOS呼び出しをOS / 2またはWindowsシステム呼び出しに変換するDOSAPI変換層を提供するだけで済みます。変換層は通常、BIOS呼び出しを変換し、多くのDOSプログラムが一般的に使用する一般的なI / Oポートアクセスを仮想化します。

Windows 3.1および9xでは、DOS仮想マシンはWINOLDAPによって提供されます。WinOldApは、プログラムのPIFファイルと、Windowsがロードされたときのシステム状態に基づいて仮想マシンを作成します。文字とグラフィックの両方のDOSグラフィックモードをキャプチャして、ウィンドウで実行できます。DOSアプリケーションは、WinOldApで公開された追加の呼び出しにアクセスすることで、Windowsクリップボードを使用でき、WinOldApグラフィックを介してテキストを貼り付けることができます。

OS / 2およびWindowsNTでエミュレートされたDOSはDOS5に基づいています。デフォルトの構成(config.sysおよびautoexec.bat)がありますが、セッションごとに代替ファイルを使用できます。これらのファイルにドライバをロードしてホストシステムにアクセスすることは可能ですが、これらは通常サードパーティです。

OS / 2 2.x以降では、DOSエミュレーションはDOSKRNLによって提供されます。これは、IBMBIO.COMとIBMDOS.COMの組み合わせを表すファイルであり、システムコールはOS / 2ウィンドウサービスに渡されます。DOSプログラムは独自の環境で実行され、DOSユーティリティの大部分は\ OS2ディレクトリにあるバインドされたDOS / OS2アプリケーションによって提供されます。OS / 2は、Windowsの変更されたコピー(Win-OS / 2)を使用してWindows3.1アプリケーションを実行できます。この変更により、Windows3.1プログラムをOS / 2デスクトップ上でシームレスに実行できるようになります。または、DOSからWindowsを起動するのと同じように、WinOS / 2デスクトップを起動できます。

OS / 2は、「ドライブAからのDOS:」(VMDISK)を許可します。これは、MS-DOS6.22やPCDOS5.00のような実際のDOSです。1つは、DOSの起動可能なフロッピーディスクを作成し、OS / 2からいくつかのドライバーを追加してから、特別なイメージを作成します。この方法で起動されたDOSは、システムに完全にアクセスできますが、ハードウェア用の独自のドライバーを提供します。このようなディスクを使用して、OS / 2ドライバーがないCD-ROMドライブにアクセスできます。

1993年以降のWindowsNTファミリのすべての32ビット(IA-32)エディションでは、DOSエミュレーションは仮想DOSマシン(NTVDM)を介して提供されます。64ビット(IA-64)バージョンのWindowsはNTVDMをサポートしておらず、16ビットDOSアプリケーションを直接実行することはできません。DOSboxなどのサードパーティエミュレータを使用して、これらのマシンでDOSプログラムを実行できます。

ユーザーインターフェイス

DOSシステムはコマンドラインインターフェイスを使用します。プログラムは、コマンドプロンプトでファイル名を入力することによって開始されます。DOSシステムにはユーティリティプログラムが含まれており、プログラムに対応しない内部コマンドを提供します。[52]

よりユーザーフレンドリーな環境を提供するために、多くのソフトウェアメーカーは、メニューベースおよび/またはアイコンベースのインターフェイスをユーザーに提供するファイル管理プログラムを作成しました。自己完結型のプログラムローダーになり、最も使用されているPC互換のプログラムローダーとしてDOSに取って代わります。テキストユーザーインターフェイスプログラムには、 Norton CommanderDOS NavigatorVolkov Commander、Quarterdesk DESQview、およびSidekickが含まれていました。グラフィカルユーザーインターフェイスプログラムには、Digital ResearchのGEM(元々はCP / M用に作成されたもの)とGEOSが含まれていました。

最終的に、主要なDOSシステムのメーカーは、独自の環境マネージャーを含めるようになりました。MS-DOS / IBM DOS4にはDOSシェルが含まれています。[53]翌年にリリースされたDRDOS 5.0には、GEMに基づくViewMAXが含まれていました。[54]

終了して常駐する

DOSはマルチタスクオペレーティングシステムではありません。ただし、DOSは、プログラムをメモリに常駐させることができるTerminate and Stay Resident(TSR)機能を提供していました。これらのプログラムは、システムタイマーやキーボード割り込みをフックして、バックグラウンドでタスクを実行したり、現在実行中のプログラムをプリエンプトして、プログラム固有の単純な形式のマルチタスクを効果的に実装したりすることができます。PRINTコマンドは、バックグラウンド印刷スプーリングを実装するためにこれを行いました。ポップアップ個人情報マネージャー(PIM)で あるBorland Sidekickも、この手法を使用しました。

TerminateおよびStayResidentプログラムは、デフォルトでは使用できない追加機能を提供するためにも使用されました。CEDやDOSKEYなどのプログラムは、COMMAND.COMで利用できる機能を超えるコマンドライン編集機能を提供しました。Microsoft CD-ROM Extensions(MSCDEX)のようなプログラムは、CD-ROMディスク上のファイルへのアクセスを提供しました。

一部のTSRは、基本的な形式のタスク切り替えを実行することもできます。たとえば、シェアウェアプログラムBack and Forth(1990)[55]には、現在実行中のプログラムの状態をディスクに保存し、別のプログラムをロードして切り替えるためのホットキーがあり、「前後に切り替えることができました。 「ディスクアクセスが必要なため、ゆっくりではありますが、プログラム間で。ただし、 Back andForthはバックグラウンド処理を有効にできませんでした。DESQviewが必要でした(少なくとも386で)。

ソフトウェア

ArachneWebブラウザ

開発ツール

も参照してください

参考文献

  1. ^ ウェイバックマシンで2017-11-12にアーカイブされたDictionary.com
  2. ^ マードック、エベレット(1988)。DOSの簡単な方法EasyWayダウンロード可能な本。ISBN 0-923178-00-7
  3. ^ a b c Rolander、Tom「残りの話:ビル・ゲイツがOS戦争でゲイリー・キルドールをどのように打ち負かしたか、パート1」Scoble Show(インタビュー)。Scoble、Robertによるインタビュー。2007年11月4日にオリジナルからアーカイブされまし
  4. ^ Bove、Tony(2005)。マイクロソフトにノーと言ってください。ノースターチプレスpp。9–11  _ ISBN 1-59327-064-X
  5. ^ a b ベリス、メアリー。「MS-DOSのMicrosoftオペレーティングシステムの異常な歴史」2008年9月2日取得
  6. ^ Freiberger、Paul(1982-08-23)。「ビルゲイツ、マイクロソフトおよびIBMパーソナルコンピュータ」InfoWorld: 22.2015-03-18のオリジナルからアーカイブ2015年1月29日取得
  7. ^ 「OS / 2がMicrosoftの最初の非Unixマルチタスクオペレーティングシステムではないことをご存知ですか?」2012年11月4日にオリジナルからアーカイブされました。
  8. ^ 「ラリーオスターマンの伝記」2013年6月2日にオリジナルからアーカイブされました。
  9. ^ a b Letwin、Gordon(1995-08-17)。「OS / 2に何が起こっているのか」ニュースグループ:  comp.os.os2.advocacyUsenet:[email protected] 2013年11月6日取得 
  10. ^ モーガン、クリス(1982年1月)。「IBM、オペレーティングシステム、およびロゼッタストーンの」バイト:6 2013年10月19日取得
  11. ^ フィードラー、ライアン(1983年10月)。「Unixチュートリアル/パート3:マイクロコンピュータマーケットプレイスのUnix」バイト:132 2015年1月30日取得
  12. ^ Howitt、Doran(1984-12-10)。「Unixとシングルユーザー」InfoWorld28.2018-01-29のオリジナルからアーカイブ2015年2月7日取得
  13. ^ ポラック、アンドリュー(1991-07-27)。「MicrosoftはIBMOverSoftwareでその分裂を広げている」ニューヨークタイムズ2010年11月2日にオリジナルからアーカイブされまし2008年9月2日取得
  14. ^ ブリンクリー、ジョエル(1999-05-28)。「IBMExecutiveがMicrosoftによる価格圧力について説明しています」ニューヨークタイムズ2008年12月11日にオリジナルからアーカイブされました2008年9月2日取得
  15. ^ ホール、ジム(2002-03-25)。「FreeDOSプロジェクトの過去、現在、そして未来」2012-05-29にオリジナルからアーカイブされました2008年6月14日取得
  16. ^ ホール、ジム(2006-09-23)。「FreeDOSの歴史」freedos.org。2007年5月27日にオリジナルからアーカイブされました2007年5月28日取得
  17. ^ a b Bannan、James(2006-10-13)。「方法:VistaでプレイするレトロなDOSゲームを同軸ケーブルで接続する」2008年8月1日にオリジナルからアーカイブされました2008年7月3日取得
  18. ^ 「Windows95でDOSを見つける」スマートコンピューティング1996年3月。2004年7月7日のオリジナルからアーカイブ2008年7月12日取得
  19. ^ チェン、レイモンド(2007-12-24)。「Windows95でのMS-DOSの役割は何でしたか?」古い新しいもの-サイトホーム-MSDNブログ2014-02-05にオリジナルからアーカイブされました2014年2月5日取得
  20. ^ 「MS-DOSモードでコンピュータを再起動することの説明」support.microsoft.com2007-01-19。2014-02-05にオリジナルからアーカイブされました2014年2月5日取得
  21. ^ http://rxdos.sourceforge.net/
  22. ^ ホール、ジム(2007-07-13)。「ジムホールのブログ-2007」2012-10-25にオリジナルからアーカイブされました2008年6月12日取得
  23. ^ 「FreeDOSを搭載したDellPC」2008年3月19日にオリジナルからアーカイブされました2008年6月14日取得
  24. ^ 「DR-DOS組み込みDOS」2008年12月21日にオリジナルからアーカイブされました2008年9月26日取得
  25. ^ 「キヤノンのデジタルスチルカメラの新しいラインのために選ばれたDatalightDOS」ビジネスワイヤ1999-08-24。2012年7月9日にオリジナルからアーカイブされました2008年9月26日取得
  26. ^ a b "DOSBox情報"2008年5月25日にオリジナルからアーカイブされまし2008年5月18日取得
  27. ^ 「DOSEMUホーム」2007-05-05。2008年7月23日にオリジナルからアーカイブされました2008年7月3日取得
  28. ^ 「バッチファイルヘルプ」computerhope.com。2008年9月7日にオリジナルからアーカイブされました2008年9月10日取得
  29. ^ Matczynski、Michael。「ZINGTECH-新しいゲームプログラマーへのガイド」2008年12月19日にオリジナルからアーカイブされました2008年9月2日取得
  30. ^ 「マスターブートレコード(MBR)とその機能」2013年5月27日にオリジナルからアーカイブされました。090912 dewassoc.com
  31. ^ 「リバースエンジニアリングDOS1.0 –パート1:ブートセクター«pagetable.com」2009年5月11日にオリジナルからアーカイブされました。090912 pagetable.com
  32. ^ 「CONFIG.SYSコマンド」2009年5月2日にオリジナルからアーカイブされました。090913 Academic.evergreen.edu
  33. ^ Kozierok、チャールズ(2001)。「DOSブートプロセス」PCガイド2008年7月19日にオリジナルからアーカイブされました2008年9月2日取得
  34. ^ "misc.txt"2010年6月29日にオリジナルからアーカイブされました090912 arl.wustl.edu
  35. ^ a b 「ドライブ文字の割り当てとプライマリパーティションと論理パーティションの選択」PCガイド2001-04-17。2012年4月17日にオリジナルからアーカイブされました2012年4月4日取得
  36. ^ 「MicrosoftWindowsMS-DOSデバイス名DoSの脆弱性」2011年7月25日にオリジナルからアーカイブされました2008年9月2日取得
  37. ^ 「DOSデバイス名の定義」PCマガジン2008年9月29日にオリジナルからアーカイブされました2008年9月2日取得
  38. ^ a b c d "MS-DOSデバイスドライバ名をファイル名として使用することはできません"リビジョン2.0。Microsoft2003-05-12。KB74496、Q74496。2012年7月21日にオリジナルからアーカイブされました
  39. ^ a b c d e Hewlett-Packard-テクニカルリファレンスマニュアル-PortablePLUS(1版)。米国オレゴン州コーバリス:ヒューレットパッカード社、ポータブルコンピュータ部門。1985年8月。45559-90001 2016年11月27日取得
  40. ^ a b c d e Hewlett-Packard-テクニカルリファレンスマニュアル-PortablePLUS(PDF)(2版)。米国オレゴン州コーバリスのポータブルコンピュータ部門:Hewlett-PackardCompany1986年12月[1985年8月]。45559-90006。2016年11月28日のオリジナルからアーカイブ(PDF)2016年11月27日取得
  41. ^ パターソン、ティム; マイクロソフト(2013-12-19)[1983]。「MicrosoftDOSV1.1およびV2.0:/msdos/v20source/SKELIO.TXT、/msdos/v20source/HRDDRV.ASM」コンピュータ歴史博物館マイクロソフト2014-03-26にオリジナルからアーカイブされました2014年3月25日取得(注:出版社はこれがMS-DOS 1.1および2.0であると主張していますが、実際にはSCP MS- DOS1.25およびAltosMS-DOS2.11とTeleVideoPC DOS 2.11の混合物です。)
  42. ^ Paul、Matthias R.(1997-10-02)。「CalderaOpenDOS7.01 / 7.02 Update Alpha 3 IBMBIO.COMREADME.TXT」2003-10-04にオリジナルからアーカイブされました2009年3月29日取得 [1]
  43. ^ Bailes&Mueller 1992、p。5.5。
  44. ^ コーヘン、エリ・ボイド(1991年秋)。「IBMパーソナルコンピュータのメモリ管理とアーキテクチャ:文献のレビュー」コンピュータ情報システムジャーナルテイラーアンドフランシス32(1):25。doi10.1080 / 08874417.1991.11646433(非アクティブ2021-11-02)2021-11-02を取得{{cite journal}}: CS1 maint: DOI inactive as of November 2021 (link)
  45. ^ Bailes&Mueller 1992、pp。42–44。
  46. ^ Bailes&Mueller 1992、pp。67–68。
  47. ^ Mueller 1998、pp.169。
  48. ^ Mueller 1998、pp。243–244。
  49. ^ Bailes&Mueller 1992、p。79〜80。
  50. ^ Mueller 1998、p。243。
  51. ^ Bailes&Mueller 1992、pp。150–151。
  52. ^ マードック、エベレット(2008)。DOSの簡単な方法EasyWayダウンロード可能な本。pp。7–12。ISBN 978-0-923178-02-4
  53. ^ マードック、エベレット(2008)。DOSの簡単な方法EasyWayダウンロード可能な本。p。71. ISBN 978-0-923178-02-42015年3月18日にオリジナルからアーカイブされました。
  54. ^ ドヴォラック、ジョン・チャールズ; アニス、ニック(1991)。DOSおよびPCパフォーマンスに関するDvorakのガイドOsborneMcGraw-Hillpp。442–444。
  55. ^ バージョン1.47は「BackandForth1.47」にアーカイブされています。2013年11月5日にオリジナルからアーカイブされまし2013年8月5日取得「(C)1990 by Progressive Solutions、Inc。」と述べています。
  56. ^ ダロー、バーバラ(2002-02-01)。「Lotus1-2-3に何が起こったのか?」2009年1月9日にオリジナルからアーカイブされまし2008年7月12日取得

さらに読む

  • IBM Corp.、IBM、(1984年1月)。「IBMDOSリリース2.10布製の小売用ハードボードボックス」。初版。IBMCorp。のアイテム番号。6183946
  • IBM Corp.、IBM、(1984年1月)。「ディスクオペレーティングシステムユーザーズガイド(DOSリリース2.10)」。初版。Microsoft Corp.(カラーイラストを含む100ページ)アイテム番号。6183947
  • IBM Corp.、IBM、(1984年1月)。「ディスクオペレーティングシステムマニュアル(DOSリリース2.10)」。初版。Microsoft Corp.(3つのリングフォルダーに574のルーズリーフページ)アイテム番号6183940
  • ミューラー、スコット(1998)。PCのアップグレードと修復(第8版)。QuePublishingISBN 0-7897-1295-42021-11-02を取得
  • ベイルズ、レニー; ミューラー、ジョン(1992)。640Kを超えるメモリ管理とマルチタスクマグロウヒルISBN 0-8306-3476-22021-11-02を取得

外部リンク