Инициализация ядра
В системах Windows 2000, Windows XP и Windows Server 2003. об инициализации ядра сигнализирует появление графической заставки (рис. 3.2). Это – чисто "косметическое" отличие от Windows NT 4.0, которое не меняет принципов загрузки Windows 2000/XP и Windows Server 2003 по сравнению с предыдущей версией системы.
Рис. 3.2. Появление графической заставки сигнализирует о начале инициализации ядра
Хотите убедиться в справедливости сказанного? Нет ничего проще. Добавив ключ /SOS в строку файла Boot.ini, управляющего содержимым меню загрузчика и режимом загрузки операционной системы, перезагрузите компьютер. Использование этой опции позволяет пользователю видеть всю последовательность загрузки драйверов.
Ядро создает ключ HREY_LOCAL_MACHINE\HARDWARE, используя информацию, полученную от загрузчика. Ключ HKEY_LOCAL_MACHINE\HARDWARE содержит данные об аппаратных средствах, распознавание которых осуществляется каждый раз при запуске системы. В состав этих данных входит информация об аппаратных компонентах на системной плате и о прерываниях, используемых конкретными аппаратными устройствами.
Ядро создает набор опций управления Clone, копируя в него опции управления из набора CurrentControlSet. Набор опций управления Clone никогда не модифицируется, т. к. он должен представлять собой полностью идентичную копию данных, которые использовались для конфигурирования компьютера и не должны отражать изменений, внесенных в ходе процесса запуска.
На стадии инициализации ядро выполняет следующие операции:
- Инициализирует низкоуровневые драйверы устройств, загруженные на предыдущей стадии.
- Загружает и инициализирует остальные драйверы устройств.
- Запускает программы, например Chkdsk, которые должны отработать прежде, чем будут загружены какие-либо сервисы.
- Загружает и инициализирует сервисы.
- Создает файл подкачки pagefile.sys.
- Запускает подсистемы, необходимые для работы Windows.
Windows XP и Windows Server 2003, в отличие от Windows NT/2000, выполняют параллельную инициализацию драйверов. Это сделано с целью ускорения процесса загрузки. Вместо того, чтобы ожидать инициализации предыдущего драйвера для того, чтобы начать инициализацию следующего, эти операции теперь выполняются параллельно. Таким образом, определяющее влияние на общее время загрузки оказывает самое медленное устройство.