Внутреннее устройство Microsoft Windows

Руководство для системных администраторов.

Руссинович М., Соломон Д. «Внутреннее устройство Microsoft Windows. Часть I.» Питер, 2013 год, 800 стр., 6-е изд.(11,4 мб. pdf)
Руссинович М., Соломон Д. «Внутреннее устройство Microsoft Windows. Часть II.» Питер, 2013 год, 672 стр., 6-е изд.(12,8 мб. pdf)

B книге описываются недокументированные внутренние структуры, устройство и функции ядра, архитектура, алгоритмы работы и различные аспекты внутренней работы Microsoft Windows 7, а также Windows Server 2008 R2, но данные компоненты и функции могут не совпадать с операционной системой Windows 10. (хотя Windows API сохраняет совместимость). Также в книге дается представление о ключевых основополагающих системных и управляющих механизмах Windows, охватываются основные компоненты операционной системы: процессы, потоки и задания; безопасность и работа в сети.

Вторая часть книги дает обзор основных подсистем Windows: ввод-вывод, хранение данных, управление памятью, диспетчер кэша и файловые системы. Исследуются процессы запуска и завершения работы и приводятся рекомендации по анализу аварийного дампа. Книга адресована системным администраторам, разработчикам сложных приложений и всем, кто интересуется операционной системой Windows.
ISBN: 978-5-459-01730-4 — часть 1;
ISBN: 978-5-496-00791-7 — часть 2;

Оглавление книги часть I

Содержание часть I.

Введение 14
Структура книги 14
История этой книги 14
Изменения, внесенные в шестое издание 15
Практические эксперименты 15
Незатронутые темы 15
Предупреждение и предостережение 15
Благодарности 16

Глава 1. Общие представления и инструментальные средства

Версии операционной системы Windows 18
Основные термины и понятия 19
Windows API 19
Службы, функции и стандартные программы 20
Процессы, потоки и задания 22
Волокна и потоки планировщика пользовательского режима 30
Виртуальная память 32
Сравнение режима ядра и пользовательского режима 34
Службы терминалов и множественные сеансы работы 39
Объекты и дескрипторы 40
Безопасность 41
Реестр 43
Unicode 43
Подробное исследование внутреннего устройства Windows 44
Системный монитор 45
Отладка ядра 47
Символы для отладки ядра 47
Средства отладки для Windows 47
Инструментальное средство LiveKd 51
Windows Software Development Kit 52
Windows Driver Kit 52
Инструментальные средства Sysinternals 53
Заключение 53

Глава 2. Архитектура системы

Требования и цели разработки 54
Модель операционной системы 55
Краткий обзор архитектуры 56
Переносимость 58
Симметричная мультипроцессорная обработка 60
Масштабируемость 62
Различия между клиентскими и серверными версиями 63
Отладочная сборка 67
Основные компоненты системы 69
Подсистемы среды окружения и DLL-библиотеки подсистем 70
Запуск подсистем 72
Подсистема Windows 72
Подсистема для приложений на Unix-основе 75
Ntdll.dll 76
Исполняющая система 77
Ядро 80
Объекты ядра 80
Поддержка оборудования 83
Уровень аппаратных абстракций 84
Драйверы устройств 87
Модель драйверов Windows (WDM) 88
Windows Driver Foundation 89
Системные процессы 92
Процесс простоя системы 93
Процесс System и системные потоки 94
Диспетчер сеанса (Smss) 97
Процесс инициализации Windows (Wininit.exe) 98
Диспетчер управления службами (SCM) 99
Диспетчер локальных сеансов (Lsm.exe) 101
Winlogon, LogonUI и Userinit 102
Заключение 103

Глава 3. Системные механизмы

Диспетчеризация системных прерываний 104
Диспетчеризация прерываний 106
Обработка аппаратных прерываний 107
Контроллер прерываний x86 109
Контроллеры прерываний x64 110
Контроллеры прерываний IA64 110
Уровни запросов программных прерываний (IRQL) 111
Программные прерывания 131
Обработка таймера 141
Истечение времени таймера 144
Выбор процессора 147
Интеллектуальное распределение обработки таймерного такта 150
Объединение таймеров 152
Диспетчеризация исключений 154
Необработанные исключения 158
Система Windows Error Reporting 160
Диспетчеризация системных служб 164
Диспетчеризация системных служб 164
Таблицы дескрипторов служб 170
Диспетчер объектов 173
Объекты исполняющей системы 176
Структура объекта 178
Заголовки и тела объектов 179
Объекты типа 185
Методы объекта 189
Дескрипторы объекта и таблица дескрипторов процесса 192
Резервные объекты 199
Безопасность объекта 200
Сохранение объектов 202
Учет ресурсов 206
Имена объектов 207
Каталоги объектов 208
Пространство имен сеанса 212
Фильтрация объектов 215
Синхронизация 216
Высокоуровневая IRQL-синхронизация 217
Взаимоблокируемые операции 218
Спин-блокировки 218
Спин-блокировки с очередями 221
Внутристековые спин-блокировки с очередью 222
Взаимоблокируемые операции исполняющей системы 222
Низкоуровневая IRQL-синхронизация 223
Объекты диспетчера ядра 224
Ожидание объектов диспетчера 225
Что переводит объект в сигнальное состояние? 226
Структуры данных 229
События с ключом 237
Быстрые мьютексы и защищенные мьютексы 239
Ресурсы исполняющей системы 241
Пуш-блокировки 243
Критические разделы 245
Ресурсы пользовательского режима 245
Условные переменные 246
Гибкие блокировки чтения-записи (Slim Reader-Writer Locks) 247
Единовременная инициализация 248
Системные рабочие потоки 250
Глобальные флаги Windows 252
Усовершенствованный вызов локальных процедур 253
Модель подключения 255
Модель сообщений 256
Асинхронные операции 259
Просмотры, области и разделы 260
Атрибуты 261
Блобы, дескрипторы и ресурсы 261
Безопасность 262
Производительность 263
Отладка и трассировка 264
Отслеживание событий ядра 266
Wow64 270
Схема адресного пространства процессов Wow64 270
Системные вызовы 271
Диспетчеризация исключений 272
Диспетчеризация пользовательских APC 272
Поддержка консоли 272
Пользовательские функции обратного вызова 272
Перенаправления в файловой системе 272
Перенаправления в реестре 273
Запросы на управление вводом-выводом 274
16-разрядные программы установки 275
Вывод на печать 275
Ограничения 275
Отладка в пользовательском режиме 276
Поддержка со стороны ядра 276
Встроенная поддержка 278
Поддержка подсистемы Windows 279
Загрузчик образов 280
Ранняя стадия инициализации процесса 282
Разрешение имен DLL-библиотек и перенаправление 283
Перенаправление имени DLL 284
База данных загруженных модулей 287
Анализ импорта 291
Инициализация процесса после импортирования 292
Технология SwitchBack 294
Наборы API-функций 295
Гипервизор (Hyper-V) 297
Разделы 299
Родительский раздел 300
Операционная система родительского раздела 300
Служба управления виртуальными машинами и рабочие процессы 301
Провайдеры службы виртуализации 301
Драйвер инфраструктуры виртуальных машин и API-библиотека
гипервизора 301
Гипервизор 302
Дочерние разделы 302
Клиенты службы виртуализации 304
Просвещения 304
Эмуляция и поддержка оборудования 305
Эмулированные устройства 306
Синтетические устройства 307
Виртуальные процессоры 309
Виртуализация памяти 309
Перехваты 318
Динамическая миграция 318
Диспетчер транзакций ядра 321
Поддержка горячих исправлений 324
Защита ядра от исправлений 326
Целостность кода 329
Заключение 331

Глава 4. Механизмы управления

Реестр 332
Просмотр и изменение реестра 332
Использование реестра 333
Типы данных реестра 334
Логическая структура реестра 335
HKEY_CURRENT_USER 336
HKEY_USERS 337
HKEY_CLASSES_ROOT 338
HKEY_LOCAL_MACHINE 339
HKEY_CURRENT_CONFIG 343
HKEY_PERFORMANCE_DATA 343
Расширение для работы с реестром в режиме транзакций — Transactional Registry (TxR) 343
Отслеживание активности реестра 346
Внутренние особенности Process Monitor 346
Технологии поиска и устранения неисправностей с помощью Process Monitor 348
Регистрационная активность при работе с непривилегированными учетными записями или в процессе входа-выхода из системы 349
Внутреннее устройство реестра 350
Кусты 350
Ограничения размера куста 351
Символические ссылки реестра 352
Структура куста 353
Отображения ячеек 357
Пространство имен и работа реестра 359
Обеспечение надежного хранения 361
Фильтрация реестра 363
Оптимизации реестра 363
Службы 364
Приложения служб 365
Учетные записи служб 371
Учетная запись локальной системы 371
Учетная запись сетевой службы (Network Service) 373
Учетная запись локальной службы 374
Запуск служб под другими учетными записями 374
Запуск с наименьшими привилегиями 374
Изоляция служб 376
Интерактивные службы и изоляция нулевого сеанса (Session 0) 380
Диспетчер управления службами 382
Запуск службы 386
Ошибки, возникающие при запуске 390
Признание загрузки и последняя удачная конфигурация 391
Сбои служб 393
Остановка службы 394
Процессы, общие для нескольких служб 396
Теги служб 399
Единый диспетчер фоновых процессов 400
Инициализация 400
API-функции UBPM 402
Регистрация поставщика 402
Регистрация потребителя 404
Task Host 405
Программы управления службами 406
Windows Management Instrumentation 407
Архитектура WMI 407
Поставщики 409
Common Information Model и язык Managed Object Format 410
Пространство имен WMI 414
Связи классов 415
Реализация WMI 417
Безопасность WMI 419
Инфраструктура диагностики Windows 420
Инструментарий WDI 420
Служба политики диагностики 421
Проведение диагностики 422
Заключение 423

Глава 5. Процессы, потоки и задания

Внутреннее устройство процессов 424
Структуры данных 424
Защищенные процессы 432
Порядок работы функции CreateProcess 434
Этап 1. Преобразование и проверка приемлемости параметров и флагов 435
Этап 2. Открытие образа, предназначенного для выполнения 439
Этап 3. Создание объекта процесса исполняющей системы Windows (PspAllocateProcess) 442
Этап 3А. Настройка объекта EPROCESS 443
Этап 3Б. Создание исходного адресного пространства процесса 445
Этап 3В. Создание находящейся в ядре структуры процесса 445
Этап 3Г. Завершение настройки адресного пространства процесса 446
Этап 3Д. Настройка PEB 447
Этап 3Е. Завершение настройки объекта процесса исполняющей системы (PspInsertProcess) 447
Этап 4. Создание исходного потока, а также его стека и контекста 448
Этап 5. Выполнение следующих за инициализацией действий,
относящихся к подсистеме Windows 451
Этап 6. Начало выполнения исходного потока 452
Этап 7. Выполнение инициализации процесса в контексте нового процесса 453
Внутреннее устройство потоков 459
Структура данных 459
Рождение потока 465
Изучение активности потока 466
Ограничения, накладываемые на потоки защищенного процесса 469
Рабочие фабрики (пулы потоков) 471
Планирование потоков 475
Обзор организации планирования в Windows 475
Уровни приоритета 478
Состояния потоков 484
База данных диспетчера 490
Кванты времени 492
Повышение приоритета 500
Переключения контекста 521
Сценарии планирования 521
Потоки простоя 526
Выбор потока 530
Мультипроцессорные системы 532
Выбор потока на мультипроцессорных системах 543
Выбор процессора 544
Планирование, основанное на долевом использовании процессора 546
Распределенное справедливое долевое планирование 547
Ограничения норм использования центрального процессора 555
Динамическое добавление и удаление процессоров 557
Объекты заданий 559
Ограничения заданий 559
Наборы заданий 560
Заключение 563

Глава 6. Безопасность

Оценка безопасности 564
Критерии оценки заслуживающих доверия компьютерных систем 564
Общие критерии 566
Системные компоненты безопасности 567
Защита объектов 571
Проверки прав доступа 573
Идентификаторы безопасности 576
Виртуальные учетные записи служб 597
Дескрипторы безопасности и управление доступом 601
AuthZ API 618
Права доступа и привилегии 620
Права учетной записи 622
Привилегии 623
Суперпривилегии 629
Маркеры доступа процессов и потоков 631
Аудит безопасности 632
Аудит доступа к объекту 633
Глобальная политика аудита 636
Вход в систему 639
Инициализация Winlogon 641
Этапы входа пользователя в систему 642
Гарантированная аутентификация 647
Биометрическая среда для аутентификации пользователей 649
Управление учетными записями пользователей и виртуализация 651
Файловая система и виртуализация реестра 652
Повышение привилегий 659
Идентификация приложений (AppID) 670
AppLocker 672
Политики ограниченного использования программ 678
Заключение 680

Глава 7. Сеть

Сетевая архитектура Windows 681
Исходная модель OSI 681
Сетевые компоненты Windows 685
Сетевые API 688
Сокеты Windows 688
Ядро Winsock 695
Вызов удаленной процедуры 697
API-интерфейсы веб-доступа 703
Именованные каналы и почтовые слоты 705
NetBIOS 712
Другие сетевые API 714
Поддержка нескольких редиректоров 722
Маршрутизатор многосетевого доступа (MPR) 722
Многосетевой UNC-поставщик (MUP) 725
Заменители поставщиков 727
Редиректор 728
Мини-редиректоры 730
Протокол блока сообщений сервера и подчиненные редиректоры 731
Пространство имен распределенной файловой системы 732
Репликация распределенной файловой системы 734
Автономные файлы 735
Режимы кэширования 737
Призраки 739
Безопасность данных 740
Структура кэша 740
BranchCache 742
Режимы кэширования 744
Оптимизированное извлечение данных приложением с помощью
BranchCache: SMB-последовательность 750
Оптимизированное извлечение данных приложением с помощью
BranchCache: HTTP-последовательность 752
Разрешение имен 754
Система имен домена 754
Протокол разрешения имен одноранговой сети 755
Расположение и топология 757
Служба сведений о подключенных сетях 757
Индикатор состояния сетевого подключения 758
Обнаружение топологии Link-Layer 761
Драйверы протокола 762
Платформа фильтрации Windows Filtering Platform 767
NDIS-драйверы 773
Разновидности NDIS-драйверов мини-порта 778
NDIS-драйверы, ориентированные на установку соединения 778
Remote NDIS 781
QoS 782
Привязка 785
Многоуровневые сетевые службы 787
Удаленный доступ 787
Active Directory 787
Network Load Balancing 789
Защита сетевого доступа 790
Direct Access 796
Заключение 799

Оглавление книги часть II

Содержание часть II.

Глава.8 Подсистема ввода-вывода

Компоненты подсистемы ввода-вывода 21
Диспетчер ввода-вывода 24
Стандартная обработка ввода-вывода 24
Драйверы устройств 26
Типы драйверов устройств 26
WDM-драйверы 27
Многоуровневые драйверы 27
Структура драйвера 32
Объекты драйверов и устройств 35
Открытие устройств 40
Обработка ввода-вывода 47
Типы ввода-вывода 47
Синхронный и асинхронный ввод-вывод 47
Быстрый ввод-вывод 48
Ввод-вывод для файлов, отображенных на память, и кэширование файлов 49
Фрагментированный ввод-вывод 50
Пакеты запросов на ввод и вывод 50
Блоки стека IRP-пакетов 52
Управление буфером IRP-пакетов 54
Запрос ввода-вывода к одноуровневому драйверу 55
Обработка прерывания 57
Завершение обработки запроса на ввод-вывод 59
Синхронизация 61
Запросы ввода-вывода к многоуровневым драйверам 62
Независимый от программных потоков ввод-вывод 69
Отмена ввода-вывода 70
Отмена ввода-вывода, инициированная пользователем 71
Отмена ввода-вывода при завершении программного потока 72
Порты завершения ввода-вывода 74
Объект IoCompletion 75
Применение портов завершения 75
Функционирование порта ввода-вывода 77
Определение приоритетов ввода-вывода 80
Приоритеты ввода-вывода 80
Стратегии выбора приоритета 80
Предотвращение инверсии приоритетов ввода-вывода (наследование приоритетов ввода-вывода) 83
Повышение и понижение приоритетов ввода-вывода 84
Резервирование полосы пропускания (планирование файлового ввода-вывода) 86
Уведомления о сеансах 87
Программа Driver Verifier 87
Среда KMDF 90
Структура и функциональность KMDF-драйвера 90
Модель данных в KMDF 92
Модель ввода-вывода в KMDF 97
Среда UMDF 100
PnP-диспетчер 104
Уровень поддержки технологии Plug and Play 105
Поддержка технологии Plug and Play со стороны драйвера 105
Загрузка, инициализация и установка драйвера 107
Параметр Start 108
Перечисление устройств 109
Стеки устройств 113
Загрузка драйверов для стека устройств 114
Установка драйвера 119
Диспетчер электропитания 123
Работа диспетчера электропитания 125
Участие драйверов в управлении электропитанием 126
Управление электропитанием устройств со стороны драйверов и приложений 130
Запросы на изменение режима электропитания 130
Управление электропитанием со стороны центрального процессора 133
Политики парковки ядер 134
Функция полезности 135
Переопределение алгоритма 138
Увеличение/уменьшение числа запаркованных ядер 139
Пороговые значения и варианты настройки политик 139
Проверка производительности 143
Заключение 149

Глава.9 Управление.внешней памятью

Базовая терминология 151
Дисковые устройства 152
Вращающиеся магнитные диски 152
Формат сектора диска 152
Твердотельные диски 154
Флэш-память типа NAND 155
Удаление файлов и команда Trim 156
Драйверы дисков 158
Программа Winload 158
Драйверы дисковых класса, порта и мини-порта 159
iSCSI-драйверы 160
MPIO-драйверы 161
Объекты устройств для дисков 163
Диспетчер разделов 165
Управление томами 166
Базовые диски 166
Схема MBR 166
Схема GPT 167
Диспетчер томов на базовых дисках 168
Динамические диски 169
База данных для LDM 169
Разбиение на разделы в стиле LDM и GPT или в стиле MBR 173
Диспетчер томов для динамических дисков 174
Управление составными томами 175
Перекрытые тома 175
Чередующиеся тома 176
Зеркальные тома 177
RAID-5 179
Пространство имен томов 180
Диспетчер монтирования 181
Точки монтирования 182
Монтирование томов 183
Ввод и вывод на томах 187
Служба виртуальных дисков 188
Поддержка виртуального жесткого диска 190
Присоединение виртуальных жестких дисков 191
Вложенные файловые системы 192
Шифрование диска BitLocker 192
Ключи шифрования 194
Доверенный платформенный модуль 197
Процесс загрузки BitLocker 200
Восстановление с помощью BitLocker 201
Драйвер шифрования всего тома 202
Управление системой BitLocker 204
Технология BitLocker To Go 205
Служба теневого копирования томов 207
Теневые копии 207
Полные теневые копии 207
Разностные теневые копии 207
Архитектура VSS 208
Функционирование VSS 208
Провайдер теневого копирования 210
Применение в Windows 212
Резервное копирование 212
Предыдущие версии и восстановление системы 213
Заключение 216

Глава.10 Управление внутренней памятью

Знакомство с диспетчером памяти 217
Компоненты диспетчера памяти 218
Внутренняя синхронизация 219
Исследование использования памяти 220
Службы диспетчера памяти 224
Большие и малые страницы 224
Резервирование и подтверждение страниц 227
Лимит подтверждения 230
Блокирование памяти 231
Гранулярность выделения памяти 231
Совместно используемая память и отображаемые файлы 232
Защита памяти 235
Защита страниц от выполнения 237
Программное предотвращение выполнения кода 242
Копирование при записи 244
Оконные расширения адресов 245
Кучи режима ядра 248
Размеры пулов 249
Мониторинг использования пулов 251
Ассоциативные списки 255
Диспетчер кучи 257
Типы куч 257
Структура диспетчера кучи 258
Синхронизация кучи 259
Слабо фрагментированная куча 260
Механизмы безопасности куч 261
Средства отладки куч 262
Инструмент pageheap 263
Отказоустойчивая куча 264
Структуры виртуального адресного пространства 265
Структура адресных пространств на платформе x86 267
Структура системного адресного пространства на платформе x86 270
Пространство сеанса на платформе x86 270
Записи системной таблицы страниц 273
Структура адресных пространств 64-разрядных систем 274
Ограничения виртуальной адресации на платформе x64 278
16-терабайтное ограничение для Windows на платформе x64 278
Динамическое управление системным виртуальным адресным пространством 281
Квоты системного виртуального адресного пространства 284
Структура пользовательского адресного пространства 286
Рандомизация образа 288
Рандомизация стека 290
Рандомизация кучи 290
ASLR в адресном пространстве ядра 290
Управление средствами смягчения уровня опасности 290
Преобразование адресов 292
Преобразование виртуальных адресов на платформе x86 292
Каталоги страниц 296
Таблицы страниц и их записи 297
Сравнение аппаратного и программного битов записи 299
Байт внутри страницы 300
Буфер быстрого преобразования адресов 300
Расширение физических адресов 302
Преобразование виртуальных адресов на платформе x64 306
Преобразование виртуальных адресов на платформе IA64 308
Обработка ошибок отсутствия страниц 309
PTE-записи 310
Прототипные PTE-записи 312
Страничный ввод-вывод 315
Конфликтные ошибки отсутствия страниц 315
Кластерные ошибки отсутствия страниц 316
Страничные файлы 318
Показатель подтверждения и системный лимит подтверждения 319
Показатель подтверждения и размер страничного файла 323
Стеки 325
Пользовательские стеки 326
Стеки ядра 327
DPC-стек 328
Дескрипторы виртуальных адресов 328
Дескрипторы виртуальных адресов процесса 329
Чередующиеся дескрипторы виртуальных адресов 331
NUMA 331
Объекты разделов 333
Программа проверки драйверов 340
База данных номеров страничных блоков 345
Динамика списков страниц 349
Приоритеты страниц 359
Подсистема записи измененных страниц 362
Структура данных PFN-записи 364
Лимиты физической памяти 370
Лимиты памяти клиентских версий Windows 371
Фактические лимиты памяти на 32-разрядных клиентских системах 372
Рабочие наборы 375
Подкачка по требованию 375
Компонент логической предвыборки 376
Политика размещения 380
Управление рабочими наборами 381
Диспетчер настройки баланса и поток подкачки 385
Системные рабочие наборы 386
События уведомлений в памяти 387
Упреждающее управление памятью (супервыборка) 390
Компоненты 390
Трассировка и протоколирование 393
Сценарии 394
Приоритеты страниц и перебалансировка 395
Устойчивое функционирование 397
Служба ReadyBoost 400
Технология ReadyDrive 402
Унифицированное кэширование 402
Отражение процессов 405
Заключение 409

Глава.11. Диспетчер кэша

Основные возможности диспетчера кэша 410
Единый централизованный системный кэш 411
Диспетчер памяти 411
Согласованность кэша 412
Кэширование виртуальных блоков 413
Кэширование на основе потоков данных 414
Поддержка самовосстанавливающихся файловых систем 414
Управления виртуальной памятью кэша 415
Размер кэша 417
Виртуальный размер кэша 417
Размер рабочего набора кэша 418
Физический размер кэша 419
Структуры данных кэша 421
Общесистемные структуры данных кэша 422
Структуры данных кэша, относящиеся к каждому файлу 425
Интерфейсы файловых систем 431
Копирование в кэш и из кэша 432
Кэширование через интерфейсы отображения и фиксации 432
Кэширование через интерфейсы прямого доступа к памяти 433
Быстрый ввод-вывод 433
Упреждающее чтение и отложенная запись 435
Интеллектуальное упреждающее чтение 436
Кэширование с обратной записью и отложенная запись 437
Отключение режима отложенной записи для файла 445
Принудительное включение в кэше режима сквозной записи на диск 445
Сброс отображаемых файлов 445
Ограничение записи 446
Системные программные потоки 448
Заключение 449

Глава.12 Файловые системы

Форматы файловых систем в Windows 451
CDFS 451
UDF 452
FAT12, FAT16 и FAT32 452
exFAT 456
NTFS 456
Архитектура драйверов файловой системы 457
Локальные FSD-драйверы 458
Удаленные FSD-драйверы 459
Блокировка 461
Работа файловой системы 467
Явный ввод-вывод 468
Подсистема записи модифицированных и отображенных страниц 472
Подсистема отложенной записи 473
Программный поток опережающего чтения 473
Обработчик ошибок страниц 474
Фильтрующие драйверы файловой системы 474
Программа Process Monitor 474
Решение проблем файловой системы 476
Базовый и расширенный режимы программы Process Monitor 476
Устранение неисправностей с помощью Process Monitor 477
Файловая система с типовым протоколированием 478
Маршалирование 478
Типы журналов 479
Структура журнала 481
Регистрационные номера транзакций в журнале 482
Блоки журнала 483
Страницы владельца 484
Преобразование виртуальных LSN-номеров в физические 485
Политики управления 486
Цели разработки и особенности NTFS 487
Требования к профессиональной файловой системе 487
Восстанавливаемость 487
Безопасность 487
Избыточность данных и отказоустойчивость 488
Нетривиальные возможности NTFS 488
Множественные потоки данных 489
Имена на базе Unicode 491
Универсальный механизм индексации 491
Динамическое переназначение поврежденных кластеров 492
Жесткие ссылки 492
Символические (мягкие) ссылки и соединения 493
Сжатие и разреженные файлы 495
Протоколирование изменений 496
Квоты томов для пользователей 496
Отслеживание связей 498
Шифрование 498
Поддержка POSIX 499
Дефрагментация 499
Динамическое разбиение на разделы 501
Драйвер файловой системы NTFS 502
NTFS-структура на диске 505
Тома 505
Кластеры 506
Главная таблица файлов 507
Индексы файловых записей 511
Файловые записи 511
Имена файлов 514
Резидентные и нерезидентные атрибуты 518
Сжатие данных и разреженные файлы 521
Сжатие разреженных данных 522
Сжатие неразреженных данных 524
Разреженные файлы 526
Файл журнала изменений 526
Индексация 529
Идентификаторы объектов 531
Отслеживание квот 531
Консолидированная система безопасности 533
Точки повторной обработки 535
Поддержка транзакций 535
Изоляция 536
Транзакционные API-интерфейсы 538
Диспетчеры ресурсов 539
Реализация на диске 541
Реализация протоколирования 543
Реализация восстановления 543
Поддержка восстановления в NTFS 544
Техническое решение 545
Протоколирование метаданных 546
Служба файла журнала 546
Типы записей журнала 548
Восстановление 551
Анализ 551
Повторение 552
Отмена 553
Восстановление поврежденных кластеров в NTFS 555
Самовосстановление 559
Безопасность в шифрующей файловой системе 560
Первое шифрование файла 563
Шифрование файловых данных 564
Процесс дешифрирования 565
Резервное копирование шифрованных файлов 566
Копирование зашифрованных файлов 567
Заключение 567

Глава.13 Запуск и завершение работы системы

Процесс загрузки 568
Начальные этапы загрузки систем на базе BIOS 568
Загрузочный сектор систем на базе BIOS и Bootmgr 572
Загрузка в UEFI-системах 587
Загрузка с iSCSI-устройств 588
Инициализация ядра и исполнительных подсистем 589
Smss, Csrss и Wininit 597
ReadyBoot 603
Автоматически запускаемые образы 603
Анализ проблем при загрузке и запуске системы 605
Последняя удачная конфигурация 605
Безопасный режим 605
Загрузка драйверов в безопасном режиме 606
Программы с поддержкой безопасного режима 608
Протоколирование загрузки в безопасном режиме 608
Среда восстановления Windows 609
Решение распространенных проблем загрузки 613
Повреждение MBR 613
Повреждение загрузочного сектора 614
Неправильная конфигурация BCD 614
Повреждение системных файлов 615
Повреждение куста System 617
Сбой или зависание после вывода экранной заставки 617
Завершение работы 619
Заключение 622

Глава.14 Анализ аварийного дампа

Почему в Windows случаются сбои? 623
Синий экран 624
Причины сбоев в Windows 625
Устранение проблем при сбоях 627
Файлы аварийного дампа 629
Генерация аварийного дампа 635
Передача в Microsoft отчетов об ошибках 638
Анализ сбоев через Интернет 639
Базовый анализ аварийного дампа 640
Программа Notmyfault 641
Базовый анализ 642
Детальный анализ 643
Инструменты устранения сбоев 645
Переполнение буфера, повреждение памяти и особый пул 646
Перезапись кода и защита системного кода от записи 649
Углубленный анализ аварийных дампов 651
Засорение стека 652
Зависание, или отсутствие отклика 654
Если аварийный дамп отсутствует 659
Анализ распространенных стоп-кодов 662
Код 0xD1 — DRIVER_IRQL_NOT_LESS_OR_EQUAL 662
Код 0x8E — KERNEL_MODE_EXCEPTION_NOT_HANDLED 664
Код 0x7F — UNEXPECTED_KERNEL_MODE_TRAP 665
Код 0xC5 — DRIVER_CORRUPTED_EXPOOL 667
Отказы аппаратуры 670
Заключение 671
Об авторах 672

Скачать Часть I бесплатно11,4 мб. pdf Скачать Часть II бесплатно12,8 мб. pdf

Похожая литература