Загрузка Windows 2000 - Файловая система Windows 2000

Прежде чем операционная система Windows 2000 сможет начать работу, она должна загрузиться. Процесс загрузки создает начальные процессы. Мы кратко обсудим процесс загрузки операционной системы Windows 2000. С точки зрения аппаратного обеспечения, процесс загрузки состоит из чтения первого сектора первого диска (главной загрузочной записи), послечегопрочитаннойпрограммепередаетсяуправление. Этакороткаяпрограммана ассемблере считывает таблицу разделов, чтобы определить, в каком разделе содержится загружаемая операционная система. Найдя раздел с операционной системой, начальный загрузчик считывает первый сектор этого раздела, называемый Загрузочным сектором, и передает управление ему. Программа, содержащаяся в загрузочном секторе, считывает корневой каталог своего дискового раздела, находит в нем файл ntldr (еще одно археологическоесвидетельствотого, что Windows 2000 насамомделепредставляетсобой NT). Если этот файл удается найти, он загружается в память и ему передается управление. Программа ntldr загружает операционную систему Windows 2000. Существует несколько версий загрузочного сектора в зависимости от формата раздела (FAT-16, FAT-32 или NTFS). При установке Windows 2000 на диск записываются соответствующие версии главной загрузочнойзаписиизагрузочногосектора.

Затем программа ntldr считывает файл Boot. ini, представляющий собой единственный файл с информацией о конфигурации, не содержащейся в реестре. Он хранит в себе списки всех версий файлов hal. dll и ntoskernl. exe, которые могут быть загружены с данного раздела диска. В этом файле также содержатся такие параметры, как количество центральных процессоров и оперативной памяти, сколько памяти отводить процессу пользователя (2 или 3 Гбайт), а также на какой частоте работают часы реального времени. Затем программа ntldr выбирает и загружает файлы hal. dll и ntoskernl. exe, а также файл bootvid. dll, представляющий собой видеодрайвер по умолчанию. Он обеспечивает вывод на дисплей во время процесса загрузки. После этого программа ntldr считывает реестр, чтобы найти драйверы, необходимые для завершения загрузки (например, драйверы клавиатуры и мыши, а также десятки других драйверов, требуемых для управления различными микросхемами на материнской плате). Наконец, загрузчиксчитываетвсеэтидрайверыипередаетуправлениепрограммеntoskernl. exe.

После запуска операционная система выполняет некоторые общие процедуры инициализации, а затем вызывает компоненты исполняющей системы, чтобы те также выполнили собственную инициализацию. Например, менеджер объектов подготавливает свое пространство имен, чтобы другие компоненты могли обращаться к нему и добавлять свои объекты в пространство имен. Многие компоненты также выполняют определенные действия, относящиеся кихфункциям, так, менеджер памятинастраивает начальные таблицы страниц, а менеджер plug-and-play определяет, какие устройства ввода-вывода присутствуют, и загружает их драйверы. Вся загрузка состоит из десятков этапов, в течение которых на экране отображается полоса прогресса, растущая по мере выполнения очередных этапов. Последний этап заключается в создании первого настоящего пользовательского процесса, Сеансового менеджера smss. exe. Как только этот процесс начинает работу, загрузка считается законченной.

Сеансовый менеджер представляет собой "родной" процесс операционной системы Windows 2000. Он обращается к истинным системным вызовам и не пользуется вызовами подсистемы окружения Win32, которая в тот момент еще даже не работает. Одной из его первоочередныхобязанностейявляетсязапускэтойподсистемы (csrss. exe). Онтакжесчитывает с диска ульи реестра и узнает из них, что еще он должен сделать. Как правило, его работа заключается в помещении множества объектов в пространство имен менеджера объектов, создании дополнительных файлов подкачки и открытии нужных DLL. Завершив свою работу, сеансовыйменеджерсоздаетдемонрегистрацииwinlogon. exe.

В этот момент операционная система загружена и работает. Теперь пора запустить служебные процессы (демоны в пространстве пользователя) и позволить пользователям регистрироваться в системе. Сначала winlogon. exe создает менеджера аутентификации (lsass. exe), а затем запускает родительский процесс всех служебных процессов (services. exe). Последний процесс по информации, хранящейся в реестре, определяет, какие демоны в пространстве пользователя нужно запустить и в каких файлах они находятся. После этого он приступает к их созданию. Такие демоны показаны на рис. 11.2. Как правило, уже после того, как первый пользователь зарегистрировался всистеме, но еще до того, как он успел вней что-либо сделать, в операционной системе Windows 2000 наблюдается высокая активность с большим количеством обращений к диску. Это программа services. exe создает системные службы. Кроме того, она загружает все оставшиеся, еще не загруженные, драйверы устройств.

Программа winlogon. exe также отвечает за регистрацию всех пользователей в системе. Диалоговое окноотображается отдельной программой msgina. dll, чтобы другиепроизводители программного обеспечения могли заменить стандартную процедуру регистрации с вводом имени и пароля идентификацией отпечатков пальцев или еще чем-нибудь. После успешного входа пользователя в систему программа winlogon. exe получает из реестра профиль пользователя и определяет по нему, какую оболочку запустить. Многие пользователи этого не осознают, но стандартный рабочий стол Windows представляет собой просто программу explorer. exe (Проводник), у которой настроены некоторые параметры. При желании пользователь может выбрать в качестве оболочки другую программу, включая командную строку или даже редактор Word, для чего ему нужно просто отредактировать реестр. Однако редактирование реестра -- занятие не для слабых духом. Одна ошибка может сделать систему незагружаемой.

Похожие статьи




Загрузка Windows 2000 - Файловая система Windows 2000

Предыдущая | Следующая