web-dev-qa-db-ja.com

Autoexec.batがWindowsOSの後のイテレーションで置き換えられる理由と方法は?

私はMS-DOSのアーキテクチャについて読んでいて、Autoexec.batconfig.sysのようなファイルに出くわしました。

Autoexec.batバッチ(.bat)パス、環境変数、CWD、プロンプトなどを初期化するために使用されたコマンドを含むファイル。このファイル(およびconfig.sys)は、起動時に自動的に実行されました。 OSの手順(存在する場合)。

MS-DOSコマンドプロンプトはほとんど同じ(または類似)であるため、Windowsの現在の反復では同じ手順が引き継がれると思いました。 OSも。

cmdを開始すると、毎回特定のCWDに到達し、pathなどで指定された場所のセットがあるので理解できるようです。

しかし、Windows XP以降のバージョンのWindowsOSにはありませんでした。

だから私は今すべてがどのように初期化されるのか、そしてなぜAutoexec.batが削除されたのか考えていましたか?

1
Vasu Deo.S

Windows NTはDOSに依存しない完全に異なるOSであったため、そのすべての子孫(Windows 2000を含む、XP以降だけでなく)もAUTOEXECなどのDOSのものを使用しません) .BAT。つまり、DOSアプリケーションの起動時に環境をセットアップするためのAUTOEXEC.NTが%SystemRoot%\system32にあります。

Windows MEは、Windows 9xラインにあるにもかかわらず、DOSから離れようとしました。したがって、AUTOEXEC.BATの環境変数のみを解析します。

5
phuclv

CONFIG.SYSは、さまざまなオプションを設定し、DEVICE=およびDEVICEHIGH=行でドライバーをロードします。 DOSの起動中に読み取られました。

DOSが初期化を完了すると、シェルが起動します。これはCONFIG.SYSのShell=行で指定され、通常はCOMMAND.COMですが、そうである必要はありません。

COMMAND.COMは、AUTOEXEC.BATスイッチで起動すると、/Pを実行します。これは通常、CONFIG.SYSCOMSPEC=行で指定されます( )これは「永続的にする」ことを意味します(「サブシェル」ではありません)。 /Dスイッチはこれを抑制することができます。

DOSと他のMicrosoftオペレーティングシステムの違いは、XPよりもはるかに遡ります。それは、Windowsが最初にWindowsのNTブランチで作業していた1993年までさかのぼります。それから2年後、Windows95が発売されました。 9xブランチとNTブランチはどちらも、内部ではMS-DOSとは異なります。NTの場合は、大きく大きく異なります。

NT Windowsは、違いの大まかな概要として、MS-DOSとは異なる次のことを行います。

  • CPUのプロテクトモードを使用して、カーネルとユーザースペースの間にバリアを作成します。
  • DOSの基本的で制限されたTSRシステムとは別に、複数のプログラムが実行され、同じディスクやディスプレイなどにアクセスすることを想定しています。
  • GUIマウスとウィンドウインターフェイスの入力方法をサポートするために必要なイベントベースのプログラミングをサポートするメッセージングシステムを備えています。
  • ウィンドウ、ウィジェットの作成、および表示の変更に使用する必要のあるAPI(GDIなど)があります。
  • プログラムがすべてのデバイスと通信するためにシステムコールを行うことを期待し、ハードウェアへの直接アクセスを許可しません。
  • 当初、NTは、オペレーティングシステムでタスクを実行するためにCOMMAND.COMまたは同等のものから利用できる多くのコマンドラインツールを提供していませんでした。

そのため、起動プロセスは異なります。また、WindowsのNTブランチ(XPを含む)では、非常に異なります。

ウィキペディアには、 Windows NTの初期化の詳細 に関する優れた記事があります。

9x Windowsは、MS-DOSのマルチタスク拡張機能に非常によく似ており、32ビットに拡張するための奇妙なメカニズムが用意されています。 9xの起動プロセスは、MS-DOSに少し似ています これは良い説明です 。 Windows MEは、MicrosoftがXP NTベースのWindowsのコンシューマーバージョンとビジネスバージョンの両方を作成する前の、Windowsの9xブランチの最後のものでした。

3
LawrenceC

スタートアップは、サービスとアプリを起動するためのスタートアップフォルダーによって処理されます(タスクマネージャーの[スタートアップ]タブを参照)。今日、DOSがどのように始まったかに対応するものはありません。 NT4以降、ログオンしなくてもサービスを開始できます。とても違う。

1
John