Почему и как Autoexec.bat заменяется в более поздних версиях ОС Windows?

Почему и как Autoexec.bat заменяется в более поздних версиях ОС Windows?

Я читал об архитектуре MS-DOS и наткнулся на такие файлы, какAutoexec.batиconfig.sys.

Autoexec.batпакетный ( .bat) файл, содержащий команды, которые использовались для инициализации путей, переменных среды, CWD, Prompt и т. д. Этот файл (вместе сconfig.sys) автоматически выполняются во время процедуры запуска ОС (если они существуют).

С,MS-DOSиКомандная строкапо большей части одинаковы (или похожи) друг на друга, я думал, что та же процедура будет перенесена и в текущие версии ОС Windows.

Это кажется понятным, поскольку, когда мы начинаем, cmdмы уже каждый раз находимся в определенном CWD, имеем набор указанных мест pathи т. д.

Но оказывается,Windows XPа в более поздних версиях ОС Windows его не было.

Поэтому я думал, как теперь все инициализируется, и почемуAutoexec.batудалили?

решение1

Windows NT была совершенно другой ОС, которая не зависела от DOS, поэтому все ее потомки (включая Windows 2000, а не только XP и выше) также не используют DOS-вещи, такие как AUTOEXEC.BAT. При этом AUTOEXEC.NT есть %SystemRoot%\system32для настройки среды при запуске приложения DOS

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. Они уходят далеко в 1993 год, когда Windows впервые работала над веткой NT Windows; затем два года спустя, когда вышла Windows 95. И ветка 9x, и ветка NT отличаются от MS-DOS под капотом — в случае NT, сильно и чрезвычайно.

В качестве грубого обзора различий NT Windows и MS-DOS можно привести следующие моменты:

  • Использует защищенный режим ЦП для создания барьера между ядром и пользовательским пространством.
  • Ожидает, что несколько программ будут работать и обращаться к одним и тем же дискам, дисплею и т. д., за исключением примитивной и ограниченной системы TSR DOS.
  • Имеет систему обмена сообщениями, поддерживающую событийное программирование, необходимое для поддержки методологии ввода графического интерфейса мыши и окна.
  • Имеет API (GDI и т. д.), которые необходимо использовать для создания окон, виджетов и изменения отображения.
  • Ожидает, что программы будут выполнять системные вызовы для взаимодействия со всеми устройствами, и не разрешает прямой доступ к оборудованию.
  • Вначале NT не предоставляла большого количества инструментов командной строки, доступных из COMMAND.COM или эквивалентных им для выполнения задач в операционной системе.

Итак, процессы загрузки отличаются, и опять же, для ветки Windows NT (включая XP) они существенно отличаются.

В Википедии есть хорошие статьи по темеподробности об инициализации Windows NT.

9x Windows больше похожа на многозадачное расширение MS-DOS, со странными механизмами для расширения до 32 бит. Процесс загрузки для 9x немного больше похож на MS-DOS,это хорошее описание. Windows ME была последней из 9x-ветви Windows до того, как Microsoft сделала XP как потребительской, так и деловой версией Windows, основанной на NT.

решение3

Запуск выполняется службами и папкой «Автозагрузка» для запуска приложений (см. вкладку «Автозагрузка» диспетчера задач). На сегодняшний день нет аналога тому, как запускался DOS. Начиная с NT4, службы могут запускаться даже без входа в систему. Очень по-другому.

Связанный контент