
私はMS-DOSのアーキテクチャについて読んでいて、次のようなファイルに遭遇しました。自動実行.batそしてconfig.sys。
自動実行.batバッチ(.bat
)ファイルには、パス、環境変数、CWD、プロンプトなどを初期化するために使用されるコマンドが含まれていました。このファイル(config.sys) は、OS の起動手順中に自動的に実行されます (存在する場合)。
以来、MS-DOSそしてコマンド・プロンプト大部分は同じ (または類似) なので、現在の Windows OS でも同じ手順が引き継がれると思いました。
これは、開始時にcmd
すでに特定の CWD にいて、指定された場所のセットpath
などがあるため、理解できることのようです。
しかし、ウィンドウズXPWindows OS のそれ以降のバージョンにはそれがありませんでした。
それで、私は今どのようにすべてが初期化されるのか、そしてなぜ自動実行.bat削除されましたか?
答え1
Windows NTはDOSに依存しない完全に異なるOSであるため、その子孫(XP以降だけでなくWindows 2000も含む)はすべてAUTOEXEC.BATなどのDOSのものを使用しません。ただし、%SystemRoot%\system32
DOSアプリケーションが起動されたときに環境を設定するためのAUTOEXEC.NTはあります。
Windows MEは、Windows 9xシリーズであるにもかかわらず、DOSからの脱却を図っています。そのため、AUTOEXEC.BATの環境変数のみを解析します。
答え2
CONFIG.SYS
さまざまなオプションを設定し、DEVICE=
およびDEVICEHIGH=
行でドライバをロードしました。これは DOS の起動中に読み込まれました。
DOS が初期化を完了すると、シェルが起動します。これはSHELL=
CONFIG.SYS の行で指定されますが、通常COMMAND.COM
はそうである必要はありません。
COMMAND.COM
AUTOEXEC.BAT
スイッチで起動すると実行されます/P
。これは通常、行CONFIG.SYS
COMSPEC=
(例) は「永続的にする」という意味です (「サブシェル」ではありません)。/D
スイッチを使用するとこれを抑制できます。
DOS と他の Microsoft オペレーティング システムの違いは、XP よりもさらに古くからあります。Windows が最初に NT ブランチで動作していた 1993 年にまで遡り、その 2 年後に Windows 95 がリリースされました。9x ブランチと NT ブランチはどちらも、内部的には MS-DOS とは異なります。NT の場合は、大きく極端に異なります。
大まかな違いの概要として、NT Windows は MS-DOS と次の点で異なります。
- CPU の保護モードを使用して、カーネルとユーザー空間の間にバリアを作成します。
- DOS の原始的で制限された TSR システムとは別に、複数のプログラムが実行され、同じディスク、ディスプレイなどにアクセスすることが想定されています。
- GUI マウスとウィンドウのインターフェースの入力方法をサポートするために必要な、イベントベースのプログラミングをサポートするメッセージング システムを備えています。
- ウィンドウやウィジェットを作成したり、表示を変更したりするために必要な API (GDI など) があります。
- プログラムがシステムコールを実行してすべてのデバイスと通信することを期待しており、ハードウェアへの直接アクセスは許可していません。
- 当初、NT では、オペレーティング システムでタスクを実行するために COMMAND.COM から利用できるコマンド ライン ツールや同等のツールがあまり提供されていませんでした。
したがって、ブート プロセスは異なり、Windows の NT ブランチ (XP を含む) の場合、非常に異なります。
Wikipediaには良い記事がありますWindows NT の初期化の詳細。
9x Windows は MS-DOS のマルチタスク拡張機能に非常に似ており、32 ビットに拡張するための奇妙なメカニズムが組み込まれています。9x のブート プロセスは MS-DOS に少し似ています。これは良い説明だWindows ME は、Microsoft が NT ベースの Windows のコンシューマー バージョンとビジネス バージョンの両方を XP にする前の、Windows 9x ブランチの最後のバージョンでした。
答え3
スタートアップはサービスとスタートアップ フォルダーによって処理され、アプリを起動します (タスク マネージャーのスタートアップ タブを参照)。現在、DOS の起動方法に相当するものはありません。NT4 以降、サービスはログオンしなくても起動できます。まったく異なります。