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

Презентация:



Advertisements
Похожие презентации
Антон Шепитько Системные активности которые не были запущены непосредственно пользователем Сервисы, Задачи по расписанию, некоторые.
Advertisements

Ключевые изменения в интерфейсе Антон Шепитько
Александр Ильичев Изменения архитектуры Windows 7.
ДонНУ, кафедра КТ, проф.В.К.Толстых WCF-службы Создание и тестирование.dll-библиотеки WCF-служб Из цикла лекций «Internet-технологии разработки приложений»
Проф. В.К.Толстых, Технологии разработки Internet- приложений Архитектура и администрирование IIS 7 исполняющая среда ASP.NET в IIS 7,
Microsoft TechDays Иван Квасников
Архитектура операционной системы Microsoft Windows 2000.
Проф. В.К.Толстых, Технологии разработки Internet- приложений Администрирование IIS 5, 6 сайт, виртуальный каталог, приложение, пул, рабочий.
Microsoft TechDays Олег Ржевский MVP – Windows Desktop Experience.
Microsoft TechDays Цыганов Федор Softline.
Средства обнаружения атак. Архитектура систем обнаружения атак Модуль слежения Модуль управления Системы на базе узла Системы на базе сегмента.
Михаил Черномордиков Developer Evangelist, Microsoft Россия
Авторское право © BIT Impulse. Все права защищены. Инструмент для бизнес-анализа Архитектура системы.
Microsoft TechDays Цыганов Федор Softline.
Архитектура, возможности и методы использования платформы облачных вычислений Microsoft Windows Azure Лекция 2 Понятие об облачных вычислениях. Обзор платформ.
Визуализация и моделирование с использованием UML в Visual Studio 2010 Ultimate Евгений Чигиринский Microsoft.
ADO.NET Data Services Данила Корнев Developer Evangelist Microsoft Россия Установите Silverlight 1.0 для просмотра демонстрации:
Интеграция средств идентификации от различных производителей - основа безопасного информационного обмена Владимир Мамыкин Директор по информационной безопасности.
Сервис On-Line доступ ПП Парус 8 Применение для разработки WEB- интерфейса.
Нестандартный стиль приложений По разному потребляют данные Живые тайлы Множество видов.
Транксрипт:

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

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

Влияние фоновых процессов Производительность Время реакции на действия пользователя Конкуренция за ресурсы с «основными» приложениями Logoff, и т.д.. Надежность Утечки памяти Падения системы Падения зависимых приложений Безопасность Может требовать системный привилегий Успешная атака может «положить» всю систему Потребление энергии Диск, процессор Уменьшает время работы от батареи

Внутренняя оценка 49 сервисов (во время загрузки) – Не критичны для загрузки – Критичны и нужны для своих сценариев Влияние фоновых процессов РесурсКоличество File I/O47,286 Copy-on-Write (COW) Pages4,656 (~18MB) Memory Pages (Total)15,967 (~60MB) Registry Operations38,508 Threads367

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

Сервисы и задачи Сервисы Все время работают Программная модель Service Control Manager (SCM) Могут указывать зависимости Все время работают Программная модель Service Control Manager (SCM) Могут указывать зависимости Задачи Короткие задачи Отдельные exe или out-of-process COM Обычно в пользовательской сессии Короткие задачи Отдельные exe или out-of-process COM Обычно в пользовательской сессии

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

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

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

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

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

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

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

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

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

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

Дополнительные ресурсы 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) –

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

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

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

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

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

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

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

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

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

Поддерживаемые конфигурации 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

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

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

Additional Resources Networking Developer Center on MSDN – Connect – Blogs – – – –

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

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

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

Архитектура доступа к сенсору

Позиционирование User System

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