web-dev-qa-db-ja.com

WindowsはまだMS-DOSに依存していますか?

私はOSコースを開始しようとしています。Appleユーザーとして、Windows OSの基礎となる詳細にあまり詳しくありません。Windowsが実行されている状態でMS DOSがまだ使用されているのでしょうか。またはOSとして現在使用されているのはWindowsだけですか?どこかでMS-DOSがブートに使用されているのにWindowsは他のすべてのOS機能が組み込まれており、他のすべてのOS操作に使用されているので少し混乱しました...

71
rrazd

Microsoft Windowsには2つの異なる系統があり、人々が1つの系統について他の系統について学んだことを書く場合、それは役に立ちません。

  • DOS + Windows系統は、バージョン3.11までのすべてのバージョンのDOS + Windows、DOS + Windows 95、DOS + Windows 98、およびDOS + Windows Millennium Editionで構成されます。 DOSの上にWindowsが重ねられています。本全体がこの階層化の主題について書かれており、それは特に1990年代初頭から中期にDOSがなくなってWindowsがオペレーティングシステム。

    これはDOS + Windowsですbootstrapプロセス。

  • Windows NT系統は、Windows NT 3.x、Windows NT 4.0、Windows NT 5.0( "Windows 2000")、Windows NT 5.1( "Windows XP ")、Windows NT 5.2(Windowsの一部のエディションXPおよび" Windows Server 2003 ")、Windows NT 6.0(" Windows Vista ")、およびWindows NT 6.1(" Windows 7 ")。それはDOSの上に階層化されておらず、DOSとは完全に異なる方法で動作し、仮想マシンであるNT仮想DOSマシン(NTVDM)のdintによってDOSアプリケーションを実行できます- Windows NT上逆ではなく。

    これはWindows NT 6.xですbootstrapプロセス。

また、ここでの回答で起こっているように、人々が誤ってWindows NTの「DOSプロンプト」について話すときも役に立ちません。 オペレーティングシステムではなくプロンプトを出すのはコマンドインタープリターです であるという事実は別として、これは "DOS"を "テキストユーザーインターフェイス"と "コマンドインタープリター"で展開します。どちらも実際にはDOSと同義ではありません。 DOSは、MS-DOS、PC-DOS、DR-DOS、FreeDOS、OpenDOSなどのオペレーティングシステムのファミリです。

Windows NTでコマンドプロンプトウィンドウを開いている場合、ほとんどの場合、CMDが実行されます。これは、ボックスで提供されるMicrosoftのデフォルトのコマンドインタープリターであり、通常のテキストユーザーインターフェイスであるWin32プログラムです。 「DOS」もNTVDMもありません。 Win32コンソールオブジェクトと通信するWin32プログラムがあります。実際、Microsoftのさまざまなリソースキットのすべてのツールを含む、Windows NTで実行できる多くのTUIプログラムには、still DOSのようなものはありません。 Win32コンソールI/Oも実行するWin32プログラム。

皮肉なことに、Windows NT 3.1が1993年にリリースされたことを考えると、Windows NTの系統実際のところ DOSベースではないWindows-は、オペレーティングシステムシステムであり、 1990年代中頃は、DOS + Windows 95がそうであったことを世界に説得しようとしていました。

そして、18年後、 Windows NTはDOSのようには機能せず、機能しないことを一部の人に伝えようとしています 。 ☺

参考文献

  • ジョナサン・デ・ボイン・ポラール(2006)。 オペレーティングシステムカーネル開発者およびデバイスドライバー作成者向けのブックリスト 。よくある答え。
  • Mark E. Russinovich、David A. Solomon、Alex Ionescu(2009)。 Windows Internals(第5版) 。 Microsoft Press。 ISBN 9780735625303。
  • Walter Oney (1996)。 Windows 95用システムプログラミング。 Microsoft Press。 ISBN 1 55615 949 8。
  • Matt Pietrek (1995年11月)。 Windows 95システムプログラミングの秘密。 IDG Books。 ISBN 1-56884-318-6。
  • Andrew Schulman(1994)。 nauthorized Windows 95。 IDG Books Worldwide。 ISBN 9781568841694。
  • Matt Pietrek (1993)。 Windows内部:Windowsオペレーティング環境の実装。 Addison-Wesley。 ISBN 9780201622171。
  • Andrew Schulman、David Maxey、Matt Pietrek(1992)。 ドキュメント化されていないWindows:予約済みMicrosoft Windows API関数のプログラマガイド。 Addison-Wesley。 ISBN 9780201608342。
140
JdeBP

さらに、Windows 95は完全にDOS上のGUIではありませんでした。詳細はこちら:

http://blogs.msdn.com/b/oldnewthing/archive/2007/12/24/6849530.aspx

23
Strabbi

No。「NTカーネル」を搭載したバージョンより前のすべてのWindowsバージョンは、DOS上のGUIのようなものでした。 Windowsの導入で特に当たり前になったNTでXP(そしてWindows VistaとWindows 7はどちらもNTカーネルも使用します)基礎としてDOSを使用する必要性OSは削除されました

32ビットバージョンのWindowsにもDOSプロンプトがあり、実行ダイアログにcommand.comと入力すると実行でき、ほとんどの古いDOSプログラムを実行できます。 Windowsのすべてのバージョンには、バッチファイルとDOSのようなコマンド(通常、DOSスタイルのコンソールと対話するように設計されたネイティブのWindowsアプリケーション)を実行するために使用できるコマンドプロンプトがあります。 64ビットWindowsは16ビットプロセスをサポートしていないため、DOSアプリケーションを実行できません。

コマンドプロンプトは、DOSプログラムの実行やコマンドラインからのWindowsプログラムの起動、あるいはその両方に使用できる特殊なアプリケーションのようなものとして表示することをお勧めします。

注:「DOSプロンプト」という用語は、NTカーネルが導入される前の「コマンドプロンプト」を表すために一般的に使用されていました。今日でも多くの人々が「DOSプロンプト」という用語を使用していますが、元々「DOSコマンド」と呼ばれていた同じコマンドの多くを実行するために使用されているため、「DOSプロンプト」は通常、DOS環境で使用できます。プロンプト」は、WindowsのNTバリアントでは技術的に正しいものです。

20

Randolfへの回答としてはもっと多いですが、彼は1人だけではなく、コマンドラインインターフェイス[〜#〜] dos [〜#〜]を繰り返し混同しています。

[DOS]と[MS-DOS] tagsの多くは同じ間違いに悩まされていることに注意してください。MS-DOSには当初、テキストモード、command.com +ノートンコマンダーと呼ばれるコマンドラインインターフェイスしかありませんでした。私たちの多くにとって、ansi.sysで描画されたフレーム付きの自家製のテキストモードウィンドウですが、キーボードだけでなくマウスでも制御できますが、矢印キーやホットキーでも簡単に制御できます。

次に、ウィンドウはビルドされましたDOSの上に(2.0、3.0、3.1、3.11)。ウィンドウ内のコマンドインターフェースの名前として、DOSボックスのアイコンがウィンドウ内に再表示されました。

しかし、Windows-NTとWindows-95または-98ではMS-DOSは廃止されましたが、コマンドインタープリターであるcmd.exe(cmd32.exe)は、同じまたはほぼ同じ構文とキーワードでまだ存在していました。しかし、これはWindows内で実行されるプログラムであり、BASIC、irb(Ruby)、scala-repl、psql(Postgresql)、sqlplus(Oracle)、bc、R、rhinoなどの他のテキスト形式のコマンドインタープリターと同様に、など、いくつかのプラットフォームで実行されています。

DOSやMS-DOSが最初に思いついたものではないので、このMS-DOSスタイルの呼び出しは誤解を招くものです。それははるかに古いです。

Windowsでさえ、DOSコマンドを実行することに制限されていませんでした-batch-file書き込みの一般的な方法は、Windowsプログラムを開始する前にいくつかのパラメーターを指定することでした。たとえば、JavaプログラムのCLASSPATH、Java_HOME、-XmxなどのJavaパラメータなどを設定します。

多くの人は、コマンドラインインターフェイスが以前の遺棄であると考えています-数回のキーストロークで何千ものファイルを処理する能力を知らない人。彼らはwshとモナドも知りません。しかし、専門家にとって、コマンドインタープリターは、UnixやLinuxと同じくらい有用なウィンドウ上にあります。それはあまり知られていませんが、多くの管理者にとって不可欠です。

Gnu-toolchainの移植もあり、sh.exe、sed、awk、bc、tail、rev、catなどすべてがネイティブのwin32アプリとして提供されています。

多分あなたはcmd.exeの下で古いDOSプログラムを実行することができますが、DOSモードでWindowsプログラムを実行することはできないので、人々にそのcmd.exeDOS-そうではありません。そして、それはDOSのようなではありません。つまり、interactive command-line programcommand-line interfaceです。

  • DOSプロンプト
  • DOSバッチファイル
  • DOS風のコマンド
  • DOSスタイルのコンソール
  • DOSアプリケーション

ほとんどの場合、誤解を招く用語です。それはアマチュアには適切かもしれませんが、聴衆にあなたが話していることを理解してもらいたいのなら、あなたは自分自身に尋ねるべきです:それは特別なOS、DOSに限定されていますか? CLIスタイルは「DOSスタイル」という名前が最適ですか?これは歴史的に正しいですか?あなたの聴衆はDOSをまったく知っていますか?理解に役立ちますか?それらのプログラムは本当にDOS上で動作しますか?

複雑なことを説明するには、外科医のナイフのように鋭い正しい表現が必要です。間違った表現は、聴衆の脳に間違った印象を与えます。ずさんな表現は何もないより悪い。それらを避けてください。コマンドラインインターフェースで入力するのが長い場合は、CLIを使用します。

SU、SE、およびその他のサイドの誤解を招くタグを修正します。

5
user unknown

Windows NTファミリ(NT、2000、XP、2003、Vista、2008、7)では、DOSに依存しません。下位互換性のためのDOSエミュレータのみがあります。

ただし、NT初期のDOSとの互換性の結果であるいくつかの制限がまだあります。たとえば、「CON」または「PRN」という名前のファイルまたはディレクトリを作成することはできません。これらはDOSでデバイスを表すために予約されている名前だからです。

2
Michał Šrajer

実際、WindowsはDOSを使用しなくなりました。 DOS(またはcmd)へのプロンプトは、Windows XP、VistaまたはSevenでエミュレートされます。 Windowsは独自のリソースから起動します。

1
Diogo