DOSとは?ディスクオペレーティングシステムの歴史・仕組み・遺産を徹底解説
DOS(Disk Operating System:ディスクオペレーティングシステム)とは、ディスクドライブから動作するオペレーティングシステム(OS)のことです。この用語は、特定のディスクオペレーティングシステムファミリー、とりわけMS-DOS(Microsoft DOS)を指すこともあります。MS-DOSは1995年までパソコン(PC)の主要なOSであり、より使いやすいGUI(グラフィカルユーザーインターフェース)ベースのWindows 95の登場により、その人気は次第に薄れていきました。
DOSの歴史
1940年代〜1950年代の初期のコンピュータにはディスクドライブが存在せず、特定の計算を実行するように配線そのもので固定されていました。その後のコンピュータでは、パンチカードなどの紙媒体を使って命令をメモリに読み込み、さらに後には磁気テープが使われるようになりました。当時はコンピュータのメモリ容量が限られており、コンピュータを制御する命令をフロッピーディスクや内蔵ハードディスクドライブ(HDD)といったディスクドライブ上に格納できることは、最先端技術とみなされていました。
オペレーティングシステムとは、コンピュータのハードウェア構成要素(メモリ、プロセッサなど)や周辺機器を制御する命令を提供し、他のソフトウェアプログラムの動作を可能にするソフトウェアです。これらの命令はHDDやその他の記憶媒体に保存されます。DOSは、コンピュータのHDDから起動し、コマンドラインインターフェース(CLI)を提供することで、ユーザーがキーボードでコマンドを入力してシステムやその各構成要素にアクセス・操作できるようにする、特殊なタイプのOSです。CLIを使用することが、ディスクオペレーティングシステムと現代のGUIベースOSとの最大の違いです。
「DOS」という用語は、類似のコマンドライン型ディスクオペレーティングシステム群を指す言葉としても使われてきました。Commodore 64、Atari 800、Apple IIといった初期のコンピュータには、それぞれCommodore Business Machines DOS、Atari DOS、Apple DOSというディスクオペレーティングシステムが搭載されていました。また、1966年に登場したIBMメインフレーム向けOS「DOS/360」も存在しますが、これは1980年代の8086ベースのパソコン用DOSとは無関係です。
ディスクオペレーティングシステムの仕組み
コンピュータの電源を入れると、「ブートプロセス」と呼ばれる一連の手順が実行されます。ディスクオペレーティングシステムを実行する場合、以下の6つのステップが標準的な起動手順となります。
- ROM(読み出し専用メモリ)のブートストラップローダーがマスターブートレコード(MBR)を読み込み、制御を渡します。
- ブートレコードがディスクオペレーティングシステムをメモリにロードし、OSがマシンの制御権を握ります。
- コンピュータは磁気ディスクに保存されたデータを主記憶装置であるRAM(ランダムアクセスメモリ)へ転送します。
- 同時に、画面やプリンターなどコンピュータに接続された外部デバイスにもデータを転送します。
- 文字入出力(I/O)、メモリ管理、プログラムのロードと終了、キーボードからのユーザー入力処理など、プログラム向けの各種API(アプリケーションプログラミングインターフェース)を提供します。
- さらにOSはファイルシステム管理も担い、ストレージ上のファイルの整理・読み書きを行います。管理システムは、ディレクトリ、サブディレクトリ、ファイルからなる階層構造を採用しています。
DOSとコマンドラインインターフェース
DOSはGUIではなくキャラクターベースのインターフェースを持つため、ユーザーはコマンドラインにテキスト形式のコマンドを入力して、ファイルの検索や特定プログラムの実行など、OSに実行させたい操作を指示する必要があります。コマンドラインでの作業は複雑で煩雑になりがちなため、非グラフィカルなOSは廃れつつあります。
とはいえ、非グラフィカルなOSはシステムリソースの消費が最小限で、軽量・高速・柔軟という利点があります。また、標準コマンドを熟知しているユーザーにとっては、特に以下のような用途において、GUIベースのOSよりも扱いやすい場合があります。
- ハードウェアやソフトウェアの問題のトラブルシューティング
- 破損したHDDからのデータ復旧
- HDDパーティションの作成
- アンチウイルスソフトの実行
- レガシーソフトウェアの実行
- システムBIOSのセットアップと設定
- ファイル/データバックアップの設定
- システムの日付・時計設定の更新
DOSの主な特徴
すべてのディスクオペレーティングシステムに共通する主な特徴は以下の通りです。
- CLI: どのDOSにもGUIは存在せず、マウス入力は受け付けません。すべてのコマンドをコマンドラインプロンプトでテキストとして入力する、キャラクターベースのインターフェースシステムです。
- プロンプト: 現在のディレクトリ(フォルダ)の場所を示す視覚的なメッセージ「プロンプト」を表示し、ユーザーがキーボードからさまざまなコマンドを入力できるようにします。
- 管理機能: コンピュータのファイル、I/Oシステム、メモリの管理に役立ちます。
- バッチファイル: 複数のコマンドを自動化できるマクロとしてバッチファイルをサポートしており、タスクを簡素化し、時間と労力を節約できます。
- カーネル: DOSカーネルはOSの頭脳として機能し、メモリ割り当てやファイルアクセスなどの基本的な動作を管理するとともに、コンピュータとプログラムが相互にやり取りするためのインターフェースを提供します。
- データ復旧機能: クラッシュやハードディスクの破損といった予期しない事態が発生した際、DOSからコンピュータを起動することでデータ復旧に役立てられます。
DOSの制限事項
かつて広く普及していたOSではあるものの、DOSにはいくつかの制限があります。
- セキュリティ機能の欠如: ファイルの所有権やアクセス権限といった組み込みのセキュリティ機能がありません。
- マルチユーザー・マルチタスク非対応: シングルタスクOSであるため、マルチユーザーやマルチタスクをサポートしていません。そのため、一度に実行できるのは1つのプログラムだけです(ただし、基本I/Oシステムや基盤ハードウェアへの直接アクセスは可能です)。
- 扱いにくいインターフェース: ユーザーがコマンドを入力する必要があるCLIでは、プログラムの実行やその他のOS操作のためにコマンドを暗記しておく必要があります。
- 予期しない結果: コマンド入力のわずかなミスが、意図しない結果につながることがあります。例えば、現在のディレクトリ内のファイル一覧を表示したいのに「cd \directory_name」と入力すると、このコマンドはカレントワーキングディレクトリを指定したディレクトリに変更してしまいます。フォルダの中身を一覧表示するには「dir」コマンドを使う必要があります。
- ディスクディレクトリ情報の更新の遅さ: MS-DOSなど一部のディスクオペレーティングシステムでは、アプリケーションがファイルをクローズするまでディスクディレクトリ情報が更新されません。そのためファイルが安全でない状態のままになり、プログラミング上の問題を引き起こす可能性があります。
よく使われるDOSコマンド
MS-DOSは大文字小文字を区別しないため、コマンドは大文字でも小文字でも入力できます。ただし、大文字小文字を区別するCLIを持つディスクオペレーティングシステムもあります。代表的なDOSコマンドは以下の通りです。
| コマンド | 機能 | 使用例 |
|---|---|---|
| cd | ディレクトリを変更する | コマンドラインに「cd c:\techtarget」と入力すると、ワーキングディレクトリがc:\techtargetに変更されます。 |
| cls | 画面上のすべての内容を消去し、コマンドプロンプトのみを残す | コマンドラインに「cls」と入力します。 |
| copy | 1つ以上のファイルを別の場所にコピーする | 「copy c:\techtarget\file.txt c:\techtarget\file2.txt」と入力すると、c:\techtarget\file.txtがc:\techtarget\file2.txtにコピーされます。 |
| del | 1つ以上のファイルを削除する | 「del c:\techtarget\file2.txt」と入力すると、c:\techtargetディレクトリからfile2.txtが削除されます。 |
| deltree | ディレクトリとその中身をすべて削除する | 「deltree c:\techtarget\drafts」と入力すると、draftsディレクトリと、そこに含まれるすべてのファイルおよびサブディレクトリが削除されます。 |
| dir | ディレクトリ内のファイルとサブディレクトリの一覧を表示する | 「dir c:\techtarget」と入力すると、c:\techtargetディレクトリ内のファイルとディレクトリの一覧が表示されます。 |
| format | ディスクをDOS用にフォーマットする | 「format e:」と入力すると、e:ドライブのディスクがDOSで使用できるようフォーマットされます。 |
| help | 利用可能なコマンドの一覧、または特定コマンドの詳細情報を表示する | 「help del」と入力すると、delコマンドに関する情報と使い方が表示されます。ほとんどのコマンドにはオプションのスイッチがあり、ヘルプ情報で解説されています。 |
| mkdir / md | 新しいサブディレクトリを作成する | 「mkdir c:\techtarget\drafts」と入力すると、c:\techtargetディレクトリ内にdraftsサブディレクトリが作成されます。 |
| move | ファイルやディレクトリを別のディレクトリやドライブへ移動する | 「move c:\techtarget\file.txt c:\techtarget\drafts\file.txt」と入力すると、c:\techtarget\file.txtがc:\techtarget\drafts\file.txtへ移動されます。 |
| ren / rename | ファイルやディレクトリの名前を変更する | 「ren c:\techtarget\file.txt c:\techtarget\file2.txt」と入力すると、c:\techtarget\file.txtの名前がc:\techtarget\file2.txtに変更されます。 |
| type | ファイルの内容を画面に表示する | 「type c:\myfile.txt」と入力すると、myfile.txtファイルの内容が表示されます。 |
| * | 1つ以上の任意の文字を表すワイルドカード文字 | 「copy c:\techtarget\*.txt c:\techtarget\drafts」と入力すると、拡張子が.txtのすべてのファイルがc:\techtarget\draftsにコピーされます。 |
| ? | 1文字の任意の文字を表すワイルドカード文字 | 「copy c:\techtarget\document?.txt c:\techtarget\drafts」と入力すると、document1.txt、document2.txtなどのファイルがc:\techtarget\draftsにコピーされます。 |
DOSの歴史の詳細と将来性
1970年代のマイクロプロセッサの登場はコンピューティング革命の幕開けとなり、パソコン市場は急成長を遂げました。IBMは1981年8月に「IBM 5150 Personal Computer」を発売しました。この新型コンピュータの開発を加速させるため、IBMは各種コンポーネントを他社からライセンス供与を受けることを決めました。
IBMが最初にOS候補としたのはDigital Research社のCP/M-86でしたが、秘密保持契約やライセンス条件をめぐる意見の相違により、IBMはMicrosoftが提供するCP/Mに似たOSを選択しました。それが当初「QDOS」「86-DOS」と呼ばれていたものです。
Microsoftは1980年にQDOS(86-DOS)を販売する権利を取得しました。このOSはSeattle Computer Products(SCP)のTim Patersonによって開発されたもので、元々は「Quick and Dirty OS」の略称であるQDOSと呼ばれていました。「86」という数字は、このOSがIntel 8086プロセッサ向けに設計されたことに由来します。1981年にSCPを退職してMicrosoftに移籍したPatersonは、IBM PC向けの86-DOSのPC-DOS版の開発に携わりました。PC-DOSは、Intel 8086を搭載したPCに初めて広くインストールされたDOSです。
MicrosoftはPC-DOSとほぼ同一の独自バージョン「MS-DOS」を開発し、1981年に最初のバージョンをリリースしました。PCの売上が伸びるにつれ、MS-DOSの普及も拡大していきました。以降のバージョンでは性能が向上し、外国語文字や拡張文字への対応、大容量HDDのサポートといった追加機能が盛り込まれました。後期のMS-DOSでは、メモリ管理の強化、テキストエディタの改良、ネットワークサポートも実現されています。
MicrosoftがWindowsをMS-DOS用のGUIとして初めて発表した当時、初期のユーザーはDOSプロンプトで「WIN」と入力してWindowsプログラムを起動する必要がありました。Windowsはその後、MS-DOS上で動作するGUIプログラムから、デフォルトOSとして取って代わる本格的なOSへと進化しました。ただし、コンシューマー版WindowsがWindowsカーネルのブートにDOSプログラムwin.comに依存しなくなったのは、Windows XPからです。
MS-DOSの最後の市販バージョンはMS-DOS 6.22、PC-DOSの最後の市販リリースはPC-DOS 2000でした。MS-DOSはその後もWindowsにバンドルされ続けましたが、個別のソフトウェアライセンスは不要になりました。現在でも、MS-DOSインターフェースをエミュレートするコマンドプロセッサを使えば、Windows上で実行できます。また、MS-DOSをベースとし互換性のあるオープンソース版DOS「FreeDOS」も存在します。その他のバージョンとしては、DR-DOS、ROM-DOS、PTS-DOS(PhysTechSoft DOS)などがあります。
数多くのレガシーアプリケーションをサポートしていることから、ディスクオペレーティングシステムは当面の間、使い続けられると考えられます。今日では、シンプルな組み込みシステムやその他の用途に活用でき、マシン非依存性を備えている点、そして無料・オープンソースOSならライセンス費用がゼロである点が魅力です。
一方で、こうしたレガシーOSは重大なセキュリティ問題を抱えており、SQLインジェクション、中間者(MitM)攻撃、ゼロデイ脆弱性、さらにはウイルス、ワーム、ランサムウェア、トロイの木馬といった従来型の攻撃から防御するのが困難です。
ディスクオペレーティングシステムは、パーソナルコンピューティングの初期発展において重要な役割を果たしました。最初の開発から約55年が経過した今日でも、コンピューティング史上最も重要なOSの一つとして確固たる地位を占めています。
DOSとDoSの違いに注意
注意点として、ディスクオペレーティングシステムの略称は常に「DOS」(3文字すべて大文字)です。小文字の「o」を含む「DoS」は「Denial of Service(サービス拒否攻撃)」の略で、異常に大量のリクエストを送り付けてリソースを枯渇させ、正規のユーザーがアクセスできないようにするネットワーク攻撃手法を意味します。両者は全く別の概念なので混同しないようにしましょう。
-
MacでBitLocker暗号化ドライブを開く方法|M3 BitLocker Loader for Mac 徹底レビュー
本記事はM3 Softwareの提供による記事です。内容および見解は、編集の独立性を保った執筆者自身のものであり、スポンサーの意向によって左右されるものではありません。 ここ数年Windowsを使っている方なら、「BitLocker」という名前を耳にしたことがあるでしょう。初めて聞く方のために簡単に説明すると、BitLockerはMicrosoftが提供するディスク暗号化機能で、大切なファイルを第三者の覗き見から守ってくれるセキュリティ機能です。 しかし残念なことに、この便利な暗号化機能は、macOSや一部のWindowsエディションといった非対応の環境では、せっかくのファイルへのアク
-
MacでPDFドキュメントからページを抽出する方法【プレビューとSmallpdf】
大きなPDFドキュメントの中から、必要なのはたった1ページだけ――そんな経験はありませんか?複数ページのPDFから特定のページを素早く取り出す方法がわからず、困っている方も多いはずです。実は、Macユーザーなら標準搭載されている「プレビュー(Preview)」アプリを使えば、追加ダウンロードやサードパーティ製ソフトなしで簡単に作業を完了できます。この記事では、PDFファイルから1ページだけを抜き出す方法を、手順を追って詳しく解説します。 プレビューを使ってPDFからページを抽出する手順 1. ページを抽出したいPDFファイルを右クリックし、「このアプリケーションで開く」から「プレビュー」を選