DOS (オペレーティングシステム)とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > DOS (オペレーティングシステム)の意味・解説 

DOS (オペレーティングシステム)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/11/02 03:31 UTC 版)

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

DOS ([dɒs], [dɔːs]) はディスクを基盤としたIBM PC互換機オペレーティングシステム (OS) のファミリーである[1]。DOSファミリーは主にIBM PC DOSと、それをリブランドしたマイクロソフトMS-DOSから構成され、どちらも1981年に発表された。後に他のメーカーからそれらの互換システムであるDR-DOS(1988年)、ROM-DOS英語版(1989年)、PTS-DOS(1993年)、FreeDOS(1994年)も発表された。MS-DOSは1981年から1995年までIBM PC互換機市場を独占していた。

DOSという名称はMS-DOSおよびその互換OSを明確に同一視するようになったが、これはプラットフォームに依存せずIBM PC以前から使われている、 "Disk Operating System" の頭字語である[2]。1966年のメインフレームDOS/360を皮切りに、他にも数十のオペレーティングシステムがこの頭字語を使用している。他にもApple DOS英語版Apple ProDOS英語版Atari DOS英語版Commodore DOS英語版TRSDOS英語版Commodore DOS英語版、そしてAmigaDOS英語版がある。

歴史

起源

Apple IIZ-80 SoftCard上で実行されたデジタルリサーチ製CP/M

IBM PC DOS(および別売のMS-DOS)とその前身である86-DOSは、インテル16ビットマイクロプロセッサである8086で動作した。IBM PC DOSはデジタルリサーチのディスクオペレーティングシステムであるCP/Mと類似するよう開発された。これは当時CP/Mが8ビット8080およびZ80マイクロコンピュータを支配していたため、そのアプリケーション移植を容易にするためである。

IBM Personal Computer (IBM 5150 PC)

IBMIntel 8088マイクロプロセッサを搭載したIBM PCを発表したが、それにはオペレーティングシステムが必要であった。ジョン・R・オペル会長がユナイテッド・ウェイ全国理事会執行委員会の同僚であるメアリー・マクスウェル・ゲイツと会談すると、彼女はCP/Mの8088互換品ビルドを支援するために自身の息子であるビル・ゲイツをオペルに紹介した[3]。その後IBMはデジタルリサーチへと向かい会議が設定されたものの、CP/M使用に関する当初の交渉は決裂した。なぜなら、デジタルリサーチはCP/Mをロイヤルティーに基づき販売することを希望したのに対し、IBMはCP/Mの買い切りと "PC DOS" への名称変更を求めたが、デジタルリサーチの創設者であるゲイリー・キルドールはこれを拒否したことでIBMは撤退したためである[4][5]

シミュレーションによるSCP 86-DOSのセッション

IBMは再びビル・ゲイツに接触すると、次にゲイツはシアトル・コンピュータ・プロダクツ (SCP) へ接触した。同社ではプログラマティム・パターソンがCP/M-80の派生版を開発していたが、これはS-100バス用新しい16ビットCPUである8086カードテストのため、SCPの社内製品として開発されていたものである。当初この派生版にはQDOS (Quick and Dirty Operating System) という名称が付けられたが、後に86-DOSという名称で市販された。マイクロソフトは推定50,000ドルで86-DOSを購入した。これがMicrosoft Disk Operating System、つまりMS-DOSとなり、1981年に発表され、それから1年以内にマイクロソフトは70社以上の企業にMS-DOSのライセンスを供与した[6]。それらの企業は自社ハードウェア用MS-DOSを供給したが、その中にはゼニス・データ・システムズ英語版Z-DOS英語版のようにMS-DOSではなく独自の名称を付ける企業もあった[7]。後にマイクロソフトはMS-DOSという名称の使用を義務付けたが、IBM版はその例外であった。IBMはIBM PC用の自社版である "PC DOS" の開発を継続したが、CP/Mの類似品であるOS(IBMがCP/Mに固執したのと同じ名称で)をIBMが販売していることを知ったデジタルリサーチから法的措置を取ると脅迫された。これを受けIBMは、PC DOSかキルドールの8086版であるCP/M-86のどちらかをPC購入者が選べるようにするという和解を申し出た。これらを比較すると、CP/M-86はPC DOSより200ドル高く、販売台数は低調だった。CP/Mは衰退し、MS-DOSとPC DOSがPCとその互換機用のOSとして普及するようになった[4]

当初のマイクロソフトによるMS-DOSの販売形式はOEMのみであった。その主な理由の1つとしては、初期のPCは全てがIBM PCと100%互換ではなかったことが挙げられる。DOSは非常に構造化されていたため、システム固有のデバイスドライバコード (IO.SYS) とDOSカーネル (MSDOS.SYS) が分離されていた。マイクロソフトはOEM Adaptation Kit (OAK) を提供し、OEMがデバイスドライバコードを自社の特定システムに合わせてカスタマイズできるようにした。1990年代初頭までにはほとんどのPCがIBM PC標準に準拠していたので、マイクロソフトはMS-DOS 5.0からMS-DOSの小売販売を開始した。

1980年代半ば、マイクロソフトはDOSのマルチタスク版を開発した[8][9]。一般的にこの版のDOSは "European MS-DOS 4" として知られるが、これはICL英語版向けに開発され、一部のヨーロッパ企業にライセンスされたからである。この版のDOSはプリエンプティブマルチタスク、共有メモリ、デバイスヘルパーサービス、およびNew Executable ("NE") フォーマットの実行ファイルをサポートしていた。これらの機能はいずれも以降のバージョンのDOSでは使用されなかったが、OS/2 1.0カーネルの基盤形成に使用された。なおこの版のDOSは、IBMが開発しDOS 3.3をベースとして幅広くリリースされたPC DOS 4.0とは別のものである。

IBM Personal Computer Version 1.0用のデジタルリサーチのCP/M-86

デジタルリサーチはCP/M-86で失った市場を取り返そうと、まずはConcurrent DOSFlexOS英語版およびDOS Plus英語版(MS-DOSとCP/M-86両方のソフトウェアと互換性がある)を、次にMultiuser DOS英語版(MS-DOSとCP/M-86両方のソフトウェアと互換性がある)とDR-DOS(MS-DOSのソフトウェアと互換性がある)を販売した。デジタルリサーチはノベルに買収され、DR-DOSはPalmDOSやNovell DOSとなった。その後はカルデラ英語版(カルデラにおける名称はOpenDOSおよびDR-DOS 7.02/7.03)、Lineo、そしてDeviceLogicsの一部門となった。

ゴードン・レトウィン英語版は1995年に、「DOSは、我々がそれを最初に書いた時点では、IBMを満足させて我々の言語を購入してもらうことを意図とした、一度きりの使い捨て製品に過ぎなかった」と記した[10]。マイクロソフトはDOSをXENIX導入までの一時的な繋ぎとして期待していた。マイクロソフトはMS-DOSを時間を掛けて改良し、シングルユーザー版XENIXとほぼ区別がつかないOSである "XEDOS" にする計画を立てていた。さらにXEDOSは68000Z8000、およびLSI-11でも動作する予定であった。XEDOSはXENIXの上位互換であり、バイトは1983年に「(XEDOSは)将来におけるマルチユーザー版MS-DOS」と評した[11][12]

MS-DOSと似たテキストモードを搭載したOS/2 1.0

しかしながら、IBMはDOSを置き換えるつもりはなかった[13]AT&TUNIXの販売を開始後、マイクロソフトとIBMはDOSの後継としてOS/2の開発を開始した[10]。両社はその後、DOSの後継OSであるOS/2とWindowsにおける意見の相違が積み重なっていった[14]。その結果、両社はDOSシステムをそれぞれ個別に開発するようになった[15]。MS-DOSの最後の小売版はMS-DOS 6.22であった。この後、MS-DOSはWindows 95、98、Meの一部となった。PC DOSの最後の小売版はPC DOS 2000(PC DOS 7 revision 1とも呼ばれる)であったが、後にIBMはOEMおよび社内利用向けとしてPC DOS 7.10を開発した。

マイクロソフトがMS-DOSの販売とサポートを終了すると発表した1994年6月26日に、FreeDOSプロジェクトが開始された。FreeDOSプロジェクトの提案者ジム・ホール英語版はその後、オープンソースの代替品開発を提案するマニフェストを投稿した。それから数週間以内にカーネル "DOS-C" の作者パット・ヴィラニ英語版やティム・ノーマンなどのプログラマ達がこのプロジェクトに参加した。カーネル、COMMAND.COM互換のコマンドラインインタプリタ、および中核となるユーティリティは、スクラッチビルドと流用可能コードを組み合わせて作成された。FreeDOSは幾度かの公式プレリリース版配布後、バージョン1.0が2006年9月3日にリリースされた。FreeDOSはGNU General Public License (GPL) に基づいて利用でき、ライセンス料や使用料は不要である[16][17]

衰退

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

継続使用

DOSBox

2025年現在時点で使用可能な互換システムとしては、FreeDOSROM-DOS英語版PTS-DOS、RxDOS[22]、およびREAL/32英語版が挙げられる。コンピュータメーカーの中には、OEMオペレーティングシステムとしてFreeDOS搭載のコンピュータを販売しているメーカーも存在し[23][24][信頼性要検証]、ハードウェアに近いことを理由に依然としてDOS互換システムを使用している開発者やコンピュータエンジニアも存在する[要出典]

組み込みシステム

DOSはハードウェアへ直接アクセスする構造であるため、組み込みシステムで使用できる。DR-DOSの最終バージョンは未だにこの市場向けとなっている[25]。ROM-DOSはキヤノンPowerShot Pro 70用オペレーティングシステムとして使われた[26]

エミュレーション

LinuxではDOSEMU英語版が使用できる。これはDOSプログラムをネイティブ並みの速度で動作させるためのLinuxネイティブ仮想マシンである。UNIXやMicrosoft Windowsの様々なバージョンにおいて、DOSEMU以外にもDOSを実行するためのエミュレータは数多く存在するが、その中の1つがDOSBoxである[27][28]。DOSBoxは現代のオペレーティングシステム上で(King's Quest英語版DOOMなどの)レトロゲームを遊ぶために設計されている[18][27]。DOSBoxに含まれるDOS実装はエミュレータと強固に結びつき実機では起動しないが、必要に応じてMS-DOSやFreeDOSなど他のDOSオペレーティングシステムもブートできる。

設計

MS-DOSとIBM PC DOSに関連するオペレーティングシステムは全て、インテルx86互換CPUを使うマシンを連想させる。特に連想されるマシンがIBM PC互換機である。MS-DOSのマシン依存版は、多くのIBM PCと互換性のないx86ベースマシン用に生産された。それらにはマイクロソフト配布をメーカー名で再ラベルしたものから、IBM PCと互換性のないハードウェアで動作するよう特別設計されたバージョンまで様々なバージョンが存在した。アプリケーションプログラムは、ハードウェアを直接制御せずその代わりにDOS APIを使用する限り、IBM PC互換機とそうでないマシンの両方で実行できた。FreeDOSカーネルの起源であるDOS-Cは、1990年代初頭の68000シリーズCPU用DOS/NTからの派生であった。これらのシステムはDOSアーキテクチャと大まかには似ていたものの、x86以外のCPU命令セットと互換性がないためアプリケーションはバイナリ互換ではなかった。ただし高水準言語で書かれたアプリケーションであれば移植は容易であった。

DOSはシングルユーザー・シングルタスクのオペレーティングシステムで、リエントラントではない基本的なカーネル機能が搭載されている。それらの機能は一度に1つのプログラムしか使うことができず、DOS自体は複数プログラムを同時実行する機能を持たない。DOSカーネルはプログラムに対し様々な関数 (API) を提供するので、これによりプログラムはキャラクタI/O、ファイル管理、メモリ管理、そしてプログラムのロードと終了などを行える。

DOSはバッチファイル拡張子.BAT)によるシェルスクリプトの使用を可能としている。バッチファイルの各行は実行プログラムとして解釈される。バッチファイルにはGOTO条件文などの内部コマンドも使用できる[29]

DOSはキャラクタベースのアプリケーションを開発するためのAPIを提供するが、このAPIではグラフィックカードプリンター、およびマウスなどのハードウェアのほとんどにアクセスできない。これを行うにはプログラマが直接ハードウェアにアクセスする必要があったため、各々のアプリケーションが各周辺機器用の独自デバイスドライバ一式を搭載することが普通となった。ハードウェアメーカーは、人気のアプリケーションがデバイスドライバを確保できるよう仕様を公開した[30]

ブートの流れ

  • PC互換機のブートストラップローダであるマスターブートレコード (MBR) は、ブートディスクの中にある最初のトラック(トラック0英語版)の最初のセクタに存在するブートセクタの始めに置かれている。ROM BIOSはこのセクタをメモリの0000h: 7C00h番地にロードし、通常はオフセット +1FEhにある署名 " 55h AAh" をチェックする。セクタが正常でなければROM BIOSは次の並びの物理ディスクを試行し、正常であれば特定のレジスタを設定してからロードアドレスへジャンプする。
  • ロードされたブートセクタが、パーティション化されたメディアで見つかったMBRであった場合、そのブートセクタはメモリの 0000h: 0600h番地に再配置される[31]。MBRでなかった場合この手順はスキップされる。ブートセクタはアクティブパーティションを探すためパーティションテーブルをスキャンする(新しいMBRはオフセット +1BEh+10h*nにビット7が設定されているかどうかをチェックするが、古いMBRは単に値が80hかどうかをチェックする)。アクティブパーティションが見つかった場合、そのパーティションはボリュームブートレコード英語版 (VBR) を保持しているため、ROM BIOSによるMBRのロードと同じ方法でVBRはメモリの 0000h: 7C00h番地にロードされる。その後MBRは特定のレジスタを設定してからロードされたVBRへ実行を渡す。
  • この時点で、 0000h: 7C00hにロードされたセクタの内容はVBRで構成される。VBRはOS固有であり、一般的には異なるDOSバージョン間でVBRを交換することはできない。これはVBRの挙動がDOSバージョンにより微妙に異なるからである。DOS 1.xなどかなり古いDOSのバージョンでは、VBRはIO.SYS/IBMBIO.COMファイル全体をメモリの 0000h: 0600h番地にロードする[32]。この作業のために、SYSによってこれらのセクタをディスクに連続した順序で格納する必要があった。後のDOSバージョンではルートディレクトリの最初の2つのエントリの内容を、メモリの 0000h: 0500h番地に配置して格納するようになり、これらがVBRに記録された通りの正しいブートファイルである場合、VBRはIO.SYS/IBMBIO.COMファイル内の先頭から三番目までのセクタを連続した順序でメモリの 0070h: 0000h番地にロードする。VBRはディスクパラメータテーブル (DPT) の内容も注意して保存する必要がある。最終的に特定のレジスタを設定してエントリポイントへジャンプすることにより、ロードされた部分に制御を渡す(この部分はDOSのバージョンによりかなりの違いがある)。
  • 後の[いつ?]DOSバージョンでは、VBRはIO.SYS/IBMBIO.COMファイルの先頭から三番目までの3セクタのみをメモリにロードする。このロードされた部分には別のブートローダが含まれており、メモリの 0000h: 0500h番地に格納されたルートディレクトリ情報を使用して、自身の残りの部分をメモリにロードする。ほとんどのバージョンでは、従来通りファイルの内容をディスクに連続した順序で格納する必要があった。古いバージョンのDOSでは一括でロードされるため、この手順は省略される。
  • DOSシステムの初期化コードは組み込まれたデバイスドライバを初期化した後、MS-DOSシステムのMSDOS.SYSに配置されたDOSカーネルをメモリにロードする。Windows 9xでは、DOSシステムの初期化コード、組み込まれたデバイスドライバおよびDOSカーネルは、単一のIO.SYSファイルに統合されているが、MSDOS.SYSはテキスト設定ファイルとして使用される。
  • その後、パラメータ設定の構文解析を行うためにCONFIG.SYSファイルが読み込まれる。 SHELL環境変数はシェルの存在位置を指定するが、デフォルトはCOMMAND.COMである。
  • シェルがロードされ実行される。
  • その後、シェルはスタートアップバッチファイルであるAUTOEXEC.BATを実行する[33][34]

ブートセクタがロードしたDOSシステムファイルは連続した順序で、かつ最初の2つのディレクトリエントリである必要がある[35]。このためDOSシステムファイルの追加や削除を行うと、メディアがブート不可能となる恐れがある。しかしながら、シェルを他のものへ自由に置き換えることはできるため、この置き換えにより専用アプリケーションの実行をより高速に開始できるようになる。DR DOSではどのバージョンにも、このブートセクタの制限は当てはまらないため、システムファイルをルートディレクトリ内の任意の場所に配置でき、かつ連続した順序で配置する必要もない。このため既にブートセクタがDR DOS互換ならば、単にシステムファイルをディスクへコピーするだけでよい。

PC DOSおよびDR DOSの5.0以降では、DOSシステムファイルのIO.SYSはIBMBIO.COM英語版へ、MSDOS.SYSはIBMDOS.COM英語版へとそれぞれ改名されている。古いバージョンのDR DOSではIO.SYSはDRBIOS.SYSへ、MSDOS.SYSはDRBDOS.SYSとそれぞれ改名されていた。

MS-DOS 7.0以降、バイナリシステムファイルIO.SYSとMSDOS.SYSは単一ファイルIO.SYSに統合され、MSDOS.SYSはCONFIG.SYSやAUTOEXEC.BATのような設定ファイルとなった。MSDOS.SYSにおいてBootGUIディレクティブが0に設定されると、ブートプロセスはコマンドプロセッサ(通常はCOMMAND.COM)をロードしてから、WIN.COMを自動的に実行せずコマンドプロセッサのまま起動する。

ファイルシステム

DOSが使用するファイルシステムは、8.3形式ファイル名をサポートする。8.3形式のファイル名は、名称を表す8文字と拡張子を表す3文字から構成される。DOS 2からは階層的ディレクトリがサポートされるようになった。各ディレクトリ名も8.3形式であるが、DOSによって保守される内部のカレントディレクトリ構造 (CDS) テーブルの制約上、ディレクトリパスの最大長は64文字である。DOSによってサポートされる、ドライブ名をも含む完全修飾ファイル名の最大長は80文字で、その形式は "ドライブレター:\パス\ファイル名.拡張子" で末尾にヌルバイトが付けられた文字列である。

DOSが使用するファイルシステムはFile Allocation Table (FAT) である。FATは当初、1ドライブあたり最大4078個のクラスタをサポートするFAT12であった。DOS 3.0でFAT16のサポートが追加され、16ビットアロケーションエントリを使用し1ドライブあたり最大65518個のクラスタをサポートした。Compaq MS-DOS 3.31ではFAT16Bのサポートが追加され、これにより32MiBのドライブ制限が削除され最大512MiBまでサポートできるようになった。最終的にMS-DOS 7.1(Windows 9xのDOSコンポーネント)ではFAT32のサポートが追加され、32ビットアロケーションエントリを使用し最大137GB (127GiB) 以上のハードディスクドライブをサポートできるようになった。

DOS 3.1以降、ファイルリダイレクトのサポートがDOSに追加された。ファイルリダイレクトは当初ネットワークをサポートするために使用されていたが、後にMicrosoft CD-ROM Extensions英語版 (MSCDEX) のサポートに使用された。IBM PC DOS 4.0から予備のファイルシステムとしてInstallable File System英語版 (IFS) もサポートされるようになったたが、使用されなかったためDOS 5.0でIFSは削除された。DOSはCONFIG.SYSからロードされたブロックデバイス(「ディスクドライブ」デバイス)もサポートしており、これをDOSファイルシステムの下で使用することでネットワークデバイスをサポートできた。

ドライブレターのスキーム

DOSにおいて、ドライブは識別文字であるドライブレターで参照される。通例として、"A" と "B" はフロッピーディスクドライブ用に予約される。フロッピーディスクドライブが1つしかないシステムでは、DOSは "A" と "B" の両方をそのドライブに割り当て、プログラムが交互にアクセスする際にユーザーへディスク交換を促す。この機能により、フロッピーからフロッピーへのコピーや、1枚のフロッピーからプログラム起動中に他のフロッピーへデータアクセスすることを容易となる。ハードドライブには当初 "C" と "D" が割り当てられていた。DOSは1台のドライブにアクティブパーティションは1つしかサポートできなかった。複数台のハードドライブがサポートされるようになると、まず最初に各ドライブのアクティブかつプライマリなパーティションへドライブレターを割り当て、次にドライブを渡り歩いて拡張パーティション英語版内の論理ドライブにドライブレターを割り当て、最後にアクティブではないパーティション(そのような追加パーティションが存在し、かつDOSがサポートするファイルシステムを含んでいた場合)にドライブレターを割り当てるように発展していった。最終的に、DOSはドライブレターを光学ドライブRAMディスク、そして他のハードウェアにも割り当てるようになった。ドライブレターは通常、ドライブがロードされた順に割り当てられるが、ドライバはDOSに異なる文字を割り当てることもできる。例えばネットワークドライブ用のドライバは、そのドライブレターとしてアルファベットの末尾に近い文字を割り当てることが多い[36]

DOSアプリケーションはこれらのドライブレターを直接使用する(Unix系はこれとは異なり /dev ディレクトリを使う)ため、ドライブレターを必要とするハードウェアが新たに追加されると、アプリケーションが異常終了する可能性がある。例として、既存のハードドライブの拡張パーティション内に論理ドライブが含まれている場合に、プライマリパーティションを持つハードドライブを新たに追加する場合を考える。新しいドライブには、拡張パーティション内に存在する論理ドライブのいずれか1つに対して、以前割り当てられていたドライブレターが割り当てられる。さらに拡張パーティション内に論理ドライブしか持たないハードドライブを新たに追加した場合でも、RAMディスクや光学ドライブに割り当てられるドライブレターが追加される前と異なってしまう。この問題はマイクロソフトのDOSベースであるWindows 9xシリーズでも引き続き発生していたが、NT系ベースのバージョンに置き換えられると、既存のドライブレターはユーザーが変更しない限り保持されるようになった。DOSにおいても、DOSプログラムをSUBSTで定義した論理ドライブにインストールすることでこの問題に対処できる。このドライブ割り当ては、アプリケーションを起動する度にバッチジョブで変更される。Concurrent DOSの一部のバージョン、Multiuser DOS、System Manager、およびREAL/32では、アプリケーションを起動する度にロードされた対応ドライブに対して、予約されたドライブレターである "L" が自動的に割り当てられる。

予約デバイス名

ファイルやフォルダを予約された名前にしようと試みると出力されるエラーメッセージ

DOSには予約されたデバイス名が存在する。この名前は組み込まれたデバイスが占有しているため、どのような拡張子を付けてもファイル名として使用できない。この制限はWindowsのバージョンのいくつかに影響を与え、場合によってはクラッシュやセキュリティ脆弱性の原因となる[37]

予約された名前を以下に示す:

Windows 95およびWindows 98では予約されたデバイス名を含むパス(CON/CON、AUX/AUX、PRN/PRNなど)を入力するとオペレーティング システムがクラッシュするが、マイクロソフトはこの問題に対するセキュリティ修正プログラムを提供した。Windows XPではファイルやフォルダの名前を予約されたデバイス名に変更しようとすると、通知やエラーメッセージを出さずに黙って以前の名前へリバートしてしまう。Windows Vista以降からは、ファイルやフォルダの名前に予約されたデバイス名を付けようとすると、「指定されたデバイス名は無効です」というエラーメッセージが表示される。

予約されたデバイス名(NULを除く)はMS-DOS、PC DOS、およびDR-DOSの全てのバージョンでサポートされ続けてきた[39]。MS-DOS 1.25では、一部のOEM版でLSTを使用できたが、それ以外のOEM版では既にPC DOSで導入されていたLPT1(第1ラインプリンタ)とCOM1(第1シリアル通信デバイス)を代わりに使用した。LPT1LPT2およびCOM1からCOM3に加えて、MS-DOS 2.11のHP Portable Plus英語版ヒューレット・パッカード製OEM版では、LSTエイリアスとしてLPT2を、82164AのエイリアスとしてCOM2をサポートし[40][41]プロッターのデバイス名であるPLTもサポートした[40][41]。その他のデバイス名として、COM2LPT2LPT3、およびCLOCK$(MS-DOS 2.11の一部の版ではCLOCKという名前のまま[42][40][41])クロックデバイスがDOS 2.0で導入され、COM3COM4がDOS 3.3で追加された[39]。マルチタスク版MS-DOS 4のみ、KEYBD$SCREEN$をサポートした。DR DOS 5.0以降とMultiuser DOSは、省電力とマルチタスク改善のための動的アイドル検出用デバイスに対応した$IDLE$英語版デバイスをサポートした。LPT4はDR-DOS 7.02以降の一部のバージョンでサポートされた、オプションの組み込みドライバである。CONFIG$はMS-DOS 7.0から8.0における、リアルモードPnPマネージャを構成した。

通常、AUXCOM1が、PRNLPT1 (LST) がデフォルトである[39]が、DOSの一部のバージョンではこれらのデフォルトを他のシリアルポートやパラレルデバイスへ変更できる[40][41][43]PLTデバイス(一部のHP OEMバージョンのMS-DOSにのみ存在)も同様にしてデフォルトを変更できた[40][41]

通例として、NUL:のようにコロン ( :) で終わるファイル名はデバイス名を表すが、実際にはこのコロンは組み込みデバイスドライバの名前の一部ではなく、場合によってはコロンを入力する必要はない。その例を以下に示す:

ECHO This achieves nothing > NUL

現在においても、ディスクセクタ内にあるディレクトリデータ構造を直接編集するなどの方法により、予約されたデバイス名でファイルやディレクトリを作成することができる。ウイルスやハッキングプログラムは、ファイル名に予約されたデバイス名を付けたり先頭を空白文字にするなどして、そのような名前のファイルへアクセスする方法を知らないユーザーからファイルを隠蔽してしまうことがある。

ファイル名をスペースで始めるなどこのような命名は、ウイルスハッキングプログラムによって、これらのパスへアクセスする方法を知らないユーザーからファイルを隠蔽するために使用されることがある。

メモリ管理

DOSは8088プロセッサ用に設計されており、直接アクセスできるRAMは最大1MiBまでである[44]。IBMとマイクロソフトの両社は、プログラムが使用できるメモリの最大量を640KiBと定め、残りの384KiBをビデオメモリ、一部のビデオおよびネットワーク周辺機器のアダプタの読み取り専用メモリ、およびシステムのBIOS用に予約した。1985年までに、一部のDOSアプリケーションが既にメモリの限界へ到達してしまった一方で、マシンの仕様によっては予約領域の大部分が未使用となっていた[45]

追加メモリへのアクセスを可能にする仕様が開発された。最初の仕様はExpanded Memory Specification (EMS) で、予約された上位メモリ領域内にある64KiBページフレームを介して追加カード上のメモリへアクセスできるように設計された[46]。80386以降のシステムからは、EMM386のような仮想86モード (V86) メモリマネージャを使用することで、追加カードがなくとも拡張メモリから拡張メモリを作成できるようになった。もう一つの仕様は80286以降からのExtended Memory Specification (XMS) である。これは初期メモリとUpper Memory Area (UMA) の1メガバイトより上位にある65,520バイトのHigh Memory Area英語版[47]への直接アクセスで、拡張メモリとデータをやり取りする方法を提供する。通常、XMSはHIMEM.SYS英語版またはQEMM386MAX英語版などのEMSもサポートするV86モードメモリマネージャにより提供された[48]

DOS 5以降[49]HMAを直接活用できるようになり、CONFIG.SYSにDOS=UMBという文を記述すればDOSのカーネルコードとディスクバッファをHMAにロードできるようになった[50]。またCONFIG.SYSにDOS=UMBいう文を記述すれば、UMBもHMAと同じ様に活用できるようになった[50]

OS/2およびWindows配下のDOS

OS/2およびWindowsにおけるDOSエミュレーションは、ネイティブアプリケーションとほぼ同じ方法で実行される。それらはドライバやサービスのの全てにアクセスが可能で、ホストのクリップボードすらも使用できる。ファイルシステムなどのドライバはホストシステムに存在するため、DOSエミュレーションにはDOSコールをOS/2やWindowsシステムコールへ変換するDOS API変換レイヤーのみ必要となる。一般的にその変換レイヤーはBIOSコールも変換して、DOSプログラムの多くによく使用される共通I/Oポートへのアクセスを仮想化する。

Windows 3.1および9xにおいて、DOS仮想マシンはWinOldApにより提供される。WinOldApはプログラムのPIFファイルと、Windowsがロードされた際のシステム情報とをベースに仮想マシンを作成する。DOSグラフィックモードは、文字表示でもグラフィック表示でも、ウィンドウ内にキャプチャされ起動される。DOSアプリケーションは、WinOldApが特別に公開するコールにアクセスすることでグラフィックWindowsクリップボードを使用でき、WinOldApグラフィックによりテキストを貼り付けることができる。

OS/2とWindows NTでエミュレートされたDOSはDOS 5ベースである。デフォルト設定(CONFIG.SYSおよびAUTOEXEC.BAT)は存在するが、セッション毎に異なるファイルを使用することもできる。これらのファイル内のドライバをロードしてホストシステムにアクセスできるが、通常これらはサードパーティー製である。

バージョン2.x以降のOS/2配下では、DOSエミュレーションはDOSKRNLにより提供される。これはIBMBIO.COMとIBMDOS.COMを統合したファイルで、システムコールはOS/2ウィンドウサービスへと渡される。DOSプログラムは独自の環境で実行されるが、DOSユーティリティの大半は、バインドされた\OS2ディレクトリ内のDOS / OS2アプリケーションによって提供される。OS/2はWindowsの改変コピー (Win-OS/2) を使用してWindows 3.1アプリケーションを実行できる。この改変コピーにより、Windows 3.1プログラムをシームレスにOS/2デスクトップで実行でき、またDOSからのWindows起動と同じ様にWin-OS/2デスクトップを起動できるようになった。

OS/2は「ドライブA:からのDOS」 (VMDISK) を認めている。これはMS-DOS 6.22やPC DOS 5.00のように実際のDOSである。ブート可能なDOSのフロッピーディスクを作成し、OS/2から数多くのドライバを追加してから特殊なイメージを作成する。この方法でブートされたDOSはシステムへフルアクセスできるが、ハードウェア用のドライバは独自提供される。このディスクを使うことで、OS/2用ドライバが存在しないCD-ROMドライブにもアクセスできる。

1993年以降におけるWindows NTファミリーの全ての32ビット (IA-32) 版では、DOSエミュレーションは仮想DOSマシン (NTVDM) の手段で提供される。Windowsの64ビットIA-64x86-64)版はNTVDMをサポートせず16ビットDOSアプリケーションを直接実行できない。DOSboxなどサードパーティーのエミュレータは64ビットマシンでDOSプログラムを実行するために使用できる。

ユーザインタフェース

DOSシステムはコマンドラインインタフェースを使用し、プログラムはそのファイル名をコマンドプロンプトへ入力して開始する。DOSシステムにはユーティリティプログラムが含まれ、対応するプログラムが存在しない内部コマンドを提供する[51]

よりユーザーフレンドリーな環境を提供するため、ソフトウェアメーカーの多くがWIMP英語版インタフェースをユーザーに提供するファイルマネージャプログラムを作成した。その顕著な例はMicrosoft Windowsで、最終的にはMicrosoft Windows 9xが自己充足したプログラムローダーとなり、DOSに代わり最も使用されるPC互換機のプログラムローダーとなった。テキストユーザインタフェースプログラムにはNorton CommanderDOS Navigator英語版Volkov Commander英語版DESQview、およびSidekickがある。グラフィカルユーザインタフェースにはデジタルリサーチのGEM(元々はCP/M用に作成された)やGEOSがある。

最終的に主要なDOSシステムのメーカーは独自の環境マネージャを組み込むようになった。MS-DOS/IBM DOS 4にはDOSシェルが含まれ[52]、その翌年にはGEMベースのViewMAX[53]を搭載したDR DOS 5.0がリリースされた。

終了および常駐維持

DOSはマルチタスクオペレーティングシステムではないが、Terminate and Stay Resident (TSR) 機能を提供し、これによってプログラムをメモリへ常駐させ続けることが可能となる。システムタイマーやキーボードの割り込みをフックすることで、常駐プログラムにバックグラウンドタスク実行や、任意タイミングでの呼び出しが可能となる。これにより、現在実行中のプログラムのプリエンプトや、プログラム独自基盤における単純形式マルチタスクの効果的実装が可能となる。PRINT英語版コマンドは、バックグラウンド印刷スプーリングを実装するために常駐プログラム化される。ポップアップのPersonal Information Manager (PIM) であるSidekickもこの技術を利用する。

Terminate and Stay Residentプログラムは、デフォルトでは利用できない追加機能も提供する。CEDやDOSKEY英語版のようなプログラムは、COMMAND.COMで利用可能な機能を超えるコマンドライン編集機能を提供する。Microsoft CD-ROM Extensions (MSCDEX) のようなプログラムは、CD-ROMディスクへのファイルアクセスを提供する。

一部のTSRでは原始的形式のタスク切り替えを行える。例えば、シェアウェアプログラムのBack and Forth(1990年)[54]は、ホットキーにより現在実行中のプログラムの状態をディスクにセーブし別のプログラムをロードしてそれに切り替える、つまりプログラムの「前と後 (Back and Forth) 」を切り替えるためのソフトウェアである(ただし、ディスクアクセスが必要なため低速である)。Back and Forthではバックグラウンドプロセスの実行はできない。バックグラウンドプロセスの実行にはDESQviewが必要であった(80386以上)。

ソフトウェア

Arachneウェブブラウザ

開発ツール

関連項目

  • COMMAND.COM - DOSとWindows 9x系用のコマンドラインインタプリタ
  • CP/M - DOSと類似したデジタルリサーチのOS
  • Disk Control Programドイツ語版 - DCP、西ドイツのVEB Robotron英語版によるMS-DOS派生
  • DOS API
  • DOS/V
  • DOSゲームの索引英語版
  • DOSと称されるディスクオペレーティングシステムの一覧英語版
  • PC-MOS/386英語版 - DOS互換のマルチユーザーOS
  • VGAテキストモード英語版 - IBM PC互換機におけるDOSのTUI基盤

脚注

  1. ^ DOS the Easy Way. EasyWay Downloadable Books. (1988). ISBN 0-923178-00-7 
  2. ^ Dictionary.com Archived 2017-11-12 at the Wayback Machine.
  3. ^ “Mary Gates, 64; Helped Her Son Start Microsoft”. New York Times. (1994-06-11). https://www.nytimes.com/1994/06/11/obituaries/mary-gates-64-helped-her-son-start-microsoft.html 2023年4月11日閲覧。. 
  4. ^ a b Rolander, Tom. “The rest of the story: How Bill Gates beat Gary Kildall in OS war, Part 1”. The Scoble Show (Interview). Interviewed by Scoble, Robert. 2007年11月4日時点のオリジナルよりアーカイブ.
  5. ^ Just Say No to Microsoft. No Starch Press. (2005). pp. 9–11. ISBN 1-59327-064-X. https://archive.org/details/justsaynotomicro00bove 
  6. ^ “Bill Gates, Microsoft and the IBM Personal Computer”. InfoWorld: 22. (1982-08-23). オリジナルの2015-03-18時点におけるアーカイブ。. https://web.archive.org/web/20150318020802/https://books.google.com/books?id=VDAEAAAAMBAJ&lpg=PA19&pg=PA22 2015年1月29日閲覧。. 
  7. ^ Freiberger, Paul (1982-09-13). “Zenith challenges IBM's share of micro market”. InfoWorld: 35. https://books.google.com/books?id=EDAEAAAAMBAJ&pg=PA35 2025年3月19日閲覧。. 
  8. ^ Did you know that OS/2 wasn't Microsoft's first non Unix multi-tasking operating system?”. 2012年11月4日時点のオリジナルよりアーカイブ。2025年10月21日閲覧。
  9. ^ Larry Osterman's Biography”. 2013年6月2日時点のオリジナルよりアーカイブ。2025年10月21日閲覧。
  10. ^ a b Letwin, Gordon (17 August 1995). “What's happening to OS/2”. Newsgroupcomp.os.os2.advocacy. Usenet: DDFvKo.G4M@lab.lwpi.com. 2013年11月6日閲覧.
  11. ^ “Of IBM, Operating Systems, and Rosetta Stones”. BYTE: 6. (January 1982). https://archive.org/stream/byte-magazine-1982-01/1982_01_BYTE_07-01_The_IBM_Personal_Computer#page/n7/mode/2up 2013年10月19日閲覧。. 
  12. ^ “The Unix Tutorial / Part 3: Unix in the Microcomputer Marketplace”. BYTE: 132. (October 1983). https://archive.org/stream/byte-magazine-1983-10/1983_10_BYTE_08-10_UNIX#page/n133/mode/2up 2015年1月30日閲覧。. 
  13. ^ “Unix and the Single User”. InfoWorld: 28. (1984-12-10). オリジナルの2018-01-29時点におけるアーカイブ。. https://web.archive.org/web/20180129162940/https://books.google.com/books?id=si4EAAAAMBAJ&lpg=PA31 2015年2月7日閲覧。. 
  14. ^ “Microsoft Widens Its Split With I.B.M. Over Software”. The New York Times. (1991-07-27). オリジナルの2010-11-02時点におけるアーカイブ。. https://web.archive.org/web/20101102233112/http://query.nytimes.com/gst/fullpage.html?res=9D0CE0D81339F934A15754C0A967958260 2008年9月2日閲覧。. 
  15. ^ “I.B.M. Executive Describes Price Pressure by Microsoft”. New York Times. (1999-05-28). オリジナルの2008-12-11時点におけるアーカイブ。. https://web.archive.org/web/20081211172916/http://query.nytimes.com/gst/fullpage.html?res=990DEEDD1630F93BA15756C0A96F958260 2008年9月2日閲覧。. 
  16. ^ The past, present, and future of the FreeDOS Project” (2002年3月25日). 2012年5月29日時点のオリジナルよりアーカイブ。2008年6月14日閲覧。
  17. ^ History of FreeDOS”. freedos.org (2006年9月23日). 2007年5月27日時点のオリジナルよりアーカイブ。2007年5月28日閲覧。
  18. ^ a b HOW TO: Coax retro DOS games to play on Vista” (2006年10月13日). 2008年8月1日時点のオリジナルよりアーカイブ。2008年7月3日閲覧。
  19. ^ Finding The DOS In Windows 95”. Smart Computing (1996年3月). 2004年7月7日時点のオリジナルよりアーカイブ。2008年7月12日閲覧。
  20. ^ What was the role of MS-DOS in Windows 95?”. The Old New Thing - Site Home - MSDN Blogs (2007年12月24日). 2014年2月5日時点のオリジナルよりアーカイブ。2014年2月5日閲覧。
  21. ^ Description of Restarting Computer in MS-DOS Mode”. support.microsoft.com (2007年1月19日). 2014年2月5日時点のオリジナルよりアーカイブ。2014年2月5日閲覧。
  22. ^ Home”. rxdos.sourceforge.net. 2025年10月21日閲覧。
  23. ^ Jim Hall's blog - 2007” (2007年7月13日). 2012年10月25日時点のオリジナルよりアーカイブ。2008年6月12日閲覧。
  24. ^ Dell PCs Featuring FreeDOS”. 2008年3月19日時点のオリジナルよりアーカイブ。2008年6月14日閲覧。
  25. ^ DR-DOS Embedded DOS”. 2008年12月21日時点のオリジナルよりアーカイブ。2008年9月26日閲覧。
  26. ^ “Datalight DOS Selected for Canon's New Line of Digital Still Cameras”. Business Wire. (1999年8月24日). オリジナルの2012年7月9日時点におけるアーカイブ。. https://archive.today/20120709115533/http://findarticles.com/p/articles/mi_m0EIN/is_1999_Feb_23/ai_53930374/ 2008年9月26日閲覧。 
  27. ^ a b DOSBox Information”. 2008年5月25日時点のオリジナルよりアーカイブ。2008年5月18日閲覧。
  28. ^ DOSEMU Home” (2007年5月5日). 2008年7月23日時点のオリジナルよりアーカイブ。2008年7月3日閲覧。
  29. ^ Batch File Help”. computerhope.com. 2008年9月7日時点のオリジナルよりアーカイブ。2008年9月10日閲覧。
  30. ^ ZINGTECH - Guide to the New Game Programmer”. 2008年12月19日時点のオリジナルよりアーカイブ。2008年9月2日閲覧。
  31. ^ The Master Boot Record (MBR) and What it Does”. 2013年5月27日時点のオリジナルよりアーカイブ。2025年10月21日閲覧。 090912 dewassoc.com
  32. ^ Reverse-Engineering DOS 1.0 – Part 1: The Boot Sector « pagetable.com”. 2009年5月11日時点のオリジナルよりアーカイブ。2025年10月21日閲覧。 090912 pagetable.com
  33. ^ CONFIG.SYS Commands”. 2009年5月2日時点のオリジナルよりアーカイブ。2025年10月21日閲覧。 090913 academic.evergreen.edu
  34. ^ The DOS Boot Process”. The PC Guide (2001年). 2008年7月19日時点のオリジナルよりアーカイブ。2008年9月2日閲覧。
  35. ^ misc.txt”. 2010年6月29日時点のオリジナルよりアーカイブ。2025年10月21日閲覧。 090912 arl.wustl.edu
  36. ^ Drive Letter Assignment and Choosing Primary vs. Logical Partitions”. The PC Guide (2001年4月17日). 2012年4月17日時点のオリジナルよりアーカイブ。2012年4月4日閲覧。
  37. ^ Microsoft Windows MS-DOS Device Name DoS Vulnerability”. 2011年7月25日時点のオリジナルよりアーカイブ。2008年9月2日閲覧。
  38. ^ a b DOS device names definition”. PC Magazine英語版. 2008年9月29日時点のオリジナルよりアーカイブ。2008年9月2日閲覧。
  39. ^ a b c MS-DOS Device Driver Names Cannot be Used As File Names”. マイクロソフト (2003年5月12日). 2012年7月21日時点のオリジナルよりアーカイブ。2025年10月21日閲覧。
  40. ^ a b c d e Hewlett-Packard - Technical Reference Manual - Portable PLUS (1 ed.). Corvallis, OR, USA: ヒューレット・パッカード, Portable Computer Division. (August 1985). 45559-90001. https://archive.org/details/bitsavers_hpportableblePLUSTechnicalReferenceManualAug1985_25919880 2016年11月27日閲覧。 
  41. ^ a b c d e Hewlett-Packard - Technical Reference Manual - Portable PLUS (2 ed.). Portable Computer Division, Corvallis, OR, USA: ヒューレット・パッカード. (December 1986). 45559-90006. オリジナルの2016-11-28時点におけるアーカイブ。. https://web.archive.org/web/20161128194426/http://www.jeffcalc.hp41.eu/hpplus/files/techrefman.pdf 2016年11月27日閲覧。 
  42. ^ Microsoft DOS V1.1 and V2.0: /msdos/v20source/SKELIO.TXT, /msdos/v20source/HRDDRV.ASM”. Computer History Museum, マイクロソフト (2013年12月19日). 2014年3月26日時点のオリジナルよりアーカイブ。2014年3月25日閲覧。 (NB. While the publishers claim this would be MS-DOS 1.1 and 2.0, it actually is SCP MS-DOS 1.25 and a mixture of Altos MS-DOS 2.11 and TeleVideo PC DOS 2.11.)
  43. ^ Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM README.TXT” (1997年10月2日). 2003年10月4日時点のオリジナルよりアーカイブ。2009年3月29日閲覧。 [1]
  44. ^ Bailes & Mueller 1992, p. 5.
  45. ^ Bailes & Mueller 1992, pp. 42–44.
  46. ^ Bailes & Mueller 1992, pp. 67–68.
  47. ^ Mueller 1998, pp. 243–244.
  48. ^ Bailes & Mueller 1992, p. 79–80.
  49. ^ Mueller 1998, p. 243.
  50. ^ a b Bailes & Mueller 1992, pp. 150–151.
  51. ^ DOS the Easy Way. EasyWay Downloadable Books. (2008). pp. 7–12. ISBN 978-0-923178-02-4 
  52. ^ DOS the Easy Way. EasyWay Downloadable Books. (2008). p. 71. ISBN 978-0-923178-02-4. オリジナルの2015-03-18時点におけるアーカイブ。. https://web.archive.org/web/20150318124401/http://books.google.com/books?id=vrsSflB2o5sC 
  53. ^ Dvorak's Guide to DOS and PC Performance. Osborne McGraw-Hill. (1991). pp. 442–444 
  54. ^ Version 1.47 is archived at Back and Forth 1.47”. 2013年11月5日時点のオリジナルよりアーカイブ。2013年8月5日閲覧。 and says "(C) 1990 by Progressive Solutions, Inc."
  55. ^ Whatever Happened To Lotus 1-2-3?” (2002年2月1日). 2009年1月9日時点のオリジナルよりアーカイブ。2008年7月12日閲覧。

参考文献

外部リンク




英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  
  •  DOS (オペレーティングシステム)のページへのリンク

辞書ショートカット

すべての辞書の索引

「DOS (オペレーティングシステム)」の関連用語

DOS (オペレーティングシステム)のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



DOS (オペレーティングシステム)のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのDOS (オペレーティングシステム) (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS