Document 5097470

advertisement
Александр Шаповал
Эксперт по информационной инфраструктуре
Microsoft
Microsoft TechDays
http://www.techdays.ru
Это не повторение презентации по ядру
Windows Server 2008!
Фокус на возможностях, характерных для
клиентской ОС
Рассматриваются базовые компоненты
ядра
Не затрагиваются вопросы, связанные с
Сетевыми интерфейсами
Графикой
Установкой
Управлением
Microsoft TechDays
http://www.techdays.ru
Процессы и потоки
Файловая система и ввод-вывод
Управление памятью
Запуск и завершение работы
Надежность и восстановление
Безопасность
Microsoft TechDays
http://www.techdays.ru
Процессы и потоки
Файловая система и ввод-вывод
Управление памятью
Запуск и завершение работы
Надежность и восстановление
Безопасность
Microsoft TechDays
http://www.techdays.ru
Новый сервис, который повышает приоритет потока мультимедиаприложения для бесперебойного воспроизведения аудио и видео
Реализован в Mmcss.dll (запускается в Svchost.exe)
Используется Windows Media Player 11
Потоки декларируют себя как мультимедийные, указывая
Тип активности
Относительную важность
80% интервала таймера потоки выполняются c приоритетом
уровня real-time
По истечении этого времени приоритет понижается до уровня Low
Процент задается в реестре
Получение сетевых пакетов устанавливается до значения 10 пакетов/мс
Мультимедиа-поток
Другие
потоки
Мультимедиа-поток
Microsoft TechDays
Другие
потоки
http://www.techdays.ru
Процессы и потоки
Файловая система и ввод-вывод
Управление памятью
Запуск и завершение работы
Надежность и восстановление
Безопасность
Microsoft TechDays
http://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 TechDays
http://www.techdays.ru
Ранее, операцию открытия нельзя было отменить
Пример: в окне “File Save” выбираете общую папку в
состоянии offline, окно «зависает» до истечения тайм-аута
В Windows Vista операции синхронного ввода-вывода
могут быть отменены
CancelSynchronousIo отменяет незавершенный синхронный
ввод-вывод, запущенный другим потоком
CancelIoEx разрешает отмену всех или конкретных операций
ввода-вывода любых потоков (CancelIo может отменить
только те операции ввода-вывода, которые запущены
вызывающим потоком)
Windows Vista может применять отмену для диалогов
Open/Save
Потоки, обрабатывающие ввод-вывод, могут получать
оповещения об отмене
Microsoft TechDays
http://www.techdays.ru
Фоновые процессы (дефрагментация, индексирование)
могут создавать помехи в работе активного
приложения (например, почтового клиента)
Ранее, использовались только приоритеты ЦПУ
потоков
Windows Vista предлагает два варианта приоритезации
ввода-вывода
Приоритет ввода-вывода
Резервирование полосы пропускания ввода-вывода
Две стратегии: иерархическая и на основе простоя
Иерархическая реализуется драйверами хранилищ
ATAPI и USB (не поддерживается для SCSI)
На основе простоя реализуется драйвером класса для
всех хранилищ
Microsoft TechDays
http://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 TechDays
http://www.techdays.ru
Critical: диспетчер памяти
High: не используется
Normal: стандартные приложения
Low: prefetching приложений
Very Low: фоновые задачи
Очередь ввода-вывода
Critical
MM
High
Normal
Low
WMP Word
Prefetch
Иерархия
Very Low
Defrag
Indexer
Antivirus
Простой
Microsoft TechDays
http://www.techdays.ru
Потоковые приложения (например, Media Player) могут
запрашивать гарантированную полосу пропускания для
операций ввода-вывода
Резервирование задается для конкретных файлов
Подсистема ввода-вывода возвращает приложению
Оптимальный размер ввода-вывода
Частоту операций ввода-вывода
Стандартный ввод-вывод
WMP
WMP
WMP
WMP
Резервированный
ввод-вывод
Microsoft TechDays
http://www.techdays.ru
Процессы и потоки
Файловая система и ввод-вывод
Управление памятью
Запуск и завершение работы
Надежность и восстановление
Безопасность
Microsoft TechDays
http://www.techdays.ru
Ранее, файловый кэш был
построен по принципу
очереди
Единый
список
Удаление
страниц
Кэшируются последние
запрошенные страницы
Однако, последние
дисковые активности
необязательно
представляют наиболее
часто используемые
страницы
Например, дефрагментация,
антивирусное сканирование
могут привести к удалению из
кэша полезной информации
Microsoft TechDays
Добавление
страниц
http://www.techdays.ru
Удаление
страниц
В Windows Vista
имеется 8 кэш-списков
с приоритетами
Приоритизированный
список
Приоритет памяти потока
(1-5) определяет
соответствующий список
Страницы удаляются,
прежде всего, из списка
с наименьшим
приоритетом
Приоритетные данные
остаются в кэше
0
1
2
3
4
5
6
7
Добавление страниц
Microsoft TechDays
Наименее
важные
Наиболее
важные
http://www.techdays.ru
Ранее, Windows XP повышала скорость загрузки
системы и запуска приложения
В Windows Vista SuperFetch проактивно загружает ОЗУ
наиболее полезными данными
Учитывается частота использования страницы
Используется накопленная информация для более сложных
сценариев
Сценарии SuperFetch включают в себя
Запуск приложений
Восстановление из режимов Hibernate и Sleep
Повышенная производительность после нерегулярных и
низкоприоритетных задач
Microsoft TechDays
http://www.techdays.ru
SuperFetch включает в себя компоненты режима ядра и
пользовательского режима
Данные об использовании страниц собираются в
режиме ядра
Служба SuperFetch (Sysmain.dll) реализует алгоритм
выборки и хранение данных
Запрашивает у ядра собранную информацию и списки
предварительно загруженных страниц
Хранит файлы сценариев в \Windows\Prefetch\Ag*.db
В отличие от Windows XP загружает виртуальную память
Использует низкоприоритетные операции ввода-вывода для
загрузки в кэш
Использует приоритеты 6 и 7 для кэшированных данных
Microsoft TechDays
http://www.techdays.ru
ОЗУ идеально подходит для кэширования, но дорого
стоит и сложно модифицируется
Внешняя флэш-память дешевле и до 10 раз быстрее дисков
при произвольном доступе (но медленнее дисков при
последовательных операциях)
ReadyBoost использует флэш для создания writethrough кэш-памяти между жестким диском и ОЗУ
Поддерживаемые устройства: USB-ключи, SD-карты, Compact
Flash, внутренние карты PCI express
Должны соответствовать скоростным требованиям:
2.5 MB/сек при произвольном чтении блоков 4 KB
1.75 MB/сек при произвольной записи блоков 512 KB
Статистика устройства отображается в реестре
HKLM\Software\Microsoft\Windows NT\
CurrentVersion\EmdMgmt
Microsoft TechDays
http://www.techdays.ru
Запись
PC
Произвольное
чтение
ReadyBoost.sfcache
Диск
Последовательное чтение
ReadyBoost включает в себя службу и фильтр тома в
виде драйвера Ecache.sys
При произвольном чтении используется кэш
При последовательном чтении используется жесткий диск
Кэш представляет собой файл ReadyBoost.sfcache
Может быть только один, максимум 4 ГБ
Используется компрессия (с коэффициентом 2х)
Файл шифруется сеансовым ключом
Microsoft TechDays
http://www.techdays.ru
Процессы и потоки
Файловая система и ввод-вывод
Управление памятью
Запуск и завершение работы
Надежность и восстановление
Безопасность
Microsoft TechDays
http://www.techdays.ru
Ранее, механизм загрузки определялся платформой
(BIOS, EFI)
Windows Vista унифицирует механизм загрузки
Boot.ini заменен загрузочной конфигурационной базой
(Boot Configuration Database, BCD)
Абстрагирование от firmware
Унифицированный механизм для различных инсталляций
Поддержка Unicode
BCD хранится реестре
Куст хранится в \Boot\BCD на системном томе
Загружается в HKLM\BCD00000000
Защищается соответствующим ключом
Microsoft TechDays
http://www.techdays.ru
Windows boot manager
\Bootmgr (без расширения)
Запускается кодом загрузочного сектора
Заменяет часть NTLDR (чтение Boot.ini)
Запускает другие предзагрузочные приложения
SP1: Поддерживает UEFI/EFI в том числе на x64
OS loader
\Systemroot\System32\Winload.exe
Заменяет часть NTLDR (загрузка имиджа ОС, bootдрайверов и куста реестра System)
Один на экземпляр ОС
Microsoft TechDays
http://www.techdays.ru
Утилита диагностики памяти
\Boot\Memtest.exe
Могут быть добавлены компоненты 3-х фирм
Могут запускаться другие компоненты
Resume loader
\Systemroot\System32\Winresume.exe
Ранее эту задачу выполнял Ntldr
Microsoft TechDays
http://www.techdays.ru
Ранее, сеанс 0 использовался для консоли
пользователя
Имена консоли могли конфликтовать с именами
сервисов и системных объектов
Службы, отображавшие окна в консоли, могли быть
атакованы (“shatter”-атаки)
Сеанс 0
Сеанс 1
Служба A
Приложение
A
Приложение
A
Служба B
Приложение
B
Приложение
B
Служба C
Приложение
C
Приложение
C
Microsoft TechDays
http://www.techdays.ru
В Windows Vista консоль запускается в
сеансе 1 и не может взаимодействовать с
нулевым сеансом
Устраняется возможный конфликт имен
Некорректно написанные службы не могут
отображать интерфейс в консоли
Сеанс 0
Сеанс 1
Сеанс 2
Служба A
Приложение
A
Приложение
D
Служба B
Приложение
B
Приложение
E
Служба C
Приложение
C
Приложение
F
Microsoft TechDays
http://www.techdays.ru
Ранее, автоматически запускаемые службы могли
существенно влиять на производительность при входе
в систему
В Windows Vista службы могут запросить задержанный
автозапуск (delayed autostart)
Задается новым API ChangeServiceConfig2
Значение нового параметра DelayedAutoStart хранится в реестре
Диспетчер служб (Service Control Manager) запускает такие
службы после всех служб с признаком Autostart
Во время запуска для ввода-вывода устанавливается
приоритет Very Low
Таким образом сконфигурированы службы BITS,
Windows Update и др.
Microsoft TechDays
http://www.techdays.ru
Ранее, приложение или драйвер могли
блокировать режим Sleep или Hibernate
Часто причиной становилась ошибка или
агрессивная политика управления питанием
В результате была возможна потеря данных
Windows Vista не опрашивает процессы при
переходе в режим сна
Тайм-аут оповещения пользовательского режима
сокращен с 2 минут до 20 секунд
Драйверы не могут заблокировать
переключение в Sleep
Microsoft TechDays
http://www.techdays.ru
Процессы и потоки
Файловая система и ввод-вывод
Управление памятью
Запуск и завершение работы
Надежность и восстановление
Безопасность
Microsoft TechDays
http://www.techdays.ru
Ранее
Не было возможности отменить изменения в файле или его
удаление
System Restore фиксировала изменения только в системных
файлах
Windows Vista использует теневые копии для
восстановления системы и предыдущих версий
Теневые копии создаются при записи данных на том
В Windows XP этот механизм использовался для решения
проблемы резервного копирования открытых файлов
Закладка «Предыдущие версии» появилась в Windows Server 2003 для
общих папок
Унифицированный механизм защиты данных
пользователя/системы
Microsoft TechDays
http://www.techdays.ru
Процессы и потоки
Файловая система и ввод-вывод
Управление памятью
Запуск и завершение работы
Надежность и восстановление
Безопасность
Microsoft TechDays
http://www.techdays.ru
Ранее, физический доступ к системе чаще всего
обеспечивал доступ к информации
Утилиты третьих фирм могут получить доступ к любым
незашифрованным данным
Параметры аутентификации кэшируются в реестре
В Windows Vista BitLocker обеспечивает шифрование
всего тома с ОС
SP1 добавляет возможность шифрование томов данных
Требования технологии BitLocker
Trusted Platform Module (TPM) v1.2 или USB-устройство и
поддержка USB на уровне BIOS
Системный раздел объемом не менее 1.5 ГБ
Microsoft TechDays
http://www.techdays.ru
Несколько методов хранения ключа Volume Master Key
TPM с сигнатурами загрузочных файлов
Плюс PIN-код, вводимый пользователем
Плюс ключ на USB-носителе
Внешнее USB-устройство
Последовательно проверяется целостность
загрузочных компонент
С помощью Volume Master Key расшифровывается Full
Volume Encryption Key (FVEK)
TPM
BIOS
MBR
Microsoft TechDays
Boot
Sector
Boot
Manager
http://www.techdays.ru
Фильтр Fvevol.sys
перехватывает запросы к
тому и осуществляет
прозрачное шифрование/
расшифровывание
данных
Приложение
Режим пользователя
Режим ядра
Использует FVEK,
расшифрованный с
помощью VMK при старте
системы
Потери
производительности не
более 10%
Microsoft TechDays
Драйвер файловой
системы
Fvevol.sys
Диспетчер тома
http://www.techdays.ru
Загрузчик ОС и ядро проверяют сигнатуры кода
Платформа x64
В режиме ядра возможна загрузка только подписанного кода
Осуществляется проверка всех двоичных файлов режима
ядра
Нарушения фиксируются системой аудита
Платформа х86
Осуществляется проверка всех двоичных файлов режима
ядра, однако неподписанные модули могут быть загружены
Для воспроизведения форматов Hi-Definition могут быть
загружены только подписанные драйверы
Загрузка драйверов протоколируется в Event Log
Microsoft TechDays
http://www.techdays.ru
Цель
Пользователь должен работать в системе со стандартным
набором прав
Проблема
Очень часто пользователи работают под административной
учетной записью
Некоторые приложения запускаются только под
административной учетной записью
Решение
Разрешить определенные операции для неадминистративных
учетных записей, например, изменение часового пояса
Создать для приложений виртуальное представление
каталогов файловой системы и разделов реестра
Реализовать удобное переключение к административным
полномочиям
Microsoft TechDays
http://www.techdays.ru
Имидж виртуализуется, если обратное не указано в его
манифесте
Виртуализация осуществляется в режиме ядра
Файловая система: фильтром-драйвером luafv.sys
Реестр: встроенными средствами
Перенаправляемые каталоги файловой системы:
\Program Files, \Windows, \Windows\System32
Исключения
Защищенные от записи системные .EXE и DLL
Файлы с исполняемыми расширениями (.exe, .bat, .vbs, .scr и пр.)
Перенаправляемые разделы реестра
HKLM\Software
Исключения
Некоторые ключи подраздела Microsoft
Microsoft TechDays
http://www.techdays.ru
Запись: перенаправляется в специальную зону
конкретного пользователя
\Users\<Username>\AppData\Local\
Virtual Store
HKCU\Software\Classes\VirtualStore
Чтение: сначала используется зона
пользователя, затем глобальное расположение
Microsoft TechDays
http://www.techdays.ru
Исполняемый файл может быть помечен
признаком повышения полномочий
следующими способами:
В файле манифеста
В системной базе совместимости
приложений
Эвристически инсталлятором
Явным запросом пользователя
Microsoft TechDays
http://www.techdays.ru
Windows Vista содержит массу
принципиальных усовершенствований,
направленных на повышение
производительности, надежности и
безопасности системы
Microsoft TechDays
http://www.techdays.ru
http://www.techdays.ru
http://platforma2009.ru
http://www.microsoft.com/rus/technet
http://www.sysinternals.com
Microsoft TechDays
http://www.techdays.ru
http://blogs.technet.com/ashapo
Microsoft TechDays
http://www.techdays.ru
Download