'

Windows 7: Изменения на уровне платформы Антон Шепитько antonsh@microsoft.com.

Понравилась презентация – покажи это...





Слайд 0

Windows 7: Изменения на уровне платформы Антон Шепитько antonsh@microsoft.com


Слайд 1

Системные активности которые не были запущены непосредственно пользователем Сервисы, Задачи по расписанию, некоторые COM процессы и т.д. Встречаются повсеместно: Индексирование при поиске Проверки по требованиям безопасности Управление сетью Управление устройствами Фоновые процессы


Слайд 2

Влияние фоновых процессов


Слайд 3

Внутренняя оценка 49 сервисов (во время загрузки) Не критичны для загрузки Критичны и нужны для своих сценариев Влияние фоновых процессов


Слайд 4

Влияние фоновых процессов Сравнивая чистую Windows Vista с OEM версией: Добавили 10 сервисов


Слайд 5

Сервисы и задачи


Слайд 6

Auto_Start сервис стартует при загрузке и никогда не завершается Чаще всего используется Прост для разработчиков — всегда работает! Проблемы Увеличивает время загрузки Много Auto_Start сервисов ждут редких событий Windows Services: Auto_Start


Слайд 7

Trigger-Start запуск сервиса при необходимости SCM регистрируется на события: Подключение устройства Получение/смена IP адреса Подключение или выход и домена Изменение групповых политик Другое SCM стартует или завершает зарегистрированные сервисы Windows 7: Сервисы Trigger-Start


Слайд 8

Самоостановка Если нет запросов и задач и Trigger-Start или Demand_Start Выключение компьютера Не используйте SERVICE_ACCEPT_SHUTDOWN без необходимости Не надо чистить память если сервис - standalone process Старайтесь завершиться не более чем за 200ms Завершение работы сервисов


Слайд 9

Никаких блокирующих действий! WaitForSingleObject, CreateFile, RPCs Всю работу в thread pool Для кодов возврата используйте инструкции MSDN Service Control Handler


Слайд 10

Календарь Загрузка Logon Idle Запись в Event log Блокировка/ разблокировка компьютера Триггеры для задач


Слайд 11

Idle condition Остановиться при выходе из Idle Только при работе от сети Остановка при работе от батареи Выход из sleep При сетевых соединениях Условия для задач


Слайд 12

IDLE!!! Батарея Сеть Рекомендации


Слайд 13

Почему потребление энергии важно учитывать? Потребление в ваттах 80386SX Core 2 Extreme QX6700


Слайд 14

Во многом дело в ПО


Слайд 15

Понять, что ПО сильно влияет на потребляемую компьютером энергию Уменьшить утилизацию ресурсов IDLE Приспособить приложение к окружению Использовать правильные инструменты Правильно обрабатывать переходы между состояниями энергосбережения Проверить и замерить Перейти к шагу 2 Разработка энергетически эффективных приложений


Слайд 16

Дополнительные ресурсы Application Best Practices for Windows Vista http://www.microsoft.com/whdc/system/pnppwr/powermgmt/PM_apps.mspx http://msdn.microsoft.com/en-us/magazine/cc163386.aspx Power Event Monitoring Tool Sample VS project for registering and receiving power notifications http://www.microsoft.com/whdc/system/pnppwr/powermgmt/PM-apps_samp.mspx Making Your WPF Apps Power-Aware http://msdn.microsoft.com/en-us/magazine/cc163386.aspx “Power To The People” C# interop for most Vista and later power APIs http://www.code-magazine.com/articleprint.aspx?quickid=0512102&printmode=true Windows Performance Tools Kit (XPerf) http://www.microsoft.com/whdc/system/sysperf/perftools.mspx PwrTest Available in Windows Driver Kit (WDK) http://www.microsoft.com/whdc/DevTools/WDK/WDKpkg.mspx


Слайд 17

Windows Web Services API Работа с web services из native кода Win32 API Не требует .Net Framework Работает со стеком WS-* SOAP Windows Communication Foundation (WCF) ASP .Net XML Web Services (ASMX) Не Microsoft реализации Системный компонент Windows 7 Доступен на Windows XP/Vista/2003/2008


Слайд 18

WWSAPI и WCF WWSAPI пара к WCF Используйте WCF в управляемом коде Используйте WWSAPI в нативном коде Похожие программные модели XML, Message, Channels (message-oriented) Service Model (function-oriented)


Слайд 19

Web Services Client Web Service Endpoint A B C Endpoint A B C Endpoint A B C Endpoint A B C Service Proxy WSDL XSD Service Host Code Generator Code Generator


Слайд 20

Уровни Windows Web Services API Ваш код Network I/O Service Model Channel Layer XML Layer Errors Heap Async Context


Слайд 21

Service Model Автоматически управляет коммуникацией Service Proxy на клиенте Service Host на сервере Обмен сообщениями – это вызов функций Клиент вызывает сгенерированные функции Сервер реализует callback Управляется контрактом WsUtil.exe генерирует C код из WSDL/XSD


Слайд 22

Windows Web Services API Ваш код Network I/O Service Model Channel Layer XML Layer Errors Heap Async Context


Слайд 23

Channel Layer Полный контроль над коммуникацией (Web Services вместо C) Сообщения Посланные или полученные данные Состоит из заголовка и тела Канал Абстракция для протокола обмена сообщениями Унифицированный API для 3 транспортов (HTTP, TCP, UDP) Свойства для тюнинга


Слайд 24

Windows Web Services API Ваш код Network I/O Service Model Channel Layer XML Layer Errors Heap Async Context


Слайд 25

XML Layer Полный доступ к содержимому сообщений Унифицированный API для кодирования Text, Binary, MTOM SOAP подмножество XML 1.0 XmlBuffer Хранение XML в памяти XmlReader and XmlWriter Последовательный доступ


Слайд 26

Поддерживаемые конфигурации Transports HTTP, TCP, UDP XML Encodings Text, Binary, and MTOM Envelope SOAP 1.1 and 1.2 Addressing WS-Addressing 0.9 and 1.0 Metadata WSDL 1.1, XML Schema 1.0 WS-MetadataExchange 1.1 WS-Transfer March 2006 Security WS-Security 1.0 and 1.1 (partial) WS-Trust February 2005 and 1.3 (partial) WS-SecureConversation 1.1 and 1.3 (partial) Policy WS-Policy from March 2006 and v.1.2 WS-Policy Attachment from March 2006 and 1.2 WS-SecurityPolicy 1.1


Слайд 27

Производительность – TCP


Слайд 28

Производительность – HTTP


Слайд 29

Additional Resources Networking Developer Center on MSDN http://msdn.microsoft.com/network/ Connect https://connect.microsoft.com/wndp/ Blogs http://blogs.msdn.com/nikolad/ http://blogs.msdn.com/haoxu/ http://blogs.msdn.com/wndp/ Email nikola.dudar@microsoft.com


Слайд 30

… Ваш компьютер знает где он и настраивает себя в связи со своим положением? Погода новости события Время …Ваш компьютер может чувствовать окружающую среду и подстраиваться под текущие условия? Подсветка дисплея в зависимости от окружающего света Оптимизирует элементы интерфейса для лучшей читаемости Что если…?


Слайд 31

Устройства позиционирования выставляются как виртуальные COM порты Эксклюзивный доступ для 1 приложения Не безопасно Закрытые форматы данных и протоколы общения GPS не работает в помещении Сложно использовать несколько технологий вместе Сенсоры интегрированы в решения Приложения должны знать особенности «железа» сенсора Ограниченное распространение и использование Ограничения сенсоров сегодня


Слайд 32

Windows Sensor And Location Platform Унифицированная модель драйверов для всех видов сенсоров Физические (GPS, свет) Логические (Wi-Fi триангуляция) Стандартный API для доступа к сенсорам Sensor API: C++/COM Location API: C++/COM, IDispatch


Слайд 33

Архитектура доступа к сенсору UMDF Sensor Driver Sensor Class Extension Sensor API Приложение Можно посмотреть из Control Panel Устройство Приложение User System


Слайд 34

Позиционирование UMDF Sensor Driver Sensor Class Extension Sensor API Gadget or Script Приложение Можно посмотреть из Control Panel Устройство Location API Location IDispatch Interface Приложение UMDF Sensor Driver Sensor Class Extension Логический сенсор (Триангуляция) User System


Слайд 35

Единый API для ответа на вопрос “Где я?” Не зависим от провайдера/устройства Можно использовать даже в скрипте Автоматический переход между провайдерами Приоритет у самого точного Одновременный доступ из множества приложение Местоположение по умолчанию Задается пользователем, когда более ничего не доступно Преимущества


Слайд 36


×

HTML:





Ссылка: