1 / 43

Ключевые изменения в ядре Windows Vista SP1

Ключевые изменения в ядре Windows Vista SP1. Александр Шаповал Эксперт по информационной инфраструктуре Microsoft. Предисловие . Это не повторение презентации по ядру Windows Server 2008! Фокус на возможностях, характерных для клиентской ОС Рассматриваются базовые компоненты ядра

lassie
Download Presentation

Ключевые изменения в ядре Windows Vista SP1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ключевые изменения в ядре Windows Vista SP1 Александр Шаповал Эксперт по информационной инфраструктуре Microsoft

  2. Предисловие • Это не повторение презентации по ядру Windows Server 2008! • Фокус на возможностях, характерных для клиентской ОС • Рассматриваются базовые компоненты ядра • Не затрагиваются вопросы, связанные с • Сетевыми интерфейсами • Графикой • Установкой • Управлением

  3. Содержание • Процессы и потоки • Файловая система и ввод-вывод • Управление памятью • Запуск и завершение работы • Надежность и восстановление • Безопасность

  4. Содержание • Процессы и потоки • Файловая система и ввод-вывод • Управление памятью • Запуск и завершение работы • Надежность и восстановление • Безопасность

  5. Multimedia Class Scheduler Service • Новый сервис, который повышает приоритет потока мультимедиа-приложения для бесперебойного воспроизведения аудио и видео • Реализован в Mmcss.dll (запускается в Svchost.exe) • Используется Windows Media Player 11 • Потоки декларируют себя как мультимедийные, указывая • Тип активности • Относительную важность • 80% интервала таймера потоки выполняются c приоритетом уровня real-time • По истечении этого времени приоритет понижается до уровня Low • Процент задается в реестре • Получение сетевых пакетов устанавливается до значения 10 пакетов/мс Мультимедиа-поток Другие потоки Мультимедиа-поток Другие потоки

  6. Содержание • Процессы и потоки • Файловая система и ввод-вывод • Управление памятью • Запуск и завершение работы • Надежность и восстановление • Безопасность

  7. Символические ссылки • Ранее, NTFS поддерживала символические ссылки для каталогов (directory junctions) • Windows Vista поддерживает файловые символические ссылки • Аналог soft links в UNIX (ln –s) • Используют NTFS reparse points • Создаются с помощью нового API CreateSymbolicLink или команды Mklink.exe • Требуется привилегия “Create Symbolic Link” (по умолчанию есть только у группы Administrators) • Mklink.exe также умеет создавать жесткие ссылки • Символические ссылки обрабатываются на клиенте, и могут охватывать тома и даже машины

  8. Отмена ввода-вывода • Ранее, операцию открытия нельзя было отменить • Пример: в окне “File Save” выбираете общую папку в состоянии offline, окно «зависает» до истечения тайм-аута • В Windows Vista операции синхронного ввода-вывода могут быть отменены • CancelSynchronousIoотменяетнезавершенныйсинхронныйввод-вывод, запущенный другим потоком • CancelIoExразрешает отменувсех иликонкретныхопераций ввода-выводалюбых потоков (CancelIoможет отменитьтолько те операции ввода-вывода, которые запущены вызывающим потоком) • Windows Vista может применять отмену для диалогов Open/Save • Потоки, обрабатывающие ввод-вывод, могут получать оповещения об отмене

  9. Приоритезация ввода-вывода • Фоновые процессы (дефрагментация, индексирование) могут создавать помехи в работе активного приложения (например, почтового клиента) • Ранее, использовались только приоритеты ЦПУ потоков • Windows Vista предлагает два варианта приоритезации ввода-вывода • Приоритет ввода-вывода • Резервирование полосы пропускания ввода-вывода • Две стратегии: иерархическая и на основе простоя • Иерархическая реализуется драйверами хранилищ ATAPI и USB (не поддерживается для SCSI) • На основе простоя реализуется драйвером класса для всех хранилищ

  10. Приоритеты ввода-вывода • Приоритет ввода-вывода базируется на приоритете соответствующего потока, явно заданном приоритете ввода-вывода, приоритете файлового объекта • Пять уровней: Critical, High, Normal, Low, Very Low • Critical, High, Normal применяются драйвером класса • Хранятся в поле Flags пакета запроса ввода-вывода (I/O Request Packet) • Как минимум один ввод-вывод уровня Low или Very Low обрабатывается каждую секунду • Реализуется драйвером класса • Процессы и потоки могут понижать свои приоритеты ввода-вывода в фоновом режиме (Background Mode) • Используется в течение первых 60 секунд для автоматически запускаемых при логине приложений • Используется фоновыми задачами Windows Vista, например, индексацией, Windows Defender

  11. Уровни приоритетов ввода-вывода • Critical: диспетчер памяти • High: не используется • Normal: стандартные приложения • Low: prefetching приложений • Very Low: фоновые задачи Очередь ввода-вывода Critical High Normal Low Very Low MM WMP Word Prefetch Defrag Indexer Antivirus Иерархия Простой

  12. Резервирование полосы • Потоковые приложения (например, Media Player) могут запрашивать гарантированную полосу пропусканиядля операций ввода-вывода • Резервирование задается для конкретных файлов • Подсистема ввода-вывода возвращает приложению • Оптимальный размер ввода-вывода • Частоту операций ввода-вывода Стандартный ввод-вывод WMP WMP WMP WMP Резервированныйввод-вывод

  13. Содержание • Процессы и потоки • Файловая система и ввод-вывод • Управление памятью • Запуск и завершение работы • Надежность и восстановление • Безопасность

  14. Файловый кэш (Standby List) Удаление страниц Единый список • Ранее, файловый кэш был построен по принципу очереди • Кэшируются последние запрошенные страницы • Однако, последние дисковые активности необязательно представляют наиболее часто используемые страницы • Например, дефрагментация, антивирусное сканирование могут привести к удалению из кэша полезной информации Добавление страниц

  15. Приоритезациякэша Удаление страниц • В Windows Vista имеется8кэш-списков с приоритетами • Приоритет памяти потока (1-5) определяет соответствующий список • Страницы удаляются, прежде всего, из списка с наименьшим приоритетом • Приоритетные данные остаются в кэше Приоритизированный список Наименее важные Наиболее важные Добавление страниц

  16. SuperFetch • Ранее, Windows XP повышала скорость загрузки системы и запуска приложения • В Windows Vista SuperFetchпроактивно загружает ОЗУ наиболее полезными данными • Учитывается частота использования страницы • Используется накопленная информация для более сложных сценариев • Сценарии SuperFetch включают в себя • Запуск приложений • Восстановление из режимов Hibernate и Sleep • Повышенная производительность после нерегулярных и низкоприоритетных задач

  17. Реализация SuperFetch • SuperFetchвключает в себя компоненты режима ядра и пользовательского режима • Данные об использовании страниц собираются в режиме ядра • Служба SuperFetch (Sysmain.dll) реализует алгоритм выборки и хранение данных • Запрашивает у ядра собранную информацию и списки предварительно загруженных страниц • Хранит файлы сценариев в \Windows\Prefetch\Ag*.db • В отличие от Windows XP загружает виртуальную память • Использует низкоприоритетные операции ввода-вывода для загрузки в кэш • Использует приоритеты 6 и 7 для кэшированных данных

  18. ReadyBoost • ОЗУ идеально подходит для кэширования, но дорого стоит и сложно модифицируется • Внешняя флэш-память дешевле и до 10 раз быстрее дисков при произвольном доступе (но медленнее дисков при последовательных операциях) • ReadyBoostиспользует флэш для создания write-through кэш-памяти между жестким диском и ОЗУ • Поддерживаемые устройства: USB-ключи, SD-карты, Compact Flash, внутренние карты PCI express • Должны соответствовать скоростным требованиям: • 2.5 MB/сек при произвольном чтении блоков 4 KB • 1.75 MB/сек при произвольной записи блоков 512 KB • Статистика устройства отображается в реестре HKLM\Software\Microsoft\Windows NT\CurrentVersion\EmdMgmt

  19. ReadyBoost Диск ReadyBoost.sfcache PC Запись • ReadyBoostвключает в себя службу и фильтр тома в виде драйвера Ecache.sys • При произвольном чтении используется кэш • При последовательном чтении используется жесткий диск • Кэш представляет собой файлReadyBoost.sfcache • Может быть только один, максимум 4 ГБ • Используется компрессия (с коэффициентом 2х) • Файл шифруется сеансовым ключом Произвольное чтение Последовательное чтение

  20. Содержание • Процессы и потоки • Файловая система и ввод-вывод • Управление памятью • Запуск и завершение работы • Надежность и восстановление • Безопасность

  21. Boot Configuration Database (BCD) • Ранее, механизм загрузки определялся платформой (BIOS, EFI) • Windows Vista унифицирует механизм загрузки • Boot.ini заменен загрузочной конфигурационной базой (Boot Configuration Database, BCD) • Абстрагирование от firmware • Унифицированный механизм для различных инсталляций • Поддержка Unicode • BCD хранится реестре • Куст хранится в \Boot\BCD на системном томе • Загружается в HKLM\BCD00000000 • Защищается соответствующим ключом

  22. Компоненты загрузки • Windows boot manager • \Bootmgr (без расширения) • Запускается кодом загрузочного сектора • Заменяет часть NTLDR (чтение Boot.ini) • Запускает другие предзагрузочные приложения • SP1: Поддерживает UEFI/EFI в том числе на x64 • OS loader • \Systemroot\System32\Winload.exe • Заменяет часть NTLDR (загрузкаимиджа ОС, boot-драйверовикуста реестра System) • Один на экземпляр ОС

  23. Компоненты загрузки • Утилита диагностики памяти • \Boot\Memtest.exe • Могут быть добавлены компоненты 3-х фирм • Могут запускаться другие компоненты • Resume loader • \Systemroot\System32\Winresume.exe • Ранее эту задачу выполнялNtldr

  24. Сеанс 0 СлужбаA Приложение B Приложение A Приложение C Служба B Служба C Изоляция нулевого сеанса • Ранее, сеанс 0 использовался для консоли пользователя • Имена консоли могли конфликтовать с именами сервисов и системных объектов • Службы, отображавшие окна в консоли, могли быть атакованы (“shatter”-атаки) Сеанс 1 Приложение A Приложение B Приложение C

  25. Сеанс 0 Служба A Служба B Служба C Изоляция нулевого сеанса • В Windows Vista консоль запускается в сеансе 1 и не может взаимодействовать с нулевым сеансом • Устраняется возможный конфликт имен • Некорректно написанные службы не могут отображать интерфейс в консоли Сеанс 1 Сеанс 2 Приложение A Приложение D Приложение B Приложение E Приложение C Приложение F

  26. Delayed Auto Start Services • Ранее, автоматически запускаемые службы могли существенно влиять на производительность при входе в систему • В Windows Vista службы могут запросить задержанный автозапуск (delayed autostart) • Задается новым APIChangeServiceConfig2 • Значение нового параметра DelayedAutoStart хранится в реестре • Диспетчер служб (Service Control Manager) запускает такие службы после всех служб с признаком Autostart • Во время запуска для ввода-вывода устанавливается приоритет Very Low • Таким образом сконфигурированы службы BITS, Windows Update и др.

  27. Переход в режим сна • Ранее, приложение или драйвер могли блокировать режим Sleep или Hibernate • Часто причиной становилась ошибка или агрессивная политика управления питанием • В результате была возможна потеря данных • Windows Vista не опрашивает процессы при переходе в режим сна • Тайм-аут оповещения пользовательского режима сокращен с 2минут до 20 секунд • Драйверы не могут заблокировать переключение в Sleep

  28. Содержание • Процессы и потоки • Файловая система и ввод-вывод • Управление памятью • Запуск и завершение работы • Надежность и восстановление • Безопасность

  29. Volume Shadow Copy • Ранее • Не было возможности отменить изменения в файле или его удаление • System Restore фиксировала изменения только в системных файлах • Windows Vista использует теневые копии для восстановления системы и предыдущих версий • Теневые копии создаются при записи данных на том • В Windows XP этот механизм использовался для решения проблемы резервного копирования открытых файлов • Закладка «Предыдущие версии» появилась в Windows Server 2003 для общих папок • Унифицированный механизм защиты данных пользователя/системы

  30. Содержание • Процессы и потоки • Файловая система и ввод-вывод • Управление памятью • Запуск и завершение работы • Надежность и восстановление • Безопасность

  31. Технология BitLocker • Ранее, физический доступ к системе чаще всего обеспечивал доступ к информации • Утилиты третьих фирм могут получить доступ к любым незашифрованным данным • Параметры аутентификации кэшируются в реестре • В Windows Vista BitLockerобеспечивает шифрование всего тома с ОС • SP1 добавляет возможность шифрование томов данных • Требования технологии BitLocker • Trusted Platform Module (TPM) v1.2 или USB-устройствои поддержка USB на уровне BIOS • Системный раздел объемом не менее 1.5 ГБ

  32. Загрузка и BitLocker • Несколько методов хранения ключа Volume Master Key • TPM с сигнатурами загрузочных файлов • Плюс PIN-код, вводимый пользователем • Плюс ключ на USB-носителе • Внешнее USB-устройство • Последовательно проверяется целостность загрузочных компонент • С помощью Volume Master Key расшифровывается Full Volume Encryption Key (FVEK) TPM BIOS MBR Boot Sector Boot Manager

  33. Full Volume Encryption Filter Приложение • Фильтр Fvevol.sys перехватывает запросы к тому и осуществляет прозрачное шифрование/ расшифровывание данных • Использует FVEK, расшифрованный с помощью VMK при старте системы • Потери производительности не более 10% Режим пользователя Режим ядра Драйвер файловой системы Fvevol.sys Диспетчер тома

  34. Проверка целостности кода • Загрузчик ОС и ядро проверяют сигнатуры кода • Платформа x64 • В режиме ядра возможна загрузка только подписанного кода • Осуществляется проверка всех двоичных файлов режима ядра • Нарушения фиксируются системой аудита • Платформа х86 • Осуществляется проверка всех двоичных файлов режима ядра, однако неподписанные модули могут быть загружены • Для воспроизведения форматов Hi-Definition могут быть загружены только подписанные драйверы • Загрузка драйверов протоколируется в Event Log

  35. User Account Control (UAC) • Цель • Пользователь должен работать в системе со стандартным набором прав • Проблема • Очень часто пользователи работают под административной учетной записью • Некоторые приложения запускаются только под административной учетной записью • Решение • Разрешить определенные операции для неадминистративных учетных записей, например, изменение часового пояса • Создать для приложений виртуальное представление каталогов файловой системы и разделов реестра • Реализовать удобное переключение к административным полномочиям

  36. Виртуализация в UAC • Имидж виртуализуется, если обратное не указано в его манифесте • Виртуализация осуществляется в режиме ядра • Файловая система: фильтром-драйвером luafv.sys • Реестр: встроенными средствами • Перенаправляемые каталоги файловой системы: • \Program Files, \Windows, \Windows\System32 • Исключения • Защищенные от записи системные .EXE и DLL • Файлы с исполняемыми расширениями (.exe, .bat, .vbs, .scr и пр.) • Перенаправляемые разделы реестра • HKLM\Software • Исключения • Некоторые ключи подраздела Microsoft

  37. Виртуализация в UAC • Запись: перенаправляется в специальную зону конкретного пользователя • \Users\<Username>\AppData\Local\Virtual Store • HKCU\Software\Classes\VirtualStore • Чтение: сначала используется зона пользователя, затем глобальное расположение

  38. Повышение полномочий • Исполняемый файл может быть помечен признаком повышения полномочий следующими способами: • В файле манифеста • В системной базе совместимости приложений • Эвристически инсталлятором • Явным запросом пользователя

  39. Итоги • Windows Vista содержит массу принципиальных усовершенствований, направленных на повышение производительности, надежности и безопасности системы

  40. Ресурсы • http://www.techdays.ru • http://platforma2009.ru • http://www.microsoft.com/rus/technet • http://www.sysinternals.com

  41. Вопросы • http://blogs.technet.com/ashapo

More Related