「MS-DOS」の版間の差分
削除された内容 追加された内容
m編集の要約なし |
編集の要約なし |
||
(3人の利用者による、間の7版が非表示) | |||
1行目:
{{Pathnav|マイクロソフト|frame=1}}
{{Infobox OS
|name=
|screenshot=[[File:StartingMsdos.png]]
|caption=
|developer=[[マイクロソフト]]
|source_model=[[クローズドソース]]
|programmed_in=[[アセンブリ言語]]
|language=多言語
|prog_language=[[C言語]]、
|kernel_type=[[モノリシックカーネル]]
|working_state=終了
18行目:
}}
{{Wikibooks|MS-DOS/PC DOS入門}}
'''
==概要==
MS-DOS(および[[IBM PC DOS|PC DOS]]等)は、[[Intel 8086|8086]]系の[[マイクロプロセッサ]]を[[CPU]]とする[[パーソナルコンピュータ]]向けのシングルタスクの[[オペレーティングシステム]]で、[[DOS (OS)|DOS]](ディスクオペレーティングシステム)の名の通り、[[磁気ディスク|ディスク]]の管理が主機能である(DOSという名前だからといって必ずしもそうとは限らないが、少なくともMS-DOSのプロセス管理機能は、シングルタスクに代表されるように、低機能・低性能である)。
基本的なユーザーインターフェースは[[キャラクタユーザインタフェース]](CUI)で、[[コマンドラインインタプリタ]] <code>COMMAND.COM</code> の表示する[[コマンドプロンプト]]にコマンドを与えて操作を行う。一部のメーカーが独自に追加したり、後のバージョンで搭載されたグラフィカルなツールもある。
歴史的には[[1981年]]にIBMが初代[[IBM PC]]用に発売したDOSが「
両社はバージョン5まではOS共同開発契約(OSクロスライセンス契約)を結んでおり互換性が保たれた。当時は[[8ビット]]市場では[[CP/M]]が[[デファクトスタンダード|事実上の標準]]であったが、[[16ビット]]市場では
特に
しかし
日本ではソフトウェアのみで日本語表示を可能とした
バージョン6からはIBMとマイクロソフトのOS共同開発契約が終了し、後に
==歴史==
===開発の経緯===
{{main|シアトル・コンピュータ・プロダクツ|QDOS}}
[[1980年]]7月頃、IBMは後にIBM PCとなるパーソナルコンピュータの開発に着手した<ref name="elder198907">{{cite news|author=Elder, Tait|date=July 1989|work=Harvard Business Review|title=New Ventures: Lessons from Xerox and IBM|url=https://hbr.org/1989/07/new-ventures-lessons-from-xerox-and-ibm|accessdate=20 January 2015}}</ref>。しかし、IBMの主力商品である[[メインフレーム|汎用コンピュータ]]に比べるとごく少数のスタッフとわずかな予算しか与えられなかった。プロジェクトリーダーの
当時のマイクロソフトは
IBMはマイクロソフトに対し当初は
===各メーカーへのOEM供給===
IBMは当初
リスクを軽減化するために買い取りを避けIBM PCの出荷台数に対して使用料を支払うという[[ライセンス]]契約をしたこと、そしてマイクロソフトから各メーカーへの自由なOEM供給を認めた事が後のマイクロソフトの躍進の原動力と言え、また見方を変えれば、最終的に「軒先を貸して母屋を取られた」IBMの大失策であるとも言えるが、
1982年、マイクロソフト
===DOSの限界と開発の終焉===
DOSは標準で[[グラフィカルユーザインターフェース]]や[[マルチタスク]]機能や[[仮想記憶]]を持たず、[[Intel 80386|80386]]などの[[32ビット]]環境でも「高速な[[Intel 8086|8086]]」としか使用できなかったため、DOSの拡張や次世代OSが待望された。
1985年には[[DOS
1990年に日本では
1993年のバージョン6からは、IBMとマイクロソフトのOS共同開発契約(OSクロスライセンス契約)が終了したため以後はIBMまたはマイクロソフトの単独開発となった<ref name=":4">{{Cite journal|author=John M. Goodman|year=|date=1994-01-24|title=Reviews: DOS vs. DOS: Two variations on the theme|url=https://books.google.co.jp/books?id=_DoEAAAAMBAJ&lpg=PA59&hl=ja&pg=PA59|journal=InfoWorld|volume=|page=59|publisher=InfoWorld Media Group, Inc..|accessdate=2016-10-30}}</ref>。両者は基本部分の互換性は保たれているが、付属ユーティリティの相違などが広がった。マイクロソフトはこの
==機能==
===ファイル管理===
ファイルの管理は、
ファイル名は[[8.3形式]]、つまり、8バイトまでのベース名と3バイトまでの[[拡張子]]の合計最大11バイト(拡張子の前の「[[終止符|.]]」を数えれば12バイト)で表す。アルファベットの[[大文字]]と[[小文字]]は区別しない(全て大文字と見なされる)。
79行目:
起動順序はバージョンによって若干違うが、概ね以下の通りである。
#コンピュータの
#ディスクから<code>[[IO.SYS]]</code>と<code>[[MSDOS.SYS]]</code>がメモリ中にロードされる。
#<code>IO.SYS</code>を起動し、その後<code>MSDOS.SYS</code>に制御を移行する。
86行目:
#<code>[[AUTOEXEC.BAT]]</code>が起動ドライブのルートディレクトリにあれば、その内容を実行し、[[環境変数]]の設定や起動時に実行すべきコマンド等の呼び出し、場合によっては[[アプリケーションソフトウェア|アプリケーション]]の起動なども行う。
<code>COMMAND.COM</code>では、各ドライブを<code>A:</code>から最大<code>Z:</code>まで<ref group="注"><span data-ve-clipboard-key="0.5142649835640344-16">ドライブレターの数</span>は環境変数<code>LASTDRIVE</code>で変更可。</ref>の[[ドライブレター]]で管理し、内部コマンドではファイル・ディレクトリ一覧の参照、ファイルとディレクトリの作成・コピー・名前変更、コンピュータの時刻や環境変数および[[パス]]の設定参照などができるほか、外部コマンドやアプリケーションなどの[[実行ファイル|実行形式のファイル]]の起動が行えた。また
===実行ファイル===
このうちバイナリファイルには、単一の[[セグメント方式|セグメント]]を使う<code>[[COMファイル|COM]]</code>形式、複数のセグメントが使用される場合の<code>[[EXEフォーマット|EXE]]</code>形式、さらにデバイスドライバとして<code>SYS</code>形式が存在し、それぞれ同名の拡張子を持つ。
95行目:
<code>COM</code>形式の実行ファイルは、バイナリ読み込み時に設定されるコード・データ・エクストラ・スタックの各セグメントレジスタの値が同一アドレスに設定され、プログラム内部でセグメントレジスタを操作しない場合は単一セグメント、最大64KBのメモリ空間を操作する。CP/M 80用に書かれた[[Intel 8080|8080]]用のアセンブリ言語のソースコードを8086へコンバートした場合を想定したメモリモデルであるが、<code>COM</code>形式のバイナリであってもプログラム側で適切にセグメントレジスタを操作することで64KB以上の空間へのアクセスが可能である。
このうち.<code>SYS</code>形式のバイナリは、原則的に起動時に一度だけ実行される<code>CONFIG.SYS</code>に記述する以外の方法では直接読み込むことができない<ref group="注"><span data-ve-clipboard-key="0.1444910571201179-4">
===システムコール===
[[システムコール]]<!-- BIOS ≠ system call -->は、[[割り込み (コンピュータ)#ソフトウェア割り込み|ソフトウェア割り込み]]により呼び出されるが、{{要出典|範囲=8080や[[Z80]]などの8ビットのコンピュータではメジャーな存在だったCP/Mとの互換性、特に8080用にアセンブリ言語で書かれたソースコードを8086にコンバートして用いる場合を想定し、
===メモリ管理===
ただし、
[[日本語入力システム|日本語入力]]用の[[FEP]]などの常駐型のデバイスドライバを使用すると一度に使用できるユーザーメモリはさらに減少するため、ユーザーはEMSや[[XMS]]、[[XMS#HMA|HMA]]や[[XMS#UMB|UMB]]などの拡張メモリの管理機能を利用して、[[辞典|辞書]]や常駐部や
これらのメモリへの配分設定は<code>CONFIG.SYS</code>や<code>AUTOEXEC.BAT</code>を記述することで行い、事実上ユーザーに一任されていた。
111行目:
バージョン3まではこれらの設定を行うためには[[サードパーティー]]製のメモリドライバ等を使用する必要があったが、バージョン5では標準機能としてOSに組み込みメモリドライバやデバイスドライバも付属するようになった。また、これらの環境設定を半自動的に行う設定アプリケーションも添付された。
各種デバイスドライバには自動でインストールを行うスクリプトやプログラムが整備され、単に動く状態を作るだけであればエンドユーザーがこれらを直接操作する必要はほぼ無かった。しかし千差万別な環境の全てに対応するのは難しく、ひとたび問題が発生した場合には初心者にとっては事態収拾のハードルが高かった。また、無駄を省き最適な設定をするとなると、知見と試行錯誤が要求される職人的な資質が要求されたため、これらの事情が「
===
[[Windows
==バージョン==
===バージョン一覧===
{{See also|IBM PC DOS}}
{| class="wikitable"
!バージョン|| nowrap="" |出荷開始||[[IBM]]||[[マイクロソフト]]||備考
|-
|1|| nowrap="" |[[1981年]]|| nowrap=""
|-
|2|| nowrap="" |[[1983年]]|| nowrap=""
|-
|3|| nowrap="" |[[1984年]]|| nowrap=""
|-
|4|| nowrap="" |[[1988年]]|| nowrap=""
|-
|5|| nowrap="" |[[1991年]]|| nowrap=""
|-
|6|| nowrap="" |[[1993年]]|| nowrap=""
|-
| rowspan="2" |7|| nowrap="" |[[1995年]]|| nowrap="" |(なし)|| nowrap=""
|-
| nowrap="" |1995年|| nowrap=""
|-
|8|| nowrap="" |[[2000年]]|| nowrap="" |(なし)|| nowrap=""
|}
===バージョン1===
CP/M程度の機能しか持たない、基本的なディスクオペレーティングシステム。ファイルシステムは後のバージョンで実装された階層構造を持っておらず、ディレクトリが利用できない。CP/Mとの大きな違いは、汎用化の為に[[入出力]]デバイスの機種依存が無くなっている点であった。その為、ハードウェアに
このバージョンが使われていた頃は、8086またはその互換プロセッサ(8088等)を利用したパーソナルコンピュータ市場もそれほど大きくなかった為、出荷本数の大半はIBM PCにバンドルされた分だった<ref>{{Cite book|和書|author=菅木真治|title=MS-DOS読本|date=1983-11-15|publisher=アスキー|ISBN=4871487210|pages=54-76|chapter=2. Dear, MS-DOS}}</ref>。
*バージョン1.0(1981年8月)<ref name="PCannounce">[http://www-03.ibm.com/ibm/history/documents/pdf/pcpress.pdf IBM Press Release announcing the PC] August 12, 1981</ref>- IBM PC(初代)出荷と同時にリリース。64KBのメモリ空間のうち約12KB(そのうちシェルが5KB)を占有した。また、160KBの[[フロッピーディスク|5.25インチフロッピーディスク]] (1D) をサポートしていた。
*バージョン1.1(1982年5月)<ref>[https://books.google.com/books?id=XDAEAAAAMBAJ&pg=PA3 IBM enhances Personal Computer with 2-sided drives], ''InfoWorld'', June 7, 1982</ref>- 360KB 5.25インチフロッピーディスク (2D) サポートの他、一部のバグフィクス。
*バージョン1.25(1982年5月)<ref name="AdvancedDOS">Duncan, Ray (1988). ''Advanced MS-DOS Programming'', Microsoft Press. ISBN 1-55615-157-8.</ref>- マイクロソフトが、8086プロセッサを利用したパーソナルコンピュータ、更には[[PC/AT互換機|IBM PC互換機]]向けに、IBM以外のメーカーへのOEM提供を開始。日本では当時マイクロソフトの代理店であった[[アスキー (企業)|アスキー]]が日本語版
===バージョン2===
IBM [[PC/AT#PC XT|PC/XT]]の仕様に合わせ、[[ハードディスクドライブ|HDD]]や360KB 5.25インチフロッピーディスク (2D) をサポートしている。階層構造ディレクトリ、<code>CONFIG.SYS</code>によるデバイスドライバの追加機能、
マイクロソフト版はこのバージョンより名称が「
*バージョン2.0(1983年3月)<ref name="Allen">Allen, Paul (2011). ''Idea Man'', Penguin, ISBN 978-1-59184-382-5.</ref> - PC/XT 出荷と同時にリリースされた。
*バージョン2.01(1983年3月) <ref name=":0" /> - 日本では「日本語
*バージョン2.1(1983年10月)<ref>IBM. ''PC DOS 2.1 Announcement Letter''. 1983-11-01 ([http://www-01.ibm.com/common/ssi/ShowDoc.wss?docURL=/common/ssi/rep_ca/9/897/ENUS283-389/index.html&lang=en&request_locale=en <nowiki>[3]</nowiki>]).</ref> - IBM [[PC/AT#PCjr|PCjr]] 向け。
*バージョン2.11(1984年3月)<ref name="Ref-12" /> - 多言語市場を意識し、文字セットや日付表示のローカライズをサポート。各社独自に拡張され、x86プロセッサを搭載したパーソナルコンピュータ向けに広く利用された他<ref>Allan, Roy A. (2001). ''A History of the Personal Computer'', Allan Publishing, ISBN 0-9689108-0-7. [[iarchive:A_History_of_the_Personal_Computer|eBook on archive.org.]] [https://archive.org/download/A_History_of_the_Personal_Computer/eBookAB.pdf Appendix B: Versions of DOS]</ref>、日本ではアスキーの市場戦略の関係で、市販ソフトウェアに[[サブセット]]版の[[バンドル]]が許されていた<ref>「トピック・レポート:機能不足が表面化、老兵「MS-DOS2.11」」『日経パソコン』 1991年1月21日号、pp.178-182。</ref>。
*バージョン2.25(1985年10月)<ref name="AdvancedDOS" /> - 東アジア市場向けに2バイト言語に対応を図った「アジアバージョン」。{{要出典|範囲=理由不明だが、日本市場においてはバージョン2.11の名称で流通した(<code>MSDOS.SYS</code>内部に2.25の表記あり)。|date=2016年10月}}
===バージョン3===
当初 IBM [[PC/AT]] 用に発売。主として[[コンピュータネットワーク|ネットワーク]]対応と大容量HD対応の為の16ビット
ベンダーによる独自拡張などで方言が多くバージョン番号の体系も大きく乱れている<ref group="注">
*バージョン3.0(1984年8月)<ref>{{Cite journal|author=Somerson, Paul|date=1984-11-13|title=AT the Party|url=https://books.google.com/books?id=-Ukz6hjZEA4C&pg=PA117#v=onepage&q&f=false|journal=PC Magazine|page=123|accessdate=2016-10-30}}</ref> - PC/ATの発売と同時にリリースされた。1.2MB 5.25インチフロッピーディスク (2HD) 及び32MBまでのHDをサポート。HDの論理ボリュームはひとつのみ。
*バージョン3.1(1984年11月)<ref>[https://books.google.com/books?id=Hy8EAAAAMBAJ&pg=PA11 IBM Rolls out New PC: Networking products, windowing software also announced], ''InfoWorld'', Sep 10, 1984</ref> - 3.0のバグフィックス版。
*バージョン3.20(1986年1月)<ref name="DOS3.2">[https://books.google.com/books?id=MskyBf-SNfUC&pg=PA2 PC-DOS upgrade supports 3{{1/2}}-in. floppy disk drives], ''Computerworld'', March 24, 1986</ref> - 720KB 3.5インチフロッピーディスク (2DD) をサポート。フォーマットプログラムの機種依存ルーチンを<code>IO.SYS</code>に移したことで移植性を高めている。
*バージョン3.21 - 3.20のアジアバージョン。2バイトコードに対応し、日本ではAXなどに採用された<ref name=":1" />。
**MS-DOS 3.3(PC-98版) - バージョン3.21を独自拡張<ref group="注">NECがマイクロソフトから日本語版MS-DOS 3.21の供給を受けてMS-DOS 3.3として販売していた。</ref><ref name=":1">「トピック・レポート:混乱するMS-DOS―こんなにあるバージョン」『日経パソコン』 1988年12月5日号、pp.183-188。</ref>。マイナーバージョンに3.3A~3.3D<ref group="注">PC-98版のバージョン3.3Dはバージョン5.0と同時発売。見かけ上のセクタサイズを1KB若しくは2KBとすることで最大128Mのパーティションを管理することが出来た。</ref>が存在。
*バージョン3.22(1989年10月)
*バージョン3.3(
*バージョン3.3(OEM版)(1987年8月)<ref>[https://books.google.com/books?id=1zsEAAAAMBAJ&pg=PA3 Microsoft to Release Own DOS 3.3], ''InfoWorld'', August 3, 1987</ref> -
===バージョン4(1986年)===
バージョン3.20から派生し、8086上で限定的な[[マルチタスク#ノンプリエンプティブ・マルチタスク|擬似マルチタスク]]環境を実現したもの<ref>{{cite web|url=https://sites.google.com/site/pcdosretro/multitaskingdos4|title=Information about the little known multitasking MS-DOS 4.0|accessdate=2014-02-13|author=Vernon Brooks|work=PC DOS Retro}}</ref>。マイクロソフトが開発したが不十分であるとしてIBMには採用されず、{{仮リンク|アプリコットコンピューターズ|en|Apricot Computers}}にネットワークOSとしてOEMされた他、僅かの用途に留まり絶滅亜種になってしまった<ref>[https://books.google.com/books?id=lS8EAAAAMBAJ&pg=PA1 MS-DOS 4.0 in U.K.; U.S. Waiting for 5.0], ''InfoWorld'', March 24, 1986</ref><ref>Larry Osterman. [http://blogs.msdn.com/b/larryosterman/archive/2004/03/22/94209.aspx Did you know that OS/2 wasn't Microsoft's first non Unix multitasking operating system?] MSDN Blogs</ref>。非同期I/O対応やバックグラウンドタスク規約など資産の一部は [[Microsoft Windows 2.0
===バージョン4===
IBM主導で開発されたバージョン
情報が全部公開されていなかったものの、2バイトコードによるユニバーサルランゲージ対応が内部的に完了したのも本バージョンからである<ref group="注">それまでの日本語版DOSはマイクロソフトが日本市場向けに改変したもので、世界共通の仕様ではなかった。また、バージョン3までの英語版DOSをDOS/V化するとファイル名の扱いなどで不具合が生じる場合がある</ref>{{要出典|date=2016年10月}}。従来のバンクメモリに代るEMSの標準サポートによって扱えるメモリ領域が1MB以上に拡張された<ref name="AdvancedDOS" />。
互換OSの
本バージョンには性急な複雑化に伴う非常に多くのバグが存在し、またOS自体が消費するメモリが過大だったため、メーカーによって
*
*
**
*
===バージョン5===
再びマイクロソフト主導で開発された<ref>{{Cite journal|author=|year=1991|title=MS-DOS 5.0: The Old Standard Improved|url=https://books.google.co.jp/books?id=SyJVAAAAMAAJ&lpg=PA329&hl=ja&pg=PA329|journal=U-M Computing News|volume=6|issue=2|page=329|publisher=UM Libraries.|accessdate=2016-10-30}}</ref>。バージョン4で付加された中途半端なユーティリティの多くが削除された一方、80386、[[Intel 486|80486]]等に備わる[[仮想86モード]]の活用と [[Microsoft Windows 3.x
メモリ消費は少ないものの大容量ドライブが扱えないバージョン3、その逆で大容量ドライブが使えるがメモリ消費が大きいバージョン4というジレンマを抱えていたが、限りあるメモリ領域の消費を抑える機能を追加することでそれまでの問題を払拭するに至った。このバージョンによりDOSはほぼ完成を見たが8086~80286とその互換CPU上の動作には制約が強まり、結局のところ巧妙なアップグレード戦略の下でハードウエアの買い替え需要が喚起された。{{要出典|date=2016年10月}}
XMSによってDOS本体の一部をHMAに、デバイスドライバやアプリケーションの一部をUMBに待避させることが可能で、コンベンショナルメモリが大きく取れるようになった。またタスクスイッチ規約が明確に定義され、DOSシェルの機能拡張
[[テキストエディタ]]は、過去のバージョンに標準添付されていた[[ラインエディタ]]「<code>[[EDLIN]]</code>」に加えスクリーンエディタ「{{仮リンク|EDIT|en|
それまで未公開だったファンクションの多くがユーザに解放されたためカスタマイズやデバイスドライバ開発が更に容易になった{{要出典|date=2016年10月}}。日本ではマイクロソフトが
*
*
===バージョン6===
[[デフラグメンテーション|ディスク最適化]]や[[ディスク圧縮]]機能(後述)、[[コンピュータウイルス]]検出・除去など、
デジタルリサーチから
起動時に特定のキーを押すと<code>CONFIG.SYS</code>・<code>AUTOEXEC.BAT</code>の一部の行を実行したり、全てバイパスする機能があった。
マイクロソフト版は同時期に発売された [[Microsoft Windows 3.x
*MS-DOS 6.0(1993年3月)<ref>[https://books.google.com/books?id=PTwEAAAAMBAJ&pg=PA8 MS-DOS 6 hype doesn't match analyst forecasts], ''InfoWorld'', March 29, 1993</ref>
*
*
**
*
*
*
===バージョン7(マイクロソフト版)===
===バージョン7(IBM版)===
1995年リリース。IBM版のみ。開発環境として「
* PC DOS 7(1995年4月)<ref>IBM. ''IBM PC DOS Version 7''. 1995-02-28 ([http://www-01.ibm.com/common/ssi/ShowDoc.wss?docURL=/common/ssi/rep_ca/4/897/ENUS295-074/index.html&lang=en&request_locale=en <nowiki>[29]</nowiki>]).</ref>
*
=== バージョン8(マイクロソフト版) ===
==
{{出典の明記|date=2016年10月|section=1}}
===
*
*
*
*
*[[PTS-DOS
*
またPC-9800シリーズ全盛期には、ゲームソフトの組み込み用として下位互換
===
*
*[[Carry日本語DOS
*
*
==脚注==
257 ⟶ 258行目:
=== 出典 ===
{{reflist|2}}
==関連項目==
*[[マイクロソフトの歴史]]
*[[Windows 9x系]]
*[[仮想DOSマシン]]
*[[Win32コンソール]]
==外部リンク==
*[http://hp.vector.co.jp/authors/VA000199/history.html
*[http://www.sanosemi.com/history_of_PC_refURL.htm パソコン産業およびパソコン技術の歴史関連URL]
*[http://www.os.rim.or.jp/~ppp/msdos/SD/
*[ftp://ftp.boulder.ibm.com/ps/products/dos/fixes/dos7.0/
*[http://www-01.ibm.com/common/ssi/ShowDoc.wss?docURL=/common/ssi/rep_ca/3/760/PSP98003/index.html&lang=ja&request_locale=ja 日本IBM・
*[http://www.geocities.co.jp/SiliconValley/2994/virtualpc/pcdos2kj/pcdos2kj.html
{{Wikibooks|MS-DOS/PC DOS入門|MS-DOS/PC DOSの操作方法}}
|