Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемdpevideos.blob.core.windows.net
1 Windows 7: Изменения на уровне платформы Антон Шепитько
2 Системные активности которые не были запущены непосредственно пользователем – Сервисы, Задачи по расписанию, некоторые COM процессы и т.д. Встречаются повсеместно: – Индексирование при поиске – Проверки по требованиям безопасности – Управление сетью – Управление устройствами Фоновые процессы
3 Влияние фоновых процессов Производительность Время реакции на действия пользователя Конкуренция за ресурсы с «основными» приложениями Logoff, и т.д.. Надежность Утечки памяти Падения системы Падения зависимых приложений Безопасность Может требовать системный привилегий Успешная атака может «положить» всю систему Потребление энергии Диск, процессор Уменьшает время работы от батареи
4 Внутренняя оценка 49 сервисов (во время загрузки) – Не критичны для загрузки – Критичны и нужны для своих сценариев Влияние фоновых процессов РесурсКоличество File I/O47,286 Copy-on-Write (COW) Pages4,656 (~18MB) Memory Pages (Total)15,967 (~60MB) Registry Operations38,508 Threads367
5 Влияние фоновых процессов Сравнивая чистую Windows Vista с OEM версией: – Добавили 10 сервисов
6 Сервисы и задачи Сервисы Все время работают Программная модель Service Control Manager (SCM) Могут указывать зависимости Все время работают Программная модель Service Control Manager (SCM) Могут указывать зависимости Задачи Короткие задачи Отдельные exe или out-of-process COM Обычно в пользовательской сессии Короткие задачи Отдельные exe или out-of-process COM Обычно в пользовательской сессии
7 Auto_Start сервис стартует при загрузке и никогда не завершается Чаще всего используется – Прост для разработчиков всегда работает! Проблемы – Увеличивает время загрузки – Много Auto_Start сервисов ждут редких событий Windows Services: Auto_Start
8 Trigger-Start запуск сервиса при необходимости – SCM регистрируется на события: Подключение устройства Получение/смена IP адреса Подключение или выход и домена Изменение групповых политик Другое – SCM стартует или завершает зарегистрированные сервисы Windows 7: Сервисы Trigger-Start
9 Самоостановка – Если нет запросов и задач и Trigger-Start или Demand_Start Выключение компьютера – Не используйте SERVICE_ACCEPT_SHUTDOWN без необходимости – Не надо чистить память если сервис - standalone process – Старайтесь завершиться не более чем за 200ms Завершение работы сервисов
10 Никаких блокирующих действий! – WaitForSingleObject, CreateFile, RPCs Всю работу в thread pool Для кодов возврата используйте инструкции MSDN Service Control Handler
11 Календарь Загрузка Logon Idle Запись в Event log Блокировка/ разблокировка компьютера Триггеры для задач
12 Idle condition Остановиться при выходе из Idle Только при работе от сети Остановка при работе от батареи Выход из sleep При сетевых соединениях Условия для задач
13 IDLE!!! Батарея Сеть Рекомендации
14 Почему потребление энергии важно учитывать? Потребление в ваттах Core 2 Extreme QX6700
15 Во многом дело в ПО
16 1.Понять, что ПО сильно влияет на потребляемую компьютером энергию 2.Уменьшить утилизацию ресурсов 3.IDLE 4.Приспособить приложение к окружению 5.Использовать правильные инструменты 6.Правильно обрабатывать переходы между состояниями энергосбережения 7.Проверить и замерить 8.Перейти к шагу 2 Разработка энергетически эффективных приложений
17 Дополнительные ресурсы Application Best Practices for Windows Vista – – Power Event Monitoring Tool – Sample VS project for registering and receiving power notifications – apps_samp.mspx apps_samp.mspx Making Your WPF Apps Power-Aware – Power To The People – C# interop for most Vista and later power APIs – magazine.com/articleprint.aspx?quickid= &printmode=true magazine.com/articleprint.aspx?quickid= &printmode=true Windows Performance Tools Kit (XPerf) – PwrTest – Available in Windows Driver Kit (WDK) –
18 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
19 WWSAPI и WCF WWSAPI пара к WCF – Используйте WCF в управляемом коде – Используйте WWSAPI в нативном коде Похожие программные модели – XML, Message, Channels (message-oriented) – Service Model (function-oriented)
20 Web Services ClientWeb Service Endpoint A A B B C C A A B B C C A A B B C C A A B B C C Service Proxy WSDL XSD Service Host Code Generator Code Generator
21 Уровни Windows Web Services API Ваш код Network I/O Service Model Channel Layer XML Layer Errors Heap Async Context
22 Service Model Автоматически управляет коммуникацией – Service Proxy на клиенте – Service Host на сервере Обмен сообщениями – это вызов функций – Клиент вызывает сгенерированные функции – Сервер реализует callback Управляется контрактом – WsUtil.exe генерирует C код из WSDL/XSD
23 Windows Web Services API Ваш код Network I/O Service Model Channel Layer XML Layer Errors Heap Async Context
24 Channel Layer Полный контроль над коммуникацией (Web Services вместо C) Сообщения – Посланные или полученные данные – Состоит из заголовка и тела Канал – Абстракция для протокола обмена сообщениями – Унифицированный API для 3 транспортов (HTTP, TCP, UDP) – Свойства для тюнинга
25 Windows Web Services API Ваш код Network I/O Service Model Channel Layer XML Layer Errors Heap Async Context
26 XML Layer Полный доступ к содержимому сообщений Унифицированный API для кодирования – Text, Binary, MTOM SOAP подмножество XML 1.0 XmlBuffer – Хранение XML в памяти XmlReader and XmlWriter – Последовательный доступ
27 Поддерживаемые конфигурации 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
28 Производительность – TCP WWSAPI
29 Производительность – HTTP
30 Additional Resources Networking Developer Center on MSDN – Connect – Blogs – – – –
31 … Ваш компьютер знает где он и настраивает себя в связи со своим положением? – Погода новости события – Время …Ваш компьютер может чувствовать окружающую среду и подстраиваться под текущие условия? – Подсветка дисплея в зависимости от окружающего света – Оптимизирует элементы интерфейса для лучшей читаемости Что если…?
32 Устройства позиционирования выставляются как виртуальные COM порты – Эксклюзивный доступ для 1 приложения – Не безопасно – Закрытые форматы данных и протоколы общения GPS не работает в помещении – Сложно использовать несколько технологий вместе Сенсоры интегрированы в решения – Приложения должны знать особенности «железа» сенсора – Ограниченное распространение и использование Ограничения сенсоров сегодня
33 Windows Sensor And Location Platform Унифицированная модель драйверов для всех видов сенсоров – Физические (GPS, свет) – Логические (Wi-Fi триангуляция) Стандартный API для доступа к сенсорам – Sensor API: C++/COM – Location API: C++/COM, IDispatch
34 Архитектура доступа к сенсору
35 Позиционирование User System
36 Единый API для ответа на вопрос Где я? – Не зависим от провайдера/устройства – Можно использовать даже в скрипте Автоматический переход между провайдерами – Приоритет у самого точного Одновременный доступ из множества приложение Местоположение по умолчанию – Задается пользователем, когда более ничего не доступно Преимущества
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.