Обзор ключевых изменений windows server 2008 r2
DESCRIPTION
Обзор ключевых изменений Windows Server 2008 R2. Александр Шаповал. Microsoft. Рассматриваемые вопросы. Презентация посвящена изменениям в ядр е Windows Server 2008 R2 и Windows 7 - PowerPoint PPT PresentationTRANSCRIPT
http://msplatforma.ru
Microsoft Платформа 2010
Обзор ключевых изменений Windows Server 2008 R2
Microsoft
Александр Шаповал
http://msplatforma.ru
Microsoft Платформа 2010
Рассматриваемые вопросы
Презентация посвящена изменениям в ядре Windows Server 2008 R2 и Windows 7
Рассматриваются изменения в базовых компонентах ядра, направленные на повышение производительности, масштабируемости и безопасности системы
Целый набор существенных изменений в ОС, таких как виртуализация, DirectAccess, BranchCache, PowerShell и др., рассматриваются в остальных докладах серверного трека
http://msplatforma.ru
Microsoft Платформа 2010
Ядро
Windows 7 и Windows Server 2008 R2 базируются на одном ядре Windows Server 2008 R2 только 64-битный
Wow64 – необязательная компонента режима Server Core
Для совместимости приложений номер версии системы (ядра) – 6.1
Не отражает количество существенных изменений в системе Предполагает, что многие приложения будут проверять номер версии Windows Vista (6)
http://msplatforma.ru
Microsoft Платформа 2010
Содержание
Компонентизация Производительность Энергосбережение Безопасность Поддержка многоядерных систем
http://msplatforma.ru
Microsoft Платформа 2010
Содержание
Компонентизация Производительность Энергосбережение Безопасность Поддержка многоядерных систем
http://msplatforma.ru
Microsoft Платформа 2010
MinWin
MinWin – первый шаг к созданию архитектурных разделов
Может собираться, загружаться и тестироваться отдельно от остальной части ОС Более высокие уровни могут разрабатываться независимо
MinWin – набор компонент, необходимых для загрузки и сетевого доступа
“NT Дэвида Катлера”: ядро, драйвер файловой системы, стек TCP/IP, драйверы устройств, службы Нет оболочки, WMI, графики, аудио, утилит
Размеры MinWin: 150 файлов, 25MB на диске, 40MB в памяти
http://msplatforma.ru
Microsoft Платформа 2010
Иерархическое представление
Оболочка,Графика,Мультимедиа,Службы,Утилиты, и пр.
Ядро, HAL,TCP/IP,Файловые системы,Драйверы,Службы ядра
MinWin
http://msplatforma.ru
Microsoft Платформа 2010
Рефакторинг DLL
Для снятия зависимостей от верхних уровней необходим рефакторинг DLL Приложения за пределами MinWin используют обычные DLL
DLL перенаправляет запросы к MinWin API в MinWin DLL Пример:
Kernel32.dll -> Kernelbase.dllAdvapi32.dll -> Kernelbase.dll
http://msplatforma.ru
Microsoft Платформа 2010
Наборы API
Проблема: DLL содержит множество APIAPI связан с реализацией внутри DLL
Наборы API (API Sets) – виртуальные DLL Внутренняя архитектура API отделена от реализации Виртуальные DLL могут быть скомбинированы на этапе компиляции для повышения эффективности
Интерфейсы MinWin выполнены в виде виртуальных DLL:
Пример: MICROSOFT-WINDOWS-SYSTEM-ERRORHANDLING-L1-1-0.DLLНомера показывают уровень, major- и minor-версию
http://msplatforma.ru
Microsoft Платформа 2010
Отображение в логические DLL
Отображение виртуальных DLL в логические хранится в Apisetschema.dll
Ядро читает схему во время загрузки и передает сопоставление каждому процессу для быстрого поиска Загрузчик использует схему для нахождения необходимой DLL
Связи виртуальных DLL могут отображаться различными утилитами, например, Dependency WalkerВирт. DLL 1
Вирт. DLL 2
ApiSetSchema.dll Логическая DLL
Загрузчик
http://msplatforma.ru
Microsoft Платформа 2010
Содержание
Компонентизация Производительность Энергосбережение Безопасность Поддержка многоядерных систем
http://msplatforma.ru
Microsoft Платформа 2010
Потребление памяти: клиент
Снижение потребления памяти самыми различными компонентами
Lapt
opA (x
86)
Lapt
opB (x
86)
ShipA
(x86
)
ShipB
(x86
)
ShipG
(x86
)
ShipH
(x86
)
ShipI
(x86
)
ShipJ
(x86
)
Lapt
opA (x
64)
Lapt
opB (x
64)
ShipB
(x64
)
ShipJ
(x64
)0
200
400
600
800
1000
1200
1400
Vista SP1
Windows 7 Beta
MB
http://msplatforma.ru
Microsoft Платформа 2010
Потребление памяти: сервер
W2K3 WS08 SP1 WS08 R20
50
100
150
200
250
Потребление ОЗУ в состоянии “Простой”
Enterprise Full
MB
http://msplatforma.ru
Microsoft Платформа 2010
Оптимизация памяти
За счет изменения архитектуры DWM удалось снизить потребление памяти на каждое окно в среднем на 50%Реестр считывается в страничный пул (paged pool)
Ранее отображался в памятьПри просмотрах реестра не нужно заново выполнять отображение (re-mapping)
http://msplatforma.ru
Microsoft Платформа 2010
Рабочий набор
Рабочий набор (working set) – количество ОЗУ, выделяемое диспетчером памяти процессу Диспетчер позволяет использовать собственные страницы процесса более агрессивно Системный кэш, страничный пул, откачиваемый системный код имеют свой собственный рабочий набор
Память расходуется более рациональноСнижается влияние операций копирования на системный код
System Cache, Paged Pool, System Code P1 P2 …
System Cache P1 P2 …Paged Pool System Code
Vista, Server 2008
Windows 7, Server 2008 R2
http://msplatforma.ru
Microsoft Платформа 2010
PerfTrack
PerfTrack: 300 сценариев пользовательских действий
Примеры: открыть стартовое меню, открыть панель управления, загрузка системы
По каждому сценарию поставлены цели Замеры проводились по началу/завершению события Данные собирались в рамках программы Customer Experience Program и возвращались соответствующей команде разработчиков
Щелчок по стартовому меню
Great OK Bad
Стартовое меню открылось
http://msplatforma.ru
Microsoft Платформа 2010
PerfTrack – Меню «Пуск»
Сборка 7000
Сборка 7033
http://msplatforma.ru
Microsoft Платформа 2010
Содержание
Компонентизация Производительность Энергосбережение Безопасность Поддержка многоядерных систем
http://msplatforma.ru
Microsoft Платформа 2010
Ключевые факторы Минимизация запущенных сервисов и задач Сокращение операций в фоновом режиме Удержание логических процессоров (ЛП) и сокетов в состоянии «Простой» для последующего перевода с состояние сна
- 5.00
10.00 15.00 20.00 25.00 30.00 35.00 40.00
Утилизация ЦПУ (%)
Потр
ебл
ение э
нер
гии (
Вт)
+10% ЦПУ = +1.25Вт +1.25Вт = -8.3% батарея
http://msplatforma.ru
Microsoft Платформа 2010
Парковка ядер
Ранее, загрузка равномерно распределялась по доступным ЛП
Даже если утилизация системы невысока
ОС пытается загружать наименьшее количество ЛП
Другие ЛП можно перевести в состояние сна Система распознает топологию сокетов
Парковка применяется на серверах и системах с гипертрейдингом
Максимальный возврат при средних нагрузках Клиенты как правило работают в предельных режимах (0% или 100%)
http://msplatforma.ru
Microsoft Платформа 2010
Парковка ядер
Парковкой управляет родительский раздел Гипервизор отображает сведения об использовании ЦПУ в родительский раздел
Сведения обновляются каждые 100 мс
Родительский раздел сообщает гипервизору, какие ядра нужно парковать
Гипервизор дает ядрам закончить текущую работу, но не планирует для них новую Тем не менее, ядра будут использоваться, если загрузка дочернего раздела возрастает
http://msplatforma.ru
Microsoft Платформа 2010
Парковка ядер
Сокет 0
Ядро 0
Ядро 1
Ядро 0
Ядро 1
Сокет 1
Ядро 1
Ядро 0
Ядро 0
Ядро 1
Задача
http://msplatforma.ru
Microsoft Платформа 2010
Unified Background Process Manager (UBPM)
UBPM унифицирует механизм запуска и останова процессов на основе событий
Реализован в диспетчере служб, чтобы избежать создание нового процесса Все события основаны на ETW
UBPM – центральный диспетчер регистрации и оповещения потребителей ETW
Клиенты UBPM:Планировщик задач: новый процесс Taskhost Диспетчер служб: запуск служб на основе триггеров
http://msplatforma.ru
Microsoft Платформа 2010
Динамические службы
Ранее, служба запускается при старте ОС и продолжает работу до выключения системы Службы могут указывать условия запуска и останова (триггеры):
Включение/выключение Bluetooth-устройства Добавление/удаление IP-адреса Открытие/закрытие портов на Firewall Включение/исключение компьютера из домена Другие события
Триггеры хранятся в ключе реестра службы Для просмотра используйте “sc qtriggerinfo”
http://msplatforma.ru
Microsoft Платформа 2010
Коалесцирующий таймер
При срабатывании таймера дочернего раздела:Гипервизор получает прерывание от внешнего таймера Планирует задачи для дочернего раздела Возвращает управление в дочерний раздел
Проблемы множества таймеров в разделах:Большое кол-во прерываний внешнего таймераВысокие расходы времени ЦПУ гипервизоромСнижение эффективности работы ВМ
Решение: выровнять интервалы таймеров в дочерних разделах
http://msplatforma.ru
Microsoft Платформа 2010
Реализация таймера
Используется комбинация следующих методов:Физические прерывания для глобальных таймеров Выравнивание интервалов таймеров дочерних разделов
Сигнал таймера ВМ1Сигнал таймера ВМ2Сигнал таймера ВМ3
15.6мс
15.6мс15.6мс
Объединенные события таймера
Необъединенные события таймера
http://msplatforma.ru
Microsoft Платформа 2010
Содержание
Компонентизация Производительность Энергосбережение Безопасность Поддержка многоядерных систем
http://msplatforma.ru
Microsoft Платформа 2010
Уровни User Account Control
Два новых уровня настройки UAC Сокращают количество предупреждений Применяются к администраторам
http://msplatforma.ru
Microsoft Платформа 2010
Виртуальные учетные записи
Обеспечивают лучшую изоляцию служб Свойства виртуальных учетных записей:
Процесс запускается с виртуальным SID SID может использоваться в списках управления доступом ACL
Пароли управляются системой В сетевых операциях выглядит как учетная запись компьютера
Использование виртуальных учетных записей Имя учетной записи: “NT SERVICE\<service>”Диспетчер служб создает профиль для виртуальной записи
Используются в пулах приложений IIS и в SQL Server
http://msplatforma.ru
Microsoft Платформа 2010
Управляемые записи служб
Некоторым службам необходима идентификация в сети Ранее, доменная запись была единственным вариантом
Администратор должен был управлять паролями и Service Principal Names (SPN)Возникали сбои при истечении срока действия пароля
Windows Server 2008 R2 Active Directory поддерживает механизм Managed Service Accounts (MSA)
Новый класс в ADПароли и SPN управляются службой AD по аналогии с компьютерными учетными записями Настраиваются скриптами PowerShell Каждая запись может использоваться только в одной системе
http://msplatforma.ru
Microsoft Платформа 2010
BitLocker-To-Go Тип
устройстваМетоды доступа
Методы восст-ия
Управление
Доп. требования
Съемные носители
информации,
например:
устройства USB flash
внешние жесткие диски
Пароль
Смарт-карта
Автомати-ческое
монтирование
Пароль восстано-вления
Ключ восстано-вления
Резервная копия
пароля восстано-вления в
Active Directory
DataRecovery
Agent
Более жесткий
контроль с помощью групповых политик
Опция обязатель-
ного шифрован
ия для получения
права записи на носитель
NTFSFAT
FAT32ExFAT
http://msplatforma.ru
Microsoft Платформа 2010
Содержание
Компонентизация Производительность Энергосбережение Безопасность Поддержка многоядерных систем
http://msplatforma.ru
Microsoft Платформа 2010
Dynamic Fair Share Scheduling (DFSS)
Ранее, отсутствовало понятие «качество обслуживания» для терминальных пользователей
Один пользователь мог оккупировать ресурсы ЦПУ
Для роли RDS автоматически включается DFSSСессии присваивается вес 1-9 (по умолчанию 5)Каждая сессия получает бюджет ЦПУ на интервал в 150 мс: Количество циклов в интервале / Суммарный вес * Вес сессии Вычитание происходит на каждом интервале планирования Если сессия исчерпала квоту, ее потоки помещаются в очередь «только во время простоя»
Запускаются, если другие сессии не выполняют активности
По окончании интервала бюджетирование повторяется
http://msplatforma.ru
Microsoft Платформа 2010
Логические процессоры (ЛП)
Ранее, максимальное количество ЛП определялось разрядностью слова
Состояние ЛП представлено битом в маске 32-битная версия: 32 ЛП64-битная версия: 64 ЛП
01631
32-битная процессорная маска
Простаивает Занят
http://msplatforma.ru
Microsoft Платформа 2010
Логические процессоры (ЛП)
С появлением многоядерной архитектуры получают распространение системы с количеством ЛП > 64
8 сокетов, 6 ядер, гипертрейдинг: 96 логических процессоров
Необходима поддержка > 64 ЛП с сохранением совместимости
http://msplatforma.ru
Microsoft Платформа 2010
Поддержка более 64 ЛП
ЛП разбиваются на группы В группе может быть до 64 ЛП Поддерживаются до 4 групп (максимальное количество ЛП – 256)
Распределение по группам Одна группа, если система 32-битная или количество ЛП < 65 Иначе, минимальное количество групп, при котором NUMA-узлы располагаются в одной группе
http://msplatforma.ru
Microsoft Платформа 2010
Группировка процессоров
Пример: 4 ЛП/ядро, 4 ядра/сокет, 2 сокета/узел, 4 узла: 128 ЛП
Группа
NUMA-узелСокет
ЯдроLP
LP
LP
LP
ЯдроLP
LP
LP
LP
ЯдроLP
LP
LP
LP
ЯдроLP
LP
LP
LP
Сокет
ЯдроLP
LP
LP
LP
ЯдроLP
LP
LP
LP
ЯдроLP
LP
LP
LP
ЯдроLP
LP
LP
LP
NUMA-узелСокет
ЯдроLP
LP
LP
LP
ЯдроLP
LP
LP
LP
ЯдроLP
LP
LP
LP
ЯдроLP
LP
LP
LP
Сокет
ЯдроLP
LP
LP
LP
ЯдроLP
LP
LP
LP
ЯдроLP
LP
LP
LP
ЯдроLP
LP
LP
LP
Группа
NUMA-узел Сокет
ЯдроLP
LP
LP
LP
ЯдроLP
LP
LP
LP
ЯдроLP
LP
LP
LP
ЯдроLP
LP
LP
LP
Сокет
ЯдроLP
LP
LP
LP
ЯдроLP
LP
LP
LP
ЯдроLP
LP
LP
LP
ЯдроLP
LP
LP
LP
NUMA-узелСокет
ЯдроLP
LP
LP
LP
ЯдроLP
LP
LP
LP
ЯдроLP
LP
LP
LP
ЯдроLP
LP
LP
LP
Сокет
ЯдроLP
LP
LP
LP
ЯдроLP
LP
LP
LP
ЯдроLP
LP
LP
LP
ЯдроLP
LP
LP
LP
http://msplatforma.ru
Microsoft Платформа 2010
Процессы, потоки и группы
По умолчанию, все потоки процесса запускаются в одной группе
Для присвоения процессу идеальной группы и идеального узла используется round-robin Потоку присваивается идеальный ЦПУ процесса, с использованием round-robinНа уровне группы применяется прежний API
Для использования > 64 ЛП приложение может присваивать потоки разным группам
Каждый поток запускается на ЛП в пределах группы
http://msplatforma.ru
Microsoft Платформа 2010
Процессы, потоки и группы
P1T1
P1T2
Группа 0 Группа 1
P2T1
P2T2
P3T2
P3T1
P4T2
P4T1
http://msplatforma.ru
Microsoft Платформа 2010
Диспетчер памяти PFN-блокировка
Windows отслеживает состояние страниц физической памяти
Используется (принадлежит рабочему набору)Не принадлежит рабочему набору (находится в одном из списков: free, zero, modified, standby…)
Ранее, любые изменения состояния страницы защищались глобальной PFN-блокировкой (Physical Frame Number lock)PFN-блокировки больше не используются
Страницы блокируются индивидуально Существенно повышается масштабируемость приложений, использующих большие массивы памяти
http://msplatforma.ru
Microsoft Платформа 2010
Блокировка диспетчеризации
Блокировки упорядочивают доступ к структурам данных
Предотвращают одновременную модификацию данных разными потоками Снижают масштабируемость, поскольку потоки должны ожидать снятия блокировки
Блокировка диспетчеризации оказывает наибольшее влияние на серверы
Блокировка защищает любые изменения состояния потока
Этот тип блокировки больше не используется Каждый объект защищен собственной блокировкой Многие операции производятся вообще без блокировок
http://msplatforma.ru
Microsoft Платформа 2010
«Мир без блокировок»
Рост производительности в 1.7 раза при переходе с 64 ЛП на 128 ЛП
128 LP 256 LP0
500
1000
1500
2000
2500
FibersThreads
Производительность OLTP
Тран
закц
ий
/ми
н.
http://msplatforma.ru
Microsoft Платформа 2010
Итоги
Windows Server 2008 R2 и Windows 7 содержат большое количество фундаментальных изменений на уровне ядраИзменения направлены прежде всего на повышение производительности, масштабируемости и безопасности системы
http://msplatforma.ru
Microsoft Платформа 2010
Ресурсы
12 ноября R2 302 Новые возможности Active Directory в Windows Server 2008 R2R2 306 Обзор возможностей Windows Server 2008 R2 Remote Desktop Services и Virtual Desktop InfrastructureR2 208 Практика проектов виртуализацииRT 204 Стратегия выбора и практика развертывания решений виртуализации
http://msplatforma.ru
Microsoft Платформа 2010
Ресурсы
13 ноября W7 202 Построение эффективной инфраструктуры филиалов на основе Windows 7 и Windows Server 2008 R2R2 203 Hyper-V в Windows Server 2008 R2 / Hyper-V Server 2008 R2R2 304 Автоматизация административных задач с помощью System Center и PowerShellR2 307 Построение высоконадежных систем: как выгоднее?R2 205 Пути миграции на Windows 7 и Windows Server 2008 R2
http://msplatforma.ru
Microsoft Платформа 2010
Вопросы
Александр Шаповал Эксперт по информационной
инфраструктуре [email protected]
http://blogs.technet.com/ashapo
Вы сможете задать вопросы докладчику в зоне «Спроси эксперта» в течение часа после завершения этого доклада