Изменения архитектуры Windows 7 Александр Ильичев

Содержание

Слайд 2

О чем мы поговорим Изменения ядра Windows 7 и Windows Sever

О чем мы поговорим

Изменения ядра Windows 7 и Windows Sever 2008

R2
Производительность, Планировщик пользовательского режима, Память
Фоновая активность
Загрузка служб, объединение таймеров драйверов и приложений
Обработка интерфейса Windows 7
Использование Direct2D, DirectWrite
Слайд 3

Ядро Windows 7 и Server 2008 R2 основаны на одном ядре

Ядро

Windows 7 и Server 2008 R2 основаны на одном ядре
Как было

обещано, Server 2008 R2 является только 64битным
Wow64 является опцией для Server Core
Номер версии 6.1 выбран для обеспечения совместимости
Не отображает номер релиза очередной Windows NT
Не отображает количество изменений в системе
Подразумевается, что многие старые приложения будут проверять номер Vista (6) при запуске/установке.
Слайд 4

PerfTrack PerfTrack: зарегистрировано 300 видимых для пользователя сценариев, требующих высокой производительности

PerfTrack

PerfTrack: зарегистрировано 300 видимых для пользователя сценариев, требующих высокой производительности
Примеры: открытие

меню Пуск, открытие Панели управления, загрузкасистемы
Набор целей по производительности по каждой функции
Отталкивается от начальных и заканчивающих системных событий
Данные от Customer Experience Program передавались командам по функциям

Производительность меню Пуск – Build 7000

Слайд 5

Снижение потребления ресурсов Снижение более чем на 400 мб MB

Снижение потребления ресурсов

Снижение более чем на 400 мб

MB

Слайд 6

Оптимизация памяти Переработка DWM (Desktop Window Manager - Aero и т.д.)

Оптимизация памяти

Переработка DWM (Desktop Window Manager - Aero и т.д.) снизила

потребляемость памяти для каждого окна на 50%
Чтение реестра происходит из файла подкачки
До этого реестр был закреплен в памяти
Улучшает производительность, поскольку обращения в реестр не требуют их размещения в таблице памяти
Улучшение механизма управления рабочим набором памяти:
Рабочий набор – это количество оперативной памяти, выделенное для процесса или ядра
Memory manager снижает урон от «убегающих процессов»
Быстро растущие процессы переиспользуют свои страницы памяти более агрессивно
Использует 8 «уровней старения» вместо четерех
Системный кэш, файл подкачки и подкачиваемый системный код теперь имеют раздельные рабочие наборы
Теперь каждый из них испльзует память в зависимости от своих нужд
Снижается урон от копий файлов в системном коде
Слайд 7

Планировщик Пользовательского Режима (UMS) Был разработан для приложений, работающих в режиме

Планировщик Пользовательского Режима (UMS)

Был разработан для приложений, работающих в режиме

волокон
Некоторые системные вызовы могут использовать состояние, связанное с определенным потоком
Если волокна работают на нескольких потоках, состояние может быть повреждено
UMS решает проблему состояния потока, разделяя режим пользователя и ядра
Переключение между потоками пользователя не переключает потоки ядра
Когда пользовательский поток переходит в режим ядра, он переключается на соотвествующий поток ядра
Слайд 8

Core 2 Thread 3 Core 1 Thread 4 Thread 5 Thread

Core 2

Thread
3

Core 1

Thread
4

Thread
5

Thread
1

Thread
2

Thread
6

Core 2

Core 1

User
Thread
2

Kernel
Thread
2

User
Thread
1

Kernel
Thread
1

User
Thread
3

Kernel
Thread
3

User
Thread
4

Kernel
Thread
4

User
Thread
5

Kernel
Thread
5

User
Thread
6

Kernel
Thread
6

Слайд 9

Фоновая активность Службы Trigger-start Объединение таймеров приложений и драйверов

Фоновая активность

Службы Trigger-start
Объединение таймеров приложений и драйверов

Слайд 10

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

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

т.д.
Часть практически любого сценария работы пользователя:
Индексация поиска
Безопасность и работоспособность системы
Упарвление сетью
Управление устройствами
Настройка системы

Что такое фоновая активность?

Слайд 11

Внутреннее тестирование 49 системных служб Не критичных для запуска и входа

Внутреннее тестирование 49 системных служб
Не критичных для запуска и входа в

системы
Критических и необходимых для их индивидуальных сценариев работы

Воздействие фоновой активности

Слайд 12

Интересная статистика Сравнение чистого образа Vista со средним образом IT-службы (+ 10 фоновых служб)

Интересная статистика

Сравнение чистого образа Vista со средним образом IT-службы (+ 10

фоновых служб)
Слайд 13

Автозапуск инициирует запуск службы при загрузке системы. Служба остается включенной всегда

Автозапуск инициирует запуск службы при загрузке системы. Служба остается включенной всегда
Самый

распространенный тип запуска
Просто для разработчиков – Служба всегда работает
Проблемы
Время загрузки службы добавляется ко времени загрузки системы
Съедает ресурсы
Многие службы автозапуска ждут редких событий

Службы Windows: Автозапуск

Слайд 14

Trigger-Start использует общую логику слежения за средой системы Service Control Manager

Trigger-Start использует общую логику слежения за средой системы
Service Control Manager отслеживает

следующие события системы:
Подключение/Отключения устройства
Назначение/снятие IP-адреса
Включение и выход из домена
Изменения групповых политик
Собственное событие ETW (Event Tracing for Windows)
SCM запускает и останваливает выбранные службы:
Пример:
TabletInputService запускается только, если подключен дигитайзер (графический планшет)

Windows 7: Trigger-Start Служб

Слайд 15

Некоторые службы Trigger-Start Windows 7

Некоторые службы Trigger-Start Windows 7

Слайд 16

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

Объединение таймеров

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

независимые циклы, даже если пирод был одинаков
Новое API таймеров позволяет использовать их объединение
Приложение или драйвер определяет допустимую задержку
Система таймеров подстраивает время их заупска под общи интервалы:
50мс, 100мс, 250мс, 1с

Каждые
15.6 мс

Период Таймеров

Windows 7

Vista

Слайд 17

Direct2D и DirectWrite Применение в Windows 7 Direct2D Обработка 2D-графики Повышенная

Direct2D и DirectWrite

Применение в Windows 7
Direct2D
Обработка 2D-графики
Повышенная произовдительность и качество

картинки
DirectWrite
Вертикальный стек текстовых сервисов
Шрифты, Обработка сценариев, Layout
Слайд 18

Особенности Direct2D Ориентирован на рендеринг 2D векторная графика, растровое изображение и

Особенности Direct2D

Ориентирован на рендеринг
2D векторная графика, растровое изображение и текст
Аппаратно или

Программно
Другие службы
Работа с дисплеями/устройствами ? DXGI
Печать? XPS
Перекодирование изображений? WIC
Форматирование текста ? DirectWrite
Слайд 19

Особенности Direct2D Совместимость GDI Direct3D Производительность Основан на Direct3D 10.1 Меньше

Особенности Direct2D

Совместимость
GDI
Direct3D
Производительность
Основан на Direct3D 10.1
Меньше потребление ресурсов чем у GDI/GDI+ (в

среднем в 4 раза)
Качество картинки
Alpha Blending
Per-primitive anti-aliasing
MSAA посредством Direct3D
Слайд 20

Особенности DirectWrite ClearType Работает с любой технологией рендеринга Аппаратно ускорен с Direct2D

Особенности DirectWrite

ClearType
Работает с любой технологией рендеринга
Аппаратно ускорен с Direct2D

Слайд 21

Рендеринг DirectWrite Рендеринг может быть осуществим посредством DirectX, GDI, или других

Рендеринг DirectWrite

Рендеринг может быть осуществим посредством DirectX, GDI, или других технологий
В 2

раза быстрее GDI
Аппаратное ускорение с Direct2D
Фильтр ClearType и сглаживание выполняется аппаратно
Поддерживает аппаратную оптимизацию кэширования данных приложения
Сниженная нагрузка на ЦП при отрисовке символов