Ключевые изменения в ядре windows vista sp1

43

Upload: lassie

Post on 13-Feb-2016

69 views

Category:

Documents


0 download

DESCRIPTION

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

TRANSCRIPT

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

Microsoft TechDayshttp://www.techdays.ru

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

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

Microsoft TechDayshttp://www.techdays.ru

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

Не затрагиваются вопросы, связанные с

Сетевыми интерфейсами Графикой УстановкойУправлением

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

Microsoft TechDayshttp://www.techdays.ru

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

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

Microsoft TechDayshttp://www.techdays.ru

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

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

Microsoft TechDayshttp://www.techdays.ru

Multimedia Class Scheduler Service

Новый сервис, который повышает приоритет потока мультимедиа-приложения для бесперебойного воспроизведения аудио и видео

Реализован в Mmcss.dll (запускается в Svchost.exe) Используется Windows Media Player 11

Потоки декларируют себя как мультимедийные, указываяТип активностиОтносительную важность

80% интервала таймера потоки выполняются c приоритетом уровня real-time

По истечении этого времени приоритет понижается до уровня Low Процент задается в реестре Получение сетевых пакетов устанавливается до значения 10 пакетов/мс

Мультимедиа-потокДругие потоки

Мультимедиа-потокДругие потоки

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

Microsoft TechDayshttp://www.techdays.ru

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

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

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 также умеет создавать жесткие ссылки

Символические ссылки обрабатываются на клиенте, и могут охватывать тома и даже машины

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

Microsoft TechDayshttp://www.techdays.ru

Отмена ввода-вывода Ранее, операцию открытия нельзя было отменить

Пример: в окне “File Save” выбираете общую папку в состоянии offline, окно «зависает» до истечения тайм-аута

В Windows Vista операции синхронного ввода-вывода могут быть отменены

CancelSynchronousIo отменяет незавершенный синхронный ввод-вывод, запущенный другим потоком CancelIoEx разрешает отмену всех или конкретных операций ввода-вывода любых потоков (CancelIo может отменить только те операции ввода-вывода, которые запущены вызывающим потоком)Windows Vista может применять отмену для диалогов Open/Save

Потоки, обрабатывающие ввод-вывод, могут получать оповещения об отмене

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

Microsoft TechDayshttp://www.techdays.ru

Приоритезация ввода-вывода

Фоновые процессы (дефрагментация, индексирование) могут создавать помехи в работе активного приложения (например, почтового клиента) Ранее, использовались только приоритеты ЦПУ потоковWindows Vista предлагает два варианта приоритезации ввода-вывода

Приоритет ввода-вывода Резервирование полосы пропускания ввода-вывода

Две стратегии: иерархическая и на основе простоя Иерархическая реализуется драйверами хранилищ ATAPI и USB (не поддерживается для SCSI) На основе простоя реализуется драйвером класса для всех хранилищ

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

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

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

Microsoft TechDayshttp://www.techdays.ru

Уровни приоритетов ввода-вывода

Critical: диспетчер памяти High: не используется Normal: стандартные приложения Low: prefetching приложений Very Low: фоновые задачи

IndexerDefragPrefetch

Antivirus

Очередь ввода-вывода Very LowLow

Иерархия

MM

Critical High

WMP Word

Normal

Простой

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

Microsoft TechDayshttp://www.techdays.ru

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

Оптимальный размер ввода-вывода Частоту операций ввода-вывода

WMP

Стандартный ввод-вывод

Резервированный ввод-вывод

WMP WMPWMP

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

Microsoft TechDayshttp://www.techdays.ru

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

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

Microsoft TechDayshttp://www.techdays.ru

Файловый кэш (Standby List) Ранее, файловый кэш

был построен по принципу очереди

Кэшируются последние запрошенные страницы

Однако, последние дисковые активности необязательно представляют наиболее часто используемые страницы

Например, дефрагментация, антивирусное сканирование могут привести к удалению из кэша полезной информации

Единый список

Добавление страниц

Удаление страниц

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

Microsoft TechDayshttp://www.techdays.ru

Приоритезация кэша В Windows Vista имеется 8 кэш-списков с приоритетами

Приоритет памяти потока (1-5) определяет соответствующий список

Страницы удаляются, прежде всего, из списка с наименьшим приоритетом

Приоритетные данные остаются в кэше

0

1

2

3

4

5

6

7

Приоритизированный список

Наиболее важные

Наименее важные

Удаление страниц

Добавление страниц

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

Microsoft TechDayshttp://www.techdays.ru

SuperFetchРанее, Windows XP повышала скорость загрузки системы и запуска приложения В Windows Vista SuperFetch проактивно загружает ОЗУ наиболее полезными данными

Учитывается частота использования страницыИспользуется накопленная информация для более сложных сценариев

Сценарии SuperFetch включают в себяЗапуск приложений Восстановление из режимов Hibernate и SleepПовышенная производительность после нерегулярных и низкоприоритетных задач

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

Microsoft TechDayshttp://www.techdays.ru

Реализация SuperFetch SuperFetch включает в себя компоненты режима ядра и пользовательского режима Данные об использовании страниц собираются в режиме ядра Служба SuperFetch (Sysmain.dll) реализует алгоритм выборки и хранение данных

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

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

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

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

Microsoft TechDayshttp://www.techdays.ru

ReadyBoost

ReadyBoost включает в себя службу и фильтр тома в виде драйвера Ecache.sys

При произвольном чтении используется кэшПри последовательном чтении используется жесткий диск

Кэш представляет собой файл ReadyBoost.sfcache

Может быть только один, максимум 4 ГБ Используется компрессия (с коэффициентом 2х)Файл шифруется сеансовым ключом

Диск

ЗаписьПроизвольное чтение

ReadyBoost.sfcache

PCПоследовательное чтение

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

Microsoft TechDayshttp://www.techdays.ru

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

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

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Защищается соответствующим ключом

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

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)Один на экземпляр ОС

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

Microsoft TechDayshttp://www.techdays.ru

Компоненты загрузкиУтилита диагностики памяти

\Boot\Memtest.exe Могут быть добавлены компоненты 3-х фирм

Могут запускаться другие компоненты Resume loader

\Systemroot\System32\Winresume.exeРанее эту задачу выполнял Ntldr

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

Microsoft TechDayshttp://www.techdays.ru

Изоляция нулевого сеанса Ранее, сеанс 0 использовался для консоли пользователя

Имена консоли могли конфликтовать с именами сервисов и системных объектов Службы, отображавшие окна в консоли, могли быть атакованы (“shatter”-атаки)

Сеанс 1Приложен

ие A

Приложение B

Приложение C

Сеанс 0Служба A

Служба B

Служба C

Приложение B

Приложение A

Приложение C

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

Microsoft TechDayshttp://www.techdays.ru

Изоляция нулевого сеанса В Windows Vista консоль запускается в сеансе 1 и не может взаимодействовать с нулевым сеансом

Устраняется возможный конфликт имен Некорректно написанные службы не могут отображать интерфейс в консоли

Сеанс 1Приложени

е A

Приложение B

Приложение C

Сеанс 0Служба A

Служба B

Служба C

Сеанс 2Приложени

е D

Приложение E

Приложение F

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

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 и др.

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

Microsoft TechDayshttp://www.techdays.ru

Переход в режим сна Ранее, приложение или драйвер могли блокировать режим Sleep или Hibernate

Часто причиной становилась ошибка или агрессивная политика управления питанием В результате была возможна потеря данных

Windows Vista не опрашивает процессы при переходе в режим сна

Тайм-аут оповещения пользовательского режима сокращен с 2 минут до 20 секунд

Драйверы не могут заблокировать переключение в Sleep

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

Microsoft TechDayshttp://www.techdays.ru

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

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

Microsoft TechDayshttp://www.techdays.ru

Volume Shadow CopyРанее

Не было возможности отменить изменения в файле или его удаление System Restore фиксировала изменения только в системных файлах

Windows Vista использует теневые копии для восстановления системы и предыдущих версий

Теневые копии создаются при записи данных на томВ Windows XP этот механизм использовался для решения проблемы резервного копирования открытых файлов

Закладка «Предыдущие версии» появилась в Windows Server 2003 для общих папок

Унифицированный механизм защиты данных пользователя/системы

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

Microsoft TechDayshttp://www.techdays.ru

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

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

Microsoft TechDayshttp://www.techdays.ru

Технология BitLocker Ранее, физический доступ к системе чаще всего обеспечивал доступ к информации

Утилиты третьих фирм могут получить доступ к любым незашифрованным данным Параметры аутентификации кэшируются в реестре

В Windows Vista BitLocker обеспечивает шифрование всего тома с ОС

SP1 добавляет возможность шифрование томов данных

Требования технологии BitLocker Trusted Platform Module (TPM) v1.2 или USB-устройство и поддержка USB на уровне BIOS Системный раздел объемом не менее 1.5 ГБ

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

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

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

Microsoft TechDayshttp://www.techdays.ru

Full Volume Encryption FilterФильтр Fvevol.sys перехватывает запросы к тому и осуществляет прозрачное шифрование/ расшифровывание данных

Использует FVEK, расшифрованный с помощью VMK при старте системы Потери производительности не более 10%

Драйвер файловой системы

Fvevol.sys

Диспетчер тома

ПриложениеРежим пользователяРежим ядра

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

Microsoft TechDayshttp://www.techdays.ru

Проверка целостности кода

Загрузчик ОС и ядро проверяют сигнатуры кода Платформа x64

В режиме ядра возможна загрузка только подписанного кодаОсуществляется проверка всех двоичных файлов режима ядра Нарушения фиксируются системой аудита

Платформа х86Осуществляется проверка всех двоичных файлов режима ядра, однако неподписанные модули могут быть загружены Для воспроизведения форматов Hi-Definition могут быть загружены только подписанные драйверы Загрузка драйверов протоколируется в Event Log

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

Microsoft TechDayshttp://www.techdays.ru

User Account Control (UAC)Цель

Пользователь должен работать в системе со стандартным набором прав

ПроблемаОчень часто пользователи работают под административной учетной записью Некоторые приложения запускаются только под административной учетной записью

РешениеРазрешить определенные операции для неадминистративных учетных записей, например, изменение часового пояса Создать для приложений виртуальное представление каталогов файловой системы и разделов реестра Реализовать удобное переключение к административным полномочиям

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

Microsoft TechDayshttp://www.techdays.ru

Виртуализация в UAC Имидж виртуализуется, если обратное не указано в его манифесте Виртуализация осуществляется в режиме ядра

Файловая система: фильтром-драйвером luafv.sys Реестр: встроенными средствами

Перенаправляемые каталоги файловой системы:

\Program Files, \Windows, \Windows\System32 Исключения

Защищенные от записи системные .EXE и DLLФайлы с исполняемыми расширениями (.exe, .bat, .vbs, .scr и пр.)

Перенаправляемые разделы реестраHKLM\SoftwareИсключения

Некоторые ключи подраздела Microsoft

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

Microsoft TechDayshttp://www.techdays.ru

Виртуализация в UAC Запись: перенаправляется в специальную зону конкретного пользователя

\Users\<Username>\AppData\Local\Virtual StoreHKCU\Software\Classes\VirtualStore

Чтение: сначала используется зона пользователя, затем глобальное расположение

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

Microsoft TechDayshttp://www.techdays.ru

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

В файле манифестаВ системной базе совместимости приложений Эвристически инсталлятором Явным запросом пользователя

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

Microsoft TechDayshttp://www.techdays.ru

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

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

Microsoft TechDayshttp://www.techdays.ru

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

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

Microsoft TechDayshttp://www.techdays.ru

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

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