
- •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.3 Загрузка и инициализация драйверов устройств
Теперь ядро инициализирует низкоуровневые драйверы устройств, которые были загружены на стадии загрузки ядра. В случае ошибки при инициализации одного из драйверов система предпринимает корректирующее действие, основываясь на данных, определенных параметром реестра HKEY_LOCAL_ MACHINE\SYSTEM\CurrentControlSet\Services\DriverName\ErrorControl.
Далее Ntoskrnl.exe сканирует реестр, на этот раз — в поисках драйверов устройств, для которых значение раздела HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlSet\Services\DriverName\Start установлено в 0x01. Это всегда так: значение Group для каждого драйвера устройства определяет порядок в котором производится их загрузка. Раздел реестра HKEY_LOCAL_MACHINE \SYSTEM\CurrentControlSet\Control\ServiceGroupOrder определяет порядок загрузки.
В отличие от фазы загрузки ядра, драйверы устройств, для которых значение Start установлено на 0x01, загружаются не за счет вызовов BIOS или программ ПЗУ, а с помощью драйверов устройств, загруженных на стадии загрузки ядра и только что инициализированных на этой стадии. Обработка ошибок в процессе инициализации этой группы драйверов устройств также основывается на значении параметра ErrorControl для соответствующих драйверов устройств.
12.4 Загрузка сервисов
Диспетчер сеансов (Smss.exe) запускает высокоуровневые подсистемы и сервисы (службы) Windows 2000. Информация, предназначенная для Диспетчеpa сеансов, находится в разделе реестра HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlSet\Control\SessionManager. Диспетчер сеансов исполняет инструкции, которые содержатся в следующих элементах реестра:
|
Параметр BootExecute |
|
Раздел Memory Management |
|
Раздел DOS Devices |
|
Раздел Subsystems |
Параметр BootExecute
Параметр BootExecute реестра содержит одну или несколько команд, которые Диспетчер сеансов выполняет перед загрузкой сервисов. Значением по умолчанию для этого элемента является Autochk.exe, т. е. версия Chkdsk.exe для Windows 2000. Приведенный ниже пример показывает установку этого значения, задаваемую по умолчанию:
BootExecute: REG_MULTI_SZ: autochk autochk*
Диспетчер сеансов может запустить несколько программ. Приведенный ниже пример показывает запуск утилиты Convert, которая при следующем запуске системы преобразует том X: из формата FAT в формат NTFS:
BootExeeute: REG_MULTI_SZ: autochk autochk* autoconv \DosDevices\x: /FS:ntfs
После того как Диспетчер сеансов выполнит все указанные команды, ядро осуществит загрузку остальных разделов реестра из %.SystemRoot%\System32 \Config.
Раздел Memory Management
В следующий момент Диспетчер сеансов инициирует информацию о файле подкачки, необходимую Диспетчеру виртуальной памяти.
Раздел DOS Devices
Затем Диспетчер сеансов создает символические ссылки. Эти ссылки связывают определенные классы команд с соответствующими компонентами файловой системы.
Раздел Subsystems
Поскольку архитектура подсистем базируется на сообщениях, необходимо запустить подсистему Windows (Win32). Эта подсистема управляет всем вводом/выводом и доступом к дисплею; ее процесс называется Csrss. Подсистема Win32 запускает процесс WinLogon, который в свою очередь запускает несколько других важных подсистем.
12.5 Регистрация пользователя в системе
Подсистема Win32 автоматически запускает процесс WinLogon.exe, который, в свою очередь, запускает процесс Локального администратора безопасности (Local Security Administration, Lsass.exe). После завершения инициализации ядра необходимо произвести регистрацию пользователя в системе. Процедура регистрации может быть произведена автоматически на основании информации, хранящейся в реестре, или вручную. При ручной регистрации пользователя на экране появляется диалоговое окно с приветствием и текстом "Нажмите Ctrl+Alt+Delete". В любом случае, к этому моменту Windows 2000 может еще продолжать инициализацию сетевых драйверов, однако пользователю уже разрешается зарегистрироваться в системе.
На данном этапе Диспетчер служб выполняет загрузку автоматически стартующих сервисов, для которых значение Start, расположенное в разделе реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DriverName, установлено равным 0x2. На этом этапе сервисы загружаются с учетом установленных для них зависимостей, поскольку их загрузка осуществляется параллельно. Зависимости описываются значимыми элементами DependOnGroup и DependOnService, расположенными в разделе реестра HKEY_LOCAL_ MACHINE\SYSTEM\CurrentControlSet\Services\DriverName.
Загрузка Windows 2000 не считается успешной до тех пор, пока в системе не зарегистрируется пользователь.
12.6 Файл Boot.ini
При инсталляции Windows 2000 на компьютерах х86 программа инсталляции помещает в корневой каталог системного раздела файл Boot.ini. NTLDR использует информацию из этого файла для отображения экрана, позволяющего пользователю выбирать операционную систему для загрузки.
Пример файла Boot.ini приведен ниже:
[boot loader]
timeout=30
default=multi(0)disk(O)rdisk(O)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(O)partition(1)\WINNT="Microsoft Windows 2000 Professional RUS" /fastdetect /sos
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Microsoft Windows 2000 Server with AD" /fastdetect
multi(0)disk(0)rdisk(l)partition(4)\WINNT="Microsoft Windows 2000 Server RUS with AD" /fastdetect
Файл Boot.ini состоит из разделов [boot loader] И [operating systems], опиасанных ниже.