Ключевые изменения в ядре windows vista sp1
DESCRIPTION
Ключевые изменения в ядре Windows Vista SP1. Александр Шаповал Эксперт по информационной инфраструктуре Microsoft. Предисловие . Это не повторение презентации по ядру Windows Server 2008! Фокус на возможностях, характерных для клиентской ОС Рассматриваются базовые компоненты ядра - PowerPoint PPT PresentationTRANSCRIPT
Microsoft TechDayshttp://www.techdays.ru
Ключевые изменения в ядре Windows Vista SP1Александр Шаповал Эксперт по информационной инфраструктуре Microsoft
Microsoft TechDayshttp://www.techdays.ru
Предисловие Это не повторение презентации по ядру Windows Server 2008! Фокус на возможностях, характерных для клиентской ОСРассматриваются базовые компоненты ядра
Не затрагиваются вопросы, связанные с
Сетевыми интерфейсами Графикой УстановкойУправлением
Microsoft TechDayshttp://www.techdays.ru
Содержание Процессы и потоки Файловая система и ввод-вывод Управление памятью Запуск и завершение работыНадежность и восстановление Безопасность
Microsoft TechDayshttp://www.techdays.ru
Содержание Процессы и потоки Файловая система и ввод-вывод Управление памятью Запуск и завершение работыНадежность и восстановление Безопасность
Microsoft TechDayshttp://www.techdays.ru
Multimedia Class Scheduler Service
Новый сервис, который повышает приоритет потока мультимедиа-приложения для бесперебойного воспроизведения аудио и видео
Реализован в Mmcss.dll (запускается в Svchost.exe) Используется Windows Media Player 11
Потоки декларируют себя как мультимедийные, указываяТип активностиОтносительную важность
80% интервала таймера потоки выполняются c приоритетом уровня real-time
По истечении этого времени приоритет понижается до уровня Low Процент задается в реестре Получение сетевых пакетов устанавливается до значения 10 пакетов/мс
Мультимедиа-потокДругие потоки
Мультимедиа-потокДругие потоки
Microsoft TechDayshttp://www.techdays.ru
Содержание Процессы и потоки Файловая система и ввод-вывод Управление памятью Запуск и завершение работыНадежность и восстановление Безопасность
Microsoft TechDayshttp://www.techdays.ru
Символические ссылки Ранее, NTFS поддерживала символические ссылки для каталогов (directory junctions) Windows Vista поддерживает файловые символические ссылки
Аналог soft links в UNIX (ln –s) Используют NTFS reparse points
Создаются с помощью нового API CreateSymbolicLink или команды Mklink.exe
Требуется привилегия “Create Symbolic Link” (по умолчанию есть только у группы Administrators)Mklink.exe также умеет создавать жесткие ссылки
Символические ссылки обрабатываются на клиенте, и могут охватывать тома и даже машины
Microsoft TechDayshttp://www.techdays.ru
Отмена ввода-вывода Ранее, операцию открытия нельзя было отменить
Пример: в окне “File Save” выбираете общую папку в состоянии offline, окно «зависает» до истечения тайм-аута
В Windows Vista операции синхронного ввода-вывода могут быть отменены
CancelSynchronousIo отменяет незавершенный синхронный ввод-вывод, запущенный другим потоком CancelIoEx разрешает отмену всех или конкретных операций ввода-вывода любых потоков (CancelIo может отменить только те операции ввода-вывода, которые запущены вызывающим потоком)Windows Vista может применять отмену для диалогов Open/Save
Потоки, обрабатывающие ввод-вывод, могут получать оповещения об отмене
Microsoft TechDayshttp://www.techdays.ru
Приоритезация ввода-вывода
Фоновые процессы (дефрагментация, индексирование) могут создавать помехи в работе активного приложения (например, почтового клиента) Ранее, использовались только приоритеты ЦПУ потоковWindows Vista предлагает два варианта приоритезации ввода-вывода
Приоритет ввода-вывода Резервирование полосы пропускания ввода-вывода
Две стратегии: иерархическая и на основе простоя Иерархическая реализуется драйверами хранилищ ATAPI и USB (не поддерживается для SCSI) На основе простоя реализуется драйвером класса для всех хранилищ
Microsoft TechDayshttp://www.techdays.ru
Приоритеты ввода-вывода Приоритет ввода-вывода базируется на приоритете соответствующего потока, явно заданном приоритете ввода-вывода, приоритете файлового объекта
Пять уровней: Critical, High, Normal, Low, Very Low Critical, High, Normal применяются драйвером класса Хранятся в поле Flags пакета запроса ввода-вывода (I/O Request Packet)
Как минимум один ввод-вывод уровня Low или Very Low обрабатывается каждую секунду
Реализуется драйвером класса Процессы и потоки могут понижать свои приоритеты ввода-вывода в фоновом режиме (Background Mode)
Используется в течение первых 60 секунд для автоматически запускаемых при логине приложений Используется фоновыми задачами Windows Vista, например, индексацией, Windows Defender
Microsoft TechDayshttp://www.techdays.ru
Уровни приоритетов ввода-вывода
Critical: диспетчер памяти High: не используется Normal: стандартные приложения Low: prefetching приложений Very Low: фоновые задачи
IndexerDefragPrefetch
Antivirus
Очередь ввода-вывода Very LowLow
Иерархия
MM
Critical High
WMP Word
Normal
Простой
Microsoft TechDayshttp://www.techdays.ru
Резервирование полосы Потоковые приложения (например, Media Player) могут запрашивать гарантированную полосу пропускания для операций ввода-вывода Резервирование задается для конкретных файлов Подсистема ввода-вывода возвращает приложению
Оптимальный размер ввода-вывода Частоту операций ввода-вывода
WMP
Стандартный ввод-вывод
Резервированный ввод-вывод
WMP WMPWMP
Microsoft TechDayshttp://www.techdays.ru
Содержание Процессы и потоки Файловая система и ввод-вывод Управление памятью Запуск и завершение работыНадежность и восстановление Безопасность
Microsoft TechDayshttp://www.techdays.ru
Файловый кэш (Standby List) Ранее, файловый кэш
был построен по принципу очереди
Кэшируются последние запрошенные страницы
Однако, последние дисковые активности необязательно представляют наиболее часто используемые страницы
Например, дефрагментация, антивирусное сканирование могут привести к удалению из кэша полезной информации
Единый список
Добавление страниц
Удаление страниц
Microsoft TechDayshttp://www.techdays.ru
Приоритезация кэша В Windows Vista имеется 8 кэш-списков с приоритетами
Приоритет памяти потока (1-5) определяет соответствующий список
Страницы удаляются, прежде всего, из списка с наименьшим приоритетом
Приоритетные данные остаются в кэше
0
1
2
3
4
5
6
7
Приоритизированный список
Наиболее важные
Наименее важные
Удаление страниц
Добавление страниц
Microsoft TechDayshttp://www.techdays.ru
SuperFetchРанее, Windows XP повышала скорость загрузки системы и запуска приложения В Windows Vista SuperFetch проактивно загружает ОЗУ наиболее полезными данными
Учитывается частота использования страницыИспользуется накопленная информация для более сложных сценариев
Сценарии SuperFetch включают в себяЗапуск приложений Восстановление из режимов Hibernate и SleepПовышенная производительность после нерегулярных и низкоприоритетных задач
Microsoft TechDayshttp://www.techdays.ru
Реализация SuperFetch SuperFetch включает в себя компоненты режима ядра и пользовательского режима Данные об использовании страниц собираются в режиме ядра Служба SuperFetch (Sysmain.dll) реализует алгоритм выборки и хранение данных
Запрашивает у ядра собранную информацию и списки предварительно загруженных страниц Хранит файлы сценариев в \Windows\Prefetch\Ag*.dbВ отличие от Windows XP загружает виртуальную памятьИспользует низкоприоритетные операции ввода-вывода для загрузки в кэш Использует приоритеты 6 и 7 для кэшированных данных
Microsoft TechDayshttp://www.techdays.ru
ReadyBoost ОЗУ идеально подходит для кэширования, но дорого стоит и сложно модифицируется
Внешняя флэш-память дешевле и до 10 раз быстрее дисков при произвольном доступе (но медленнее дисков при последовательных операциях)
ReadyBoost использует флэш для создания write-through кэш-памяти между жестким диском и ОЗУ
Поддерживаемые устройства: USB-ключи, SD-карты, Compact Flash, внутренние карты PCI express Должны соответствовать скоростным требованиям:
2.5 MB/сек при произвольном чтении блоков 4 KB1.75 MB/сек при произвольной записи блоков 512 KBСтатистика устройства отображается в реестре HKLM\Software\Microsoft\Windows NT\CurrentVersion\EmdMgmt
Microsoft TechDayshttp://www.techdays.ru
ReadyBoost
ReadyBoost включает в себя службу и фильтр тома в виде драйвера Ecache.sys
При произвольном чтении используется кэшПри последовательном чтении используется жесткий диск
Кэш представляет собой файл ReadyBoost.sfcache
Может быть только один, максимум 4 ГБ Используется компрессия (с коэффициентом 2х)Файл шифруется сеансовым ключом
Диск
ЗаписьПроизвольное чтение
ReadyBoost.sfcache
PCПоследовательное чтение
Microsoft TechDayshttp://www.techdays.ru
Содержание Процессы и потоки Файловая система и ввод-вывод Управление памятью Запуск и завершение работыНадежность и восстановление Безопасность
Microsoft TechDayshttp://www.techdays.ru
Boot Configuration Database (BCD)
Ранее, механизм загрузки определялся платформой (BIOS, EFI)Windows Vista унифицирует механизм загрузки Boot.ini заменен загрузочной конфигурационной базой (Boot Configuration Database, BCD)
Абстрагирование от firmware Унифицированный механизм для различных инсталляций Поддержка Unicode
BCD хранится реестреКуст хранится в \Boot\BCD на системном томеЗагружается в HKLM\BCD00000000Защищается соответствующим ключом
Microsoft TechDayshttp://www.techdays.ru
Компоненты загрузки Windows boot manager
\Bootmgr (без расширения)Запускается кодом загрузочного сектора Заменяет часть NTLDR (чтение Boot.ini)Запускает другие предзагрузочные приложения SP1: Поддерживает UEFI/EFI в том числе на x64
OS loader\Systemroot\System32\Winload.exeЗаменяет часть NTLDR (загрузка имиджа ОС, boot-драйверов и куста реестра System)Один на экземпляр ОС
Microsoft TechDayshttp://www.techdays.ru
Компоненты загрузкиУтилита диагностики памяти
\Boot\Memtest.exe Могут быть добавлены компоненты 3-х фирм
Могут запускаться другие компоненты Resume loader
\Systemroot\System32\Winresume.exeРанее эту задачу выполнял Ntldr
Microsoft TechDayshttp://www.techdays.ru
Изоляция нулевого сеанса Ранее, сеанс 0 использовался для консоли пользователя
Имена консоли могли конфликтовать с именами сервисов и системных объектов Службы, отображавшие окна в консоли, могли быть атакованы (“shatter”-атаки)
Сеанс 1Приложен
ие A
Приложение B
Приложение C
Сеанс 0Служба A
Служба B
Служба C
Приложение B
Приложение A
Приложение C
Microsoft TechDayshttp://www.techdays.ru
Изоляция нулевого сеанса В Windows Vista консоль запускается в сеансе 1 и не может взаимодействовать с нулевым сеансом
Устраняется возможный конфликт имен Некорректно написанные службы не могут отображать интерфейс в консоли
Сеанс 1Приложени
е A
Приложение B
Приложение C
Сеанс 0Служба A
Служба B
Служба C
Сеанс 2Приложени
е D
Приложение E
Приложение F
Microsoft TechDayshttp://www.techdays.ru
Delayed Auto Start ServicesРанее, автоматически запускаемые службы могли существенно влиять на производительность при входе в систему В Windows Vista службы могут запросить задержанный автозапуск (delayed autostart)
Задается новым API ChangeServiceConfig2Значение нового параметра DelayedAutoStart хранится в реестре
Диспетчер служб (Service Control Manager) запускает такие службы после всех служб с признаком Autostart Во время запуска для ввода-вывода устанавливается приоритет Very Low
Таким образом сконфигурированы службы BITS, Windows Update и др.
Microsoft TechDayshttp://www.techdays.ru
Переход в режим сна Ранее, приложение или драйвер могли блокировать режим Sleep или Hibernate
Часто причиной становилась ошибка или агрессивная политика управления питанием В результате была возможна потеря данных
Windows Vista не опрашивает процессы при переходе в режим сна
Тайм-аут оповещения пользовательского режима сокращен с 2 минут до 20 секунд
Драйверы не могут заблокировать переключение в Sleep
Microsoft TechDayshttp://www.techdays.ru
Содержание Процессы и потоки Файловая система и ввод-вывод Управление памятью Запуск и завершение работыНадежность и восстановление Безопасность
Microsoft TechDayshttp://www.techdays.ru
Volume Shadow CopyРанее
Не было возможности отменить изменения в файле или его удаление System Restore фиксировала изменения только в системных файлах
Windows Vista использует теневые копии для восстановления системы и предыдущих версий
Теневые копии создаются при записи данных на томВ Windows XP этот механизм использовался для решения проблемы резервного копирования открытых файлов
Закладка «Предыдущие версии» появилась в Windows Server 2003 для общих папок
Унифицированный механизм защиты данных пользователя/системы
Microsoft TechDayshttp://www.techdays.ru
Содержание Процессы и потоки Файловая система и ввод-вывод Управление памятью Запуск и завершение работыНадежность и восстановление Безопасность
Microsoft TechDayshttp://www.techdays.ru
Технология BitLocker Ранее, физический доступ к системе чаще всего обеспечивал доступ к информации
Утилиты третьих фирм могут получить доступ к любым незашифрованным данным Параметры аутентификации кэшируются в реестре
В Windows Vista BitLocker обеспечивает шифрование всего тома с ОС
SP1 добавляет возможность шифрование томов данных
Требования технологии BitLocker Trusted Platform Module (TPM) v1.2 или USB-устройство и поддержка USB на уровне BIOS Системный раздел объемом не менее 1.5 ГБ
Microsoft TechDayshttp://www.techdays.ru
Загрузка и BitLocker Несколько методов хранения ключа Volume Master Key
TPM с сигнатурами загрузочных файловПлюс PIN-код, вводимый пользователем Плюс ключ на USB-носителе
Внешнее USB-устройство Последовательно проверяется целостность загрузочных компонент
С помощью Volume Master Key расшифровывается Full Volume Encryption Key (FVEK)
TPM BIOS MBR BootSector
BootManage
r
Microsoft TechDayshttp://www.techdays.ru
Full Volume Encryption FilterФильтр Fvevol.sys перехватывает запросы к тому и осуществляет прозрачное шифрование/ расшифровывание данных
Использует FVEK, расшифрованный с помощью VMK при старте системы Потери производительности не более 10%
Драйвер файловой системы
Fvevol.sys
Диспетчер тома
ПриложениеРежим пользователяРежим ядра
Microsoft TechDayshttp://www.techdays.ru
Проверка целостности кода
Загрузчик ОС и ядро проверяют сигнатуры кода Платформа x64
В режиме ядра возможна загрузка только подписанного кодаОсуществляется проверка всех двоичных файлов режима ядра Нарушения фиксируются системой аудита
Платформа х86Осуществляется проверка всех двоичных файлов режима ядра, однако неподписанные модули могут быть загружены Для воспроизведения форматов Hi-Definition могут быть загружены только подписанные драйверы Загрузка драйверов протоколируется в Event Log
Microsoft TechDayshttp://www.techdays.ru
User Account Control (UAC)Цель
Пользователь должен работать в системе со стандартным набором прав
ПроблемаОчень часто пользователи работают под административной учетной записью Некоторые приложения запускаются только под административной учетной записью
РешениеРазрешить определенные операции для неадминистративных учетных записей, например, изменение часового пояса Создать для приложений виртуальное представление каталогов файловой системы и разделов реестра Реализовать удобное переключение к административным полномочиям
Microsoft TechDayshttp://www.techdays.ru
Виртуализация в UAC Имидж виртуализуется, если обратное не указано в его манифесте Виртуализация осуществляется в режиме ядра
Файловая система: фильтром-драйвером luafv.sys Реестр: встроенными средствами
Перенаправляемые каталоги файловой системы:
\Program Files, \Windows, \Windows\System32 Исключения
Защищенные от записи системные .EXE и DLLФайлы с исполняемыми расширениями (.exe, .bat, .vbs, .scr и пр.)
Перенаправляемые разделы реестраHKLM\SoftwareИсключения
Некоторые ключи подраздела Microsoft
Microsoft TechDayshttp://www.techdays.ru
Виртуализация в UAC Запись: перенаправляется в специальную зону конкретного пользователя
\Users\<Username>\AppData\Local\Virtual StoreHKCU\Software\Classes\VirtualStore
Чтение: сначала используется зона пользователя, затем глобальное расположение
Microsoft TechDayshttp://www.techdays.ru
Повышение полномочий Исполняемый файл может быть помечен признаком повышения полномочий следующими способами:
В файле манифестаВ системной базе совместимости приложений Эвристически инсталлятором Явным запросом пользователя
Microsoft TechDayshttp://www.techdays.ru
Итоги Windows Vista содержит массу принципиальных усовершенствований, направленных на повышение производительности, надежности и безопасности системы
Microsoft TechDayshttp://www.techdays.ru
Ресурсы http://www.techdays.ru http://platforma2009.ru http://www.microsoft.com/rus/technethttp://www.sysinternals.com
Microsoft TechDayshttp://www.techdays.ru
Вопросы http://blogs.technet.com/ashapo