OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

コマンドプロンプトとDOSプロンプトの違い

  • 暇なときにでも
  • 質問No.236226
  • 閲覧数971
  • ありがとう数7
  • 気になる数0
  • 回答数5
  • コメント数0

お礼率 26% (136/506)

最近のOSにはDOSプロンプトがなくなり、コマンドプロンプトがふぞくしていますが、具体的にはどのような違いがあるのですか?
私はプロンプトにてプログラムのコンパイルから実行をしているだけなので、違いがよくわからないのです。よろしくお願いします。
そもそもDOSプロンプトとはどのような目的で作られたのでしょう?
通報する
  • 回答数5
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.3

DOSは「Disc Operating System」の略で、FDやHDの操作などを直接行うようにプログラムされています。
PCのハード(機械)と密接につながっているわけです。

それをDOS上のWindows上に「仮装PC」環境を構築しているわけですから、一部のDOSプログラムでは正常に動作しないものもあります。
また、HDを直接いじることとなるfdiskやformatは当然使えないですね。

コマンドプロンプトもかなり互換性が高くなっていますし、たいていのソフトがWindowsへと移行していますので、今となってはそれほど問題はないのでしょうね。
お礼コメント
sugoitensai

お礼率 26% (136/506)

なるほど、Disc Operating Systemの略だったのですか。
HDの操作するコマンドはコマンドプロンプトではできなくなったのですね。
とてもわかりやすかったです。
投稿日時 - 2002-03-18 13:41:34
-PR-
-PR-

その他の回答 (全4件)

  • 回答No.1

もともとPCはDOSという基本ソフトで動いていました。 Windowsも3.0、3.1の頃はDOSとは別に購入する必要がありました。 Win95になるとWindowsのベースとしてDOSが組み込まれ、表面上はDOSを意識しなくてもよくなりましたが、Win98やWinMeも基本にはDOSが動いていたのです。 当然ながらDOSで動いていたソフトやプログラムの資産が数多く存在するため、これらを動作 ...続きを読む
もともとPCはDOSという基本ソフトで動いていました。
Windowsも3.0、3.1の頃はDOSとは別に購入する必要がありました。

Win95になるとWindowsのベースとしてDOSが組み込まれ、表面上はDOSを意識しなくてもよくなりましたが、Win98やWinMeも基本にはDOSが動いていたのです。

当然ながらDOSで動いていたソフトやプログラムの資産が数多く存在するため、これらを動作させるためにDOS互換の環境をWindows上で作るようになったのです。
これがコマンドプロンプトですね。

Win98などで、PC起動時の選択メニューで表示されるDOSプロンプトは、Windowsを起動させる前の純粋なDOSの状態です。

親ガメがDOSプロンプト
子ガメがWindows
孫ガメがコマンドプロンプトというわけです。

なお、WinNT、Win2000、WinXpはWin9X系とは異なりベースにDOSが組み込まれていませんので、DOS独自の制限事項がなく、安定した動作が可能となっています。
補足コメント
sugoitensai

お礼率 26% (136/506)

以前のOSがDOSというものだったのですね。
ですが、孫ガメのコマンドプロンプトになって他に違いはあるのでしょうか?
投稿日時 - 2002-03-16 17:41:57

  • 回答No.2
レベル12

ベストアンサー率 40% (237/589)

No.1 の回答に補足します。 Win98 は確かに DOS の下で動いていますが、WinMe は違います。 シャットダウンメニューに“MS-DOS モードで再起動する”という項目が無くなったことでもわかるように、純粋な DOS モードというのは WinMe にはありません。 動作上も、CONFIG.SYS に相当する機能は別な方法で実現されていますが、AUTOEXEC.BAT については、 ...続きを読む
No.1 の回答に補足します。

Win98 は確かに DOS の下で動いていますが、WinMe は違います。
シャットダウンメニューに“MS-DOS モードで再起動する”という項目が無くなったことでもわかるように、純粋な DOS モードというのは WinMe にはありません。

動作上も、CONFIG.SYS に相当する機能は別な方法で実現されていますが、AUTOEXEC.BAT については、環境変数の設定(SET コマンド)しかできなくなりました。

そのため、従来 AUTOEXEC.BAT で常駐プログラムを起動させていたようなことができなくなり、DOS 使いにとっては大変使いづらい OS になってしまいました。
お礼コメント
sugoitensai

お礼率 26% (136/506)

確かに最近のOSでは『MS-DOSモードで…』がないですね。意外なところでも変化が見られるのですね。AUTOEXECは僕も一度使ったことがありました。非常に便利なシステムでした。それが使えなくなっているのですか、それでは使いづらくなっているのかもしれませんね。ありがとうございます。
投稿日時 - 2002-03-18 13:52:19
  • 回答No.4
レベル14

ベストアンサー率 62% (6253/9971)

Q/具体的にはどのような違いがあるのですか? A/DOSプロンプトは16BitのDOS-VMという機能を利用した物で、OS自体が16ビットベースに互換して、命令を処理します。 DOS命令は元々16ビットですから、互換性も高く古いDOSソフトのほとんどが動作します。 VMはVirtual Machine(バーチャルマシーン)の略で、Windows9x(95からMeまでのwin、2000を除く ...続きを読む
Q/具体的にはどのような違いがあるのですか?

A/DOSプロンプトは16BitのDOS-VMという機能を利用した物で、OS自体が16ビットベースに互換して、命令を処理します。
DOS命令は元々16ビットですから、互換性も高く古いDOSソフトのほとんどが動作します。

VMはVirtual Machine(バーチャルマシーン)の略で、Windows9x(95からMeまでのwin、2000を除く)では、システムVM(win32VMとwin16VMがその中にある)とDOS-VMで構成され、すべてのソフトウェアがVM上で駆動します。
さらに、DOS機能をほとんど継承しており、その限界から安定性が低いという点があります。


そこで、NT系のOSでは、時代遅れとなり既に安定性を下げてしまうDOSと16ビット命令系をなくしています。
その代わり、DOSエミュレートとしてコマンドプロンプトを搭載しています。
コマンドプロンプトでは、NTVDMという変換回路で16ビット命令を32ビット化して処理します。
そのため、一部の複雑なネイティブ16ビット命令は処理できないと可能性があるのです。

わかりにくいですからまとめると、DOSプロンプトはOSレベルでDOSに互換するのに対し、コマンドプロンプトは実行するソフト命令を変換してDOSに互換するというのが違います。前者は構造上互換性が高いです。
後者は一部命令がエミュレーターになければ処理できません。
Q/DOSプロンプトとはどのような目的で作られたのでしょう?
A/Windowsは元々DOSベースとOS/xベースの2つからなります。前者がDOS→win3,x→win9xという発達をたどったのに対し、
後者は、OS/x互換プログラムからNTへと進化しているとされます。
DOSプロンプトは元々、MS-DOS(MS-DOS/V)及びIBM-DOS(PC-DOS)をWindowsで使うために残った技術です。

Windows3,xはDOS上で動作し、GUI(グラフィカルユーザーインターフェース)とマルチタスク(同時に複数のプログラムを実行する)を実現するためのソフトとして開発された物です。

Windows9xではさらに、その精度を引き上げ、初心者への使い勝手を大幅に向上するために分離したDOS(MS-DOS)を表面上から消しました。これによって、DOSプロンプトが本格的にDOS互換モード(VM)になりました。
ただし、起動時はMS-DOS(リアルモード)をベースにした16ビットコアを読み込み、その後32ビットに移行する形を取っています。

その後、DOSプロンプトはMeでクイックスタートを利用するため内的の見かけ上でも削除されました。ただし、読み込みは、やはり16ビットコードから32ビットを読み込みます。(純粋な内部DOSモードが100%排除されているのではなく、DOSプロンプトオンリー実行するための初期プログラムが排除されています)

そして、WindowsNT系ではコア自体はDOSには無縁ですが、ソフトの関係や今まで使ったユーザーが移ることが多いなどからDOSエミュレートとしてコマンドプロンプトを装備したのです。
いかがでしょう。
お礼コメント
sugoitensai

お礼率 26% (136/506)

詳しく説明が欲しいといいながらここまで書かれるとわからなすぎて申し訳ないです。ですが、windowsの歴史は知ることができました。Meのクイックスタートっていうのもあるのですね。調べてみたいと思います。
投稿日時 - 2002-03-18 13:56:14
  • 回答No.5
レベル13

ベストアンサー率 37% (570/1525)

コンソールプログラミングをしておられるようなので、プログラミングの観点から。 単純な違いとしては16ビットMS-DOS機能のサポートがあります。 MS-DOSプロンプトは16ビットMS-DOSのエミュレーションなので、一部のBIOSコールやDOSサービスが利用可能です。 (Windowsが32ビットなので使えないものもあります) コマンドプロンプトは「見た目をMS-DOSに似せているだ ...続きを読む
コンソールプログラミングをしておられるようなので、プログラミングの観点から。

単純な違いとしては16ビットMS-DOS機能のサポートがあります。

MS-DOSプロンプトは16ビットMS-DOSのエミュレーションなので、一部のBIOSコールやDOSサービスが利用可能です。
(Windowsが32ビットなので使えないものもあります)

コマンドプロンプトは「見た目をMS-DOSに似せているだけ」の32ビットコンソールなので、16ビット系のサービスやBIOSコールを利用することは出来ません。

たとえば、MS-DOSプロンプトではANSIエスケープシーケンスが利用可能ですが、コマンドプロンプトでは利用できません。
お礼コメント
sugoitensai

お礼率 26% (136/506)

16ビット系のサービスが使えなくなっているのですか。
なんとなく違いがわかりました。ありがとうございます。
投稿日時 - 2002-03-18 13:48:02
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
あなたが体験したトラブルや解決方法を共有しませんか?
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ