русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Загрузка ядра.


Дата добавления: 2013-12-23; просмотров: 886; Нарушение авторских прав


Получив информацию об аппаратных средствах компьютера и выбранном аппаратном профиле, Ntldr загружает в память уровень аппаратных абстракций (Hal.dll) и ядро операционной системы Ntoskrnl.exe. Загрузив и запустив ядро, Ntldr передает ему информацию, собранную программой Ntdetect.com.

Информация о выбранном аппаратном профиле передается загрузчику, когда пользователь нажимает клавишу <Enter> в меню Hardware Profile/ Configuration Recovery. Помимо этого, загрузчик может сделать выбор автоматически по истечении указанного интервала времени (или в случае, если в системе существует только один аппаратный профиль). На данном этапе ядро и уровень аппаратных абстракций еще не инициализированы. Далее загрузчик просматривает реестр и загружает улей HKEY_LOCAL_MACHINE\ SYSTEM из файла %SystemRoot%\system32\Config\System.

В Windows NT/2000 загрузчик на данном этапе извлекал информацию о заданном по умолчанию или определенном пользователем размере реестра (registry quota). Как будет показано в главе 24 "Работа с системным реестром", в Windows XP и Windows Server 2003 необходимость в ограничении по размеру реестра отпала.

На данном этапе загрузчик активизирует API для работы с реестром и создает набор управляющих параметров (control set), который будет использоваться для инициализации компьютера. Эти задачи являются подготовительными для загрузки драйверов. Значение, заданное в ключе реестра HKEY_LOCAL_MACHiNE\SYSTEM\select (рис. 3.1.2), определяет, какой набор управляющих параметров из перечисленных в ключе HKEY_LOCAL_MACHINE\SYSTEM должен использоваться при загрузке. По умолчанию загрузчик использует набор управляющих параметров, определяемый значением Default. Если пользователь выбрал последнюю успешно загруженную конфигурацию (LastKnownGood), то загрузчик использует набор управляющих параметров, определяемых значением LastKnownGood. На основании сделанного пользователем выбора и значения ключа Select загрузчик определяет, какой из наборов управляющих параметров (controlSet00x) будет использоваться. После этого загрузчик устанавливает значение Current ключа Select на номер набора управляющих параметров, который он будет использовать.



 

Рис. 3.1.2. Ключ реестра HKEY_LOCAL_MACHINE\SYSTEM\Select

Далее загрузчик сканирует все сервисы (службы), определенные ключом реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services, И ищет драйверы устройств, для которых значение start равно 0x0 (такое значение указывает на то, что драйверы должны быть загружены, но не инициализированы). Как правило, драйверы с такими значениями представляют собой низкоуровневые драйверы устройств, например, драйверы дисков. Значение Group для каждого драйвера устройства определяет порядок, в котором загрузчик должен его загружать. Ключ HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlSet\Control\ServiceGroupOrder реестра определяет порядок загрузки.

К моменту завершения этой фазы все базовые драйверы загружены и активны, за исключением случаев, когда один из критически важных драйверов не инициализировался, вследствие чего началась перезагрузка системы.

В системах Windows 2000, Windows XP и Windows Server 2003. об инициализации ядра сигнализирует появление графической заставки (рис. 3.1.3). Это — чисто "косметическое" отличие от Windows NT 4.0, которое не меняет принципов загрузки Windows 2000/XP и Windows Server 2003 по сравнению с предыдущей версией системы.

 

Рис. 3.1.3. Появление графической заставки сигнализирует о начале инициализации ядра

Хотите убедиться в справедливости сказанного? Нет ничего проще. Добавив ключ /SOS в строку файла Boot.ini, управляющего содержимым меню загрузчика и режимом загрузки операционной системы, перезагрузите компьютер. Использование этой опции позволяет пользователю видеть всю последовательность загрузки драйверов.

Ядро создает ключ HREY_LOCAL_MACHINE\HARDWARE, используя информацию, полученную от загрузчика. Ключ HKEY_LOCAL_MACHINE\HARDWARE содержит данные об аппаратных средствах, распознавание которых осуществляется каждый раз при запуске системы. В состав этих данных входит информация об аппаратных компонентах на системной плате и о прерываниях, используемых конкретными аппаратными устройствами.

Ядро создает набор опций управления Clone, копируя в него опции управления из набора CurrentControlSet. Набор опций управления Clone никогда не модифицируется, т. к. он должен представлять собой полностью идентичную копию данных, которые использовались для конфигурирования компьютера и не должны отражать изменений, внесенных в ходе процесса запуска.

На стадии инициализации ядро выполняет следующие операции:

1. Инициализирует низкоуровневые драйверы устройств, загруженные на предыдущей стадии.

2. Загружает и инициализирует остальные драйверы устройств.

3. Запускает программы, например Chkdsk, которые должны отработать прежде, чем будут загружены какие-либо сервисы.

4. Загружает и инициализирует сервисы.

5. Создает файл подкачки pagefile.sys.

6. Запускает подсистемы, необходимые для работы Windows.

Windows XP и Windows Server 2003, в отличие от Windows NT/2000, выполняют параллельную инициализацию драйверов. Это сделано с целью ускорения процесса загрузки. Вместо того, чтобы ожидать инициализации предыдущего драйвера для того, чтобы начать инициализацию следующего, эти операции теперь выполняются параллельно. Таким образом, определяющее влияние на общее время загрузки оказывает самое медленное устройство.



<== предыдущая лекция | следующая лекция ==>
Работа загрузчика. | Регистрация пользователя в системе.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.005 сек.