私はMS-DOSのアーキテクチャについて読んでいて、Autoexec.batやconfig.sysのようなファイルに出くわしました。
Autoexec.batバッチ(.bat
)パス、環境変数、CWD、プロンプトなどを初期化するために使用されたコマンドを含むファイル。このファイル(およびconfig.sys)は、起動時に自動的に実行されました。 OSの手順(存在する場合)。
MS-DOSとコマンドプロンプトはほとんど同じ(または類似)であるため、Windowsの現在の反復では同じ手順が引き継がれると思いました。 OSも。
cmd
を開始すると、毎回特定のCWDに到達し、path
などで指定された場所のセットがあるので理解できるようです。
しかし、Windows XP以降のバージョンのWindowsOSにはありませんでした。
だから私は今すべてがどのように初期化されるのか、そしてなぜAutoexec.batが削除されたのか考えていましたか?
Windows NTはDOSに依存しない完全に異なるOSであったため、そのすべての子孫(Windows 2000を含む、XP以降だけでなく)もAUTOEXECなどのDOSのものを使用しません) .BAT。つまり、DOSアプリケーションの起動時に環境をセットアップするためのAUTOEXEC.NTが%SystemRoot%\system32
にあります。
Windows MEは、Windows 9xラインにあるにもかかわらず、DOSから離れようとしました。したがって、AUTOEXEC.BATの環境変数のみを解析します。
CONFIG.SYS
は、さまざまなオプションを設定し、DEVICE=
およびDEVICEHIGH=
行でドライバーをロードします。 DOSの起動中に読み取られました。
DOSが初期化を完了すると、シェルが起動します。これはCONFIG.SYSのShell=
行で指定され、通常はCOMMAND.COM
ですが、そうである必要はありません。
COMMAND.COM
は、AUTOEXEC.BAT
スイッチで起動すると、/P
を実行します。これは通常、CONFIG.SYS
COMSPEC=
行で指定されます( 例 )これは「永続的にする」ことを意味します(「サブシェル」ではありません)。 /D
スイッチはこれを抑制することができます。
DOSと他のMicrosoftオペレーティングシステムの違いは、XPよりもはるかに遡ります。それは、Windowsが最初にWindowsのNTブランチで作業していた1993年までさかのぼります。それから2年後、Windows95が発売されました。 9xブランチとNTブランチはどちらも、内部ではMS-DOSとは異なります。NTの場合は、大きく大きく異なります。
NT Windowsは、違いの大まかな概要として、MS-DOSとは異なる次のことを行います。
そのため、起動プロセスは異なります。また、WindowsのNTブランチ(XPを含む)では、非常に異なります。
ウィキペディアには、 Windows NTの初期化の詳細 に関する優れた記事があります。
9x Windowsは、MS-DOSのマルチタスク拡張機能に非常によく似ており、32ビットに拡張するための奇妙なメカニズムが用意されています。 9xの起動プロセスは、MS-DOSに少し似ています これは良い説明です 。 Windows MEは、MicrosoftがXP NTベースのWindowsのコンシューマーバージョンとビジネスバージョンの両方を作成する前の、Windowsの9xブランチの最後のものでした。
スタートアップは、サービスとアプリを起動するためのスタートアップフォルダーによって処理されます(タスクマネージャーの[スタートアップ]タブを参照)。今日、DOSがどのように始まったかに対応するものはありません。 NT4以降、ログオンしなくてもサービスを開始できます。とても違う。