
- •1. Управление процессами
- •1.1 Операции над процессами
- •1.2 Обработка прерываний
- •2. Иерархическая структура ос.
- •2.1 Понятие параллельных и асинхронных процессов
- •2.2 Алгоритм Деккера.
- •2.3 Аппаратная реализация взаимоисключения
- •2.4 Реализация взаимоисключения с помощью семафоров
- •3. Тупиковые ситуации
- •3.1 Четыре необходимых условия возникновения тупика
- •3.2 Основные направления исследований по проблеме тупиков
- •3.3 Предотвращение тупиков, 3 стратегических принципа.
- •3.5 Обнаружение тупиков
- •3.6 Восстановление после тупиков
- •4. Управление памятью
- •4.1 Организация памяти
- •4.2 Стратегии управления памятью
- •4.3 Связное и несвязное распределение памяти
- •4.4 Мультипрограммирование с фиксированными разделами
- •4.5 Мультипрограммирование с переменными разделами
- •4.6 Стратегии размещения информации в памяти
- •5. Организация виртуальной памяти
- •5.1 Страничная организация памяти
- •5.2 Сегментная организация памяти
- •5.3 Странично-сегментная организация памяти
- •5.4 Стратегии управления виртуальной памятью
- •5.5 Принцип локальности
- •5.6 Стратегии вталкивания страниц
- •6. Управление процессорами
- •6.1 Уровни планирования загрузки процессоров
- •6.2 Цели планирования
- •6.3 Принципы планирования
- •7 Управление внешней памятью
- •8. Производительность
- •8.1 Методы оценки производительности
- •9. Операционная система ms-dos – структура и механизмы
- •9.1 Этапы загрузки ms-dos
- •9.2 Параметры загрузки ms-dos
- •9.3 Структура диска в ms-dos
- •9.4 Использование памяти системой ms-dos
- •9.5 Средства использования памяти
- •10. Операционная система windows 9.X
- •10.1 Сравнение dos и Windows 9.X
- •10.2 Windows 9.X Функции операционной системы
- •10.3 Виртуальная адресация памяти Windows 9.X
- •10.4 Виртуальные машины ос Windows 9.X
- •10.5 Процессы и сообщения в ос Windows 9.X
- •10.6 Планирование приоритетов
- •10.7 Файловая система Windows 9.X
- •11. Операционная система unix
- •11.1 Структура ос unix
- •11.2 Файловая система ос unix
- •11.3 Типы файлов.
- •11.4 Структура файловой системы unix.
- •11.4.1 Базовая файловая система. System V (s5fs).
- •11.4.2 Файловая система ffs.
- •11.5 Архитектура виртуальной файловой системы.
- •11.6 Подсистема управления процессами
- •11.6.1 Типы процессов
- •11.6.2 Атрибуты процесса.
- •11.6.3 Состояния процесса.
- •11.7 Принципы управления памятью
- •11.8 Планирование выполнения процессов
- •11.9 Взаимодействия между процессами
- •12. Загрузка ос windows 2000
- •12.3 Загрузка и инициализация драйверов устройств
- •12.6.1 Раздел [boot loader]
- •12.6.2 Раздел [operating systems]
- •13 Файловая система windows nt (ntfs)
- •13 Новые возможности ntfs 5.0
- •14 Структура ntfs
- •14.1 Главная файловая таблица
- •14.2 Атрибуты файла ntfs
- •14.3 Системные файлы ntfs
- •14.4 Сравнение ntfs с hpfs и fat
- •15 Конфигурирование системы
12. Загрузка ос windows 2000
12.1 Загрузка ядра
Получив информацию об аппаратных средствах компьютера и выбранном аппаратном профиле, загрузчик запускает ядро операционной системы Ntoskrnl.exe и передает ему информацию, собранную программой Ntdetect.com.
Информация о выбранном аппаратном профиле передается загрузчику, когда пользователь нажимает клавишу <Enter> в меню выбора конфигурации оборудования (Hardware Profile/Configuration Recovery). Помимо этого загрузчик может сделать выбор автоматически по истечении указанного интервала времени (или в случае, если в системе существует только один аппаратный профиль).
О начале фазы загрузки ядра Windows 2000 сигнализируют появляющиеся на экране точки, которые служат индикатором степени завершенности загрузки в память ядра Windows 2000 (Ntoskrnl.exe) и слоя (уровня) аппаратных абстракций (hal.dll). На данном этапе эти модули еще не инициализированы. Далее загрузчик просматривает реестр, извлекает информацию о заданных по умолчанию или определенных пользователем размерах невыгружаемого (резидентного) пула памяти (nonpaged pool) и реестра (registry quota) и загружает раздел HKEY_LOCAL_MACHINE\SYSTEM из файла %SystemKoof% \System32\Config\System.
На данном этапе загрузчик активизирует API для работы с реестром и создает набор управляющих параметров (control set), который будет использоваться для инициализации компьютера. Эти задачи являются подготовительными для загрузки драйверов. Значение, заданное в разделе HKEY_ LOCAL_MACHINE\SYSTEM\Select (рис. 2.1), определяет, какой набор управляющих параметров из перечисленных в разделе HKEY_LOCAL_ MACHINE\SYSTEM должен использоваться при загрузке.
По умолчанию загрузчик использует набор управляющих параметров, определяемый значением "Default". Если пользователь выбрал последнюю удачную конфигурацию, то загрузчик использует набор управляющих параметров, определяемых значением LastKnownGood. На основании сделанного пользователем выбора и значения раздела Select загрузчик определяет, какой из наборов управляющих параметров (ControlSetOOx) будет использоваться. После этого загрузчик устанавливает значение Current раздела Select на номер набора управляющих параметров, который он будет использовать.
Далее загрузчик сканирует все сервисы (службы), определенные разделом реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services и ищет драйверы устройств, для которых параметр Start равен 0x0 (такое значение указывает на то, что драйверы должны быть загружены, но не инициализированы). Как правило, драйверы с такими значениями представляют собой низкоуровневые драйверы устройств, например, драйверы дисков. Значение Group для каждого драйвера устройства определяет порядок, в котором загрузчик должен его загружать. Раздел HKEY_LOCAL_MACHINE \SYSTEM\CurrentControlSet\Control\ServiceGroupOrder реестра определяет порядок загрузки.
К моменту завершения этой фазы все базовые драйверы загружены и активны, за исключением случаев, когда один из критически важных драйверов не инициализировался, вследствие чего началась перезагрузка системы.
12.2 Инициализация ядра
В системах Windows 2000 об инициализации ядра сигнализирует появление графической заставки. Это — чисто "косметическое" отличие от Windows NT 4.0, которое не меняет принципов загрузки Windows 2000 по сравнению с предыдущей версией системы.
Хотите убедиться в справедливости сказанного? Нет ничего проще. Добавив параметр /sos в строку файла Boot.ini, управляющую содержимым меню загрузчика и режимом загрузки операционной системы, перезагрузите компьютер. Использование этой опции позволяет пользователю видеть всю последовательность загрузки драйверов. На фоне красивой графической заставки, сигнализирующей о начале инициализации ядра, вы увидите нечто похожее на приведенное ниже сообщение:
Microsoft ® Windows 2000 Server (TM) (Build 2195)
1 System Processor (64 MB Memory)
Ядро создает раздел HKEY_LOCAL_MACHINE\HARDWARE, используя информацию, полученную от загрузчика. Раздел HKEY_LOCAL_MACHINE \HARDWARE содержит данные об аппаратных средствах, распознавание которых осуществляется каждый раз при запуске системы. В состав этих данных входит информация об аппаратных компонентах на системной плате и о прерываниях, используемых конкретными аппаратными устройствами.
На стадии инициализации ядро выполняет следующие операции:
|
Инициализирует низкоуровневые драйверы устройств, загруженные на предыдущей стадии |
|
Загружает и инициализирует остальные драйверы устройств |
|
Запускает программы, например Chkdsk, которые должны отработать прежде, чем будут загружены какие-либо сервисы |
|
Загружает и инициализирует сервисы |
|
Создает файл подкачки pagefile.sys |
|
Запускает подсистемы, необходимые для работы Windows 2000 |