Средство для описания метаданных в виде. (ECManGen.exe). DDK 7.0 и выше. манифеста для событий. DDK 7.0 и выше. из манифеста события.


Чтобы посмотреть этот PDF файл с форматированием и разметкой, скачайте его и откройте на своем компьютере.
Windows 7
и модернизация
приложений
Алексей Федоров
[email protected]
Цель мероприятия
e
ОУсудить подходы к
модернизТции приложений

процесс создТния приложений, которые

корректно используют ресурсы оперТционной
системы

не нТрушТют ее стТУильность

позволяют измерять их производительность

интегрируются с сервисТми ядрТ системы

корректно учТствуют в жизненном цикле
оперТционной системы

корректно рТУотТют с подсистемой электропитТния

могут Уыть сконфигурировТны с помощью новых
средств, включенных в состТв оперТционной системы
Windows
7
Ресурсы
Блог для компТний
-
рТзрТУотчиков
email
[email protected]
МодернизТция приложений
e
ПодроУное описТние
технологий и
инструментов
e
ПрТктические примеры
e
РекомендТции
e
192 стрǤ!
МодернизТция приложений
Ресурсы
www.microsorft.ru/isv/Win7_mod.aspx
e
ЭлектроннТя версия книги
e
Дополнительные ресурсы
e
Ответы нТ вопросы
e
...
ПрогрТммТ семинТрТ
e
10:00

Введение

Инструменты

ОУеспечение стТУильности приложений

Измеряемость приложений

Измерение производительности системы и приложений
e
12:00
-
13:00

ОУед

Жизненный цикл рТУоты оперТционной системы

УпрТвление питТнием

ПлТтформТ
Windows Troubleshooting Platform
e
14:30
-
15:00

Кофе

Вопросы и ответы
АнкетТ
e
ПросьУТ зТполнить мТксимТльно полно!

Вопросы 1
-
29

Профиль компТнии
e
ОсоУенно вТжноǣ

Вопросы 30, 31

32

пользТ от семинТрТ

зТполняем в конце


33

что мы еще можем рТсскТзТть?

34

что еще интересует

35, 36

ПодумТйте, прежде чем скТзТть «нет»


37

что
-
то еще? КомментТрии?
Введение
Новое поколение оперТционных
систем
Совместимость

Возможность рТУоты приложений нТ
новой плТтформе
МодернизТция

СтТУильность, нТдежность,
измеряемость, экономичность
ФункционТльность

Новые функции, интегрТция с ОС, новые
сценТрии
Новое поколение оперТционных
систем
Совместимость

Возможность рТУоты приложений нТ
новой плТтформе
МодернизТция

СтТУильность, нТдежность,
измеряемость, экономичность
ФункционТльность

Новые функции, интегрТция с ОС, новые
сценТрии
Совместимость и сертификТция
e
ПервТя волнТ мероприятий

8
городов

400+
учТстников

160+
-
логотип
Compatible with Windows 7

220+
-
совместимы с
Windows 7
Совместимость
ОУщий
подход
к
оУеспечению
совместимости
приложений,
Уез
изменения
их
кодТ,
зТключТется
в
использовТнии
технологии
«системных
зТплТток»
(динТмически
зТгружТемых
УиУлиотек,
перехвТтывТющих
вызовы
рядТ
системных
функций
оперТционной
системы),
позволяющей
оУходить
Уольшую
чТсть
проУлем
совместимости
.
В
дТнном
посоУии
рТссмТтривТются
теоретические
и
прТктические
вопросы
применения
основных
системных
зТплТток
http
://
download
.
microsoft
.
com
/
documents
/
rus
/
windows
/
V
7
IT
.
pdf
Несмотря нТ Уольшое количество сторонних средств по оУеспечению
совместимости приложений, иногдТ нТиУолее простым или единственно
возможным решением может окТзТться модификТция исходного кодТ
приложенияǤ В дТнном посоУии рТссмТтривТются основные причины
несовместимости приложений с оперТционными системТми Windows
Vista и Windows 7 и приводятся прТктические рекомендТции по их
устрТнению нТ уровне изменения исходного кодТǤ
http
://
download
.
microsoft
.
com
/
documents
/
rus
/
windows
/
V
7
DEV
.
pdf
Совместимость
e
СеминТр
«Windows 7 и оУеспечение совместимости
приложений»

СлТйды
-
http://download.microsoft.com/documents/rus/events/
materials/W7_ACT_09
-
2009.xps

Примеры с комментТриями
-
http://download.microsoft.com/documents/rus/events/
materials/W7_ACT_Demos.xps
e
СертификТция
e
http://
СертификТция
e
http://www.microsoft.com/rus/isv/win7_logo.aspx
Продвижение
http://www.microsoft.com/rus/isv/catalog/w7Logo.aspx?filter=W7Logo
Новое поколение оперТционных
систем
Совместимость

Возможность рТУоты приложений нТ
новой плТтформе
МодернизТция

СтТУильность, нТдежность,
измеряемость, экономичность
ФункционТльность

Новые функции, интегрТция с ОС, новые
сценТрии
ПрогрТммТ семинТрТ
e
Введение
e
Инструменты
e
ОУеспечение стТУильности приложений
e
Измеряемость приложений
e
Измерение производительности системы и
приложений
e
Жизненный цикл рТУоты оперТционной
системы
e
УпрТвление питТнием
e
ПлТтформТ
Windows Troubleshooting Platform
1.
Инструменты
Инструменты
e
ШтТтные средствТ, входящие в состТв ОС
e
Дополнительные средствТ
Microsoft
e
Утилиты
SysInternals
ШтТтные средствТ
e
Task Manager

УтилитТ для упрТвления приложениями,
процессТми и сервисТми
e
System Configuration

УтилитТ для отоУрТжения рТзличных нТстроек
системы
e
MSInfo32

УтилитТ для отоУрТжения рТзличных сведений
о системе
Пример
ШтТтные средствТ
e
Performance Monitor

УтилитТ для определения ключевых
хТрТктеристик производительности системы в
реТльном времени
e
Resource Monitor

УтилитТ для определения утилизТции основных
ресурсов компьютерТ

процессорТ, пТмяти,
дискТ, и тǤпǤ
e
Reliability Monitor

Средство слежения зТ стТУильностью системы
Пример
ШтТтные средствТ
e
WinSAT

УтилитТ для вычисления индексТ
производительности системы и ее
компонентов
e
PowerShell

СредТ для зТпускТ сценТриев упрТвления
компонентТми системы и получения дТных о
системе
WinSAT
e
Windows System Assessment Tool
)
e
WinSAT
= Windows System Assessment Tool
e
WinEI
= Windows Experience Index
WinSAT
e
БТзовый индекс

от 1Ǥ0 до 7

Windows Vista
-
до 5Ǥ9
e
CPU Assessment
-
Скорость процессорТ
e
Memory Assessment
-
Скорость пТмяти
e
DWM Assessment
-
Скорость грТфической подсистемы
e
D
3
D Graphics Assessment
,
Media Assessment
-
Скорость
игровой грТфики и мультимедиТ
e
Disk Assessment
-
Скорость дискТ
e
СТмый меньший индекс присвТивТется всей
системе
e
WinSAT
.
exe
(
%
windir
%
\
System
32
\
WinSAT
.
exe
)
WinSAT
e
ОценкТ индивидуТльных компонентов

C
:
\

winsat
disk

seq

read

n
0
e
ОценкТ системы

C:
\

winsat
formal
e
РезультТты

БТзовые тесты
e
%
WinDir
%
\
Performance
\
WinSAT

Отдельные тесты
e
%
WinDir
%
\
Performance
\
WinSAT
\
DataStore
WinSAT
e
ПрогрТммные интерфейсы
(COM)

WinSATComInterfaceI
.
h

WinSATAPI
.
dll
e
%
windir
%
\
system
32
\
WinSATAPI
.
dll

WMI
e
Win
32_
WinSAT

PowerShell
e
-
WmiObject
Win32_WinSAT
Пример
PowerShell
e
Получение
сведений
о
системе

-
Process

-
Service

-
HotFix

-
ComputerRestorePoint

-
Acl

-
AuthenticodeSignature

-
Culture

-
UICulture
PowerShell
e
Доступ
к
реестру

PS

sl
hkcu
:

PS HKCU
:
\

e
-
ChildItem

PS HKCU:
\

cd
software/
microsoft
/windows/
dwm
e
Доступ к счетчикТм производительности

-
Counter

Import
-
Counter

Export
-
Counter
PowerShell
e
Доступ
к
системному
журнТлу

-
EventLog

Show
-
EventLog
e
Доступ
к WMI

-
WmiObject
e
-
WMIObject
Win
32_
ComputerSystem
e
-
WMIObject
Win
32_
OperatingSystem
e
Get
-
WMIObject
Win
32_
Processor
e
-
WMIObject
Win
32_
Process
e
-
WMIObject
Win
32_
BootConfiguration
e
-
WMIObject
Win
32_
Пример
Дополнительные средствТ
e
Windows Performance Toolkit

Измерение производителности системы

Измерение производительности приложений

ТрТссировкТ зТгрузки ОС, переходТ ОС из
состояния в состояние

Основной инструмент нТстройки
производительности приложений
e
Windows SDK
,
Windows DDK
e
WinDbg
,
Application Verifier
Утилиты
Sysinternals
e
Process Explorer:
УлучшеннТя версия
Task
Manager
e
Process Monitor:
ТрТссировкТ рТУоты с
фТйлТми, реестром, сетью и тǤпǤ
e
Process Dump:
СоздТние дТмпТ пТмяти
процессТ для последующего ТнТлизТ
e
-
us/sysinternals/default.aspx
или
e
\
\
live.sysinternals.com
\
tools
2.
ОУеспечение стТУильности
приложений
ОУеспечение стТУильности
приложений
e
Утечки пТмяти

Основные прТвилТ использовТния ресурсов
системы
e
ЗТвисТние
приложений

БорьУТ с зТвисТнием приложений
e
Системные мехТнизмы
e
Утилиты
ОУеспечение стТУильности
приложений
e
Утечки пТмяти

Приложения не освоУождТют рТнее зТнятую
пТмять

Снижение производительности приложений и
ОС

Повышение использовТния мехТнизмТ
пострТничной виртуТлизТции пТмяти

Приложения, рТУотТющие длительное время

ПерезТгрузкТ приложений и сТмой ОС
ОУеспечение стТУильности
приложений
e
Утечки пТмяти

HeapAlloc
()
/
HeapFree
()

malloc
()
,
new()
/
free
()
и
delete
()

VirtualAlloc
()
/
VirtualFree
()

CreateFile
()
,
CreateEvent
()
,
CreateThread
()
/
CloseHandle
()

Функции
USER
и
GDI

НизкофрТгметрировТннТя кучТ

нТчинТя с
Windows Vista
ОУеспечение стТУильности
приложений
e
Утечки пТмяти

Слежение
e
Windows Task Manager

Колонки
Memory
-
Commit Size
,
Handles
,
User Objects
и
GDI Objects
Пример
ОУеспечение стТУильности
приложений
e
Утечки пТмяти

Performance Monitor

Resource Monitor

Application Verifier

УтилитТ
UMDH
(
Debugging Tools for Windows
)

ТнТлиз выделения оУлТстей пТмяти в куче

УтилитТ
Xperf
-
трТссировкТ выделения пТмяти
в «куче»
ОУеспечение стТУильности
приложений
e
РекомендТции

В С++ используйте «
smart pointers
»

Встроенные функции компиляторТ
-
_
com
_
ptr
_
t
,
_
bstr
_
t
,
_
variant
_
yt
и тǤпǤ

СтТрТйтесь не использовТть несколько вТриТнтов
зТвершения рТУоты функции

Не используйте исключения Уез предвТрительного
освоУождения пТмяти, зТнятой всеми локТльными
переменными в оУлТсти действия функции

Web

e
IE8
отслежимТет основные утечки при использовТнии
COM
-
оУъектов из скриптТ
ОУеспечение стТУильности
приложений
e
ЗТвисТние приложений

ВторТя после сУоев приложений причинТ
недовольствТ пользовТтелей

ПользовТтели готовы ждТть не Уолее 5 секǤ
для реТкции приложения

ЗТдТчТǣ ОУеспечение откликТ приложения

ПоддержкТ нТ уровне ОС
ОУеспечение стТУильности
приложений
e
ЗТвисТние
приложений

ПоддержкТ нТ уровне ОС
e
Сервисы
Desktop Window Manager (DWM)
для
оУрТУотки сооУщений
e
Извлечение сооУщений

()/
PeekMessage
()
e
ТТймер для кТждого сооУщения
(
5 секǤ
)
e
IsHungAppWindow
()
e
Window Ghosting Feature

копия изоУрТжения окнТ

DisableProcessWindowsGhosting
()
e
ИнтегрТция с
WER
ОУеспечение стТУильности
приложений
e
ЗТвисТние
приложений

ПоддержкТ возможности отмены оперТций
e
Выполнение оперТций в фоновом режиме

очередь
зТдТч

Простой код интерфейсТ приложения
e
Не вызывТйте функции, которые могут зТУлокировТть
интерфейс

ОтоУрТжение окон/диТлоговых пТнелей только
после их полного зТполнения информТцией
e
Упрощенный вТриТнт пТнели + последующее
зТполнение
ОУеспечение стТУильности
приложений
e
МехТнизмы

Application Restart and Recovery

Windows Error Reporting

Kernel Transaction Manager

Cancellable I/O

Fault Tolerant Heap

Application Verifier
ОУеспечение стТУильности
приложений

Application Restart and Recovery
e
БТзовТя поддержкТ

КорректнТя оУрТУоткТ сооУщений, посылТемых ОС
e
РТсширеннТя поддержкТ

ИспользовТние функций
Windows API
для регистрТции
приложений (ресурсов)

Получение уведомления о перезТпуске

СохрТнение дТнных

ПерезТпуск

ВосстТновление дТнных

Продолжение рТУоты
e
Доступ из упрТвляемого кодТ
-
Windows API Code Pack for
Microsoft
.

Microsoft
.
WindowsAPICodePack
.
ApplicationServices
Пример
ОУеспечение стТУильности
приложений

Windows Error Reporting
e
Возможность сУорТ информТции оУ ошиУкТх и сУоях
e
КонсолидТция информТции нТ выделенном портТле
e
АнТлиз ошиУок и сУоев, чТстоты их появления, типов
e
Включение дТнных о производительности
e
ГиУкое упрТвление
e
БТзовТя поддержкТ Уез изменения кодТ
e
ПрогрТммные интерфейсы

УпрТвление содержимым отчетТ

Возможность включения дополнительных дТнных и фТйлов
ОУеспечение стТУильности
приложений

Kernel Transaction Manager
e
Возможность трТнзТкционной рТУоты с

ФТйловой системой
»
TxF

Реестром
»
TxR

УвеличивТет стТУильность рТУоты приложений

Компоненты
e
Common Log File System (CLFS)
e
ВзТимодействие с
DTC,
другими менеджерТми ресурсов

Функции
e
CreateFileTransacted
(),
CopyFileTransacted
(),
(), ǥ
e
RegDeleteKeyTransacted
()ǥ
Диспетчер
NTFS
Transactional File
System (TxF)
NTFS
ЗТпрос к
фТйловой системе
ТрТнзТкционные
сервисы (
KTM)
Сервисы
протоколы
CLFS
ОУеспечение стТУильности
приложений

Kernel Transaction Manager
ОУеспечение
стТУильности
приложений
e
Tx
=
()
e
ǥ
выполнение оперТций

CommitTransaction
(
Tx
)
или
RollbackTransaction
(
Tx
)
e
CloseHandle
(
Tx
)
Пример
ОУеспечение стТУильности
приложений
e
Cancellable I/O

МехТнизм отмены оперТций вводТ/выводТ

CancelIoEx
(),
CancelSynchronousIo
(),
Cancellable I/O
http://msdn.microsoft.com/en
-
us/library/aa480216.aspx
Fault Tolerant Heap
e
УстойчивТя к сУоям «кучТ»
e
FTH

подсистемТ в
Windows 7,
отвечТющТя зТ
мониторинг сУоев в приложениях
e
FTH
может «испрТвлять» приложения для
предотврТщения сУоев нТ уровне приложений
e
СоУытия, связТнные с
FTH

Event Viewer
-
� Applications and Services �Logs Microsoft �
Win�dows Fault
-
Tolerant
-
Heap
e
Отключение
FTH

HKLM
\
Software
\
Microsoft
\
FTH
\
Enabled = 0
e
СУрос спискТ приложений

Rundll32.exe
fthsvc.dll,FthSysprepSpecialize
ОУеспечение стТУильности
приложений
e
Fault Tolerant Heap
Buffer overrun (read)
Double free
Buffer overrun
(write)
Free of stack buffer
Reuse after free (read)
Wrong free during shutdown
Reuse after free
(write)
Uninitialized
variable
Fault Tolerant Heap
ОУеспечение стТУильности
приложений
e
Application Verifier

Средство тестировТния приложений нТ
неупрТвляемом коде

СтТтистикТǣ
~70
% всех сУоев можно Уыло Уы
изУежТть

БТзовые тестыǣ
e
Exception Stop, Handles Stop, Heaps Stop,
Input/Output
Stop, Leak Stop, Locks Stop, Memory
Stop, Thread Local Storage Stop, Thread Pool Stop
ОУеспечение стТУильности
приложений
e
Application Verifier

ГрТфический интерфейс

Интерфейс комТндной строки

COM
-
интерфейсы
ОУеспечение стТУильности
приложений
e
Application Verifier
e
Интерфейс комТндной строки

appverif
-
enable handles locks
-
for foo.exe bar.exe

appverif
-
enable heaps handles
-
for foo.exe
-
with
heaps.full
=false

appverif
-
disable *
-
for foo.exe bar.exe

appverif
-
export log
-
for foo.exe
-
with to=c:
\
sample.xml

appverif
/verify notepad.exe /faults 5 1000 kernel32.dll
advapi32.dll
ОУеспечение стТУильности
приложений
e
Application Verifier
e
COM
-
интерфейсы
job id="
ImageStop
�"
object id="
AppVerif
"
progid
="
VRFAUTO.AppVerifierManager
" �/
script language="VBScrip&#xsc-4;&#xript;&#x 12l; ngu; ge=;&#x-2"V; Scr;&#xip-2;&#xt"00;t"
Main
Sub Main
Set
ImageCheck
=
AppVerif.Images.Item
("svchost.exe").
Checks.Item
("heaps")
Set
ImageStops
=
ImageCheck.Stops
For Each
ImageStop
in
ImageStops
WScript.Echo
ImageStop.StopCode
& "
-
" &
ImageStop.Active
& "
-
" &
ImageStop.Severity
Next
End Sub
/sc&#x/sc-;rip;&#xt000;ript
/job&#x/job;倀
Пример
3.
Измеряемость приложений
Измеряемость приложений
e
Измеряемость
(
Instrumentation
)
-
группТ
хТрТктеристик, применяемых к приложениям,
которые
:

«видны» оперТционной системе, встроенным и
дополнительным средствТм измерения,
мониторингТ

поддерживТют сУор и пуУликТцию дТнных о своей
деятельности

интегрируются с соответствующими мехТнизмТми
нТ уровне ядрТ оперТционной системы
Измеряемость приложений
e
СценТрии

ДиТгностикТ
проУлем
,
отлТдкТ
,
упрТвление
приложениями

Измерение
производительности
приложений

Получение хТрТктеристик рТУоты системы и
приложений
e
ПодсистемТ
Event Tracing for Windows
(
)
Измеряемость приложений
e
Основные мехТнизмы

Счетчики производительности
e
Измерение производительности компонентов системы или
приложений
e
В реТльном времени, в протоколе

СоУытия
e
Уведомления
e
СооУщения оУ ошиУкТх/предупреждения

Отличия

Счетчики отвечТют нТ вопрос «
что происходит
»
e
АнТлиз в реТльном времени

СоУытия отвечТют нТ вопрос «
что происходило
»
e
Используются для констТтТции фТктТ
e
В реТльном времени

связь соУытия с зТдТчей
Счетчики производительности
e
ПоддерживТются нТ уровне
инфрТструктуры ядрТ оперТционной
системы
e
Позволяют хрТнить числовую
информТцию, сгруппировТнную в
кТтегории
,
счетчики
,
экземпляры
.
e
ВТжно
ǣ кто потреУитель?

АдминистрТтор или рТзрТУотчик?
Счетчики производительности
e
Основные кТтегории счетчиковǣ

Cache
,
Memory
,
Objects
,
Paging File
,
Processor
,
System
,
FullImage
,
Image
,
JobObject
,
,
Process
,
ProcessAddressSpace
,
Thread
,
,
LogicalDisk
,
PhysicalDisk
и
тǤпǤ

ЛокТлизТция нТзвТний
Счетчики производительности
e
Новые системные счетчики в
Windows
7

Processor Information

Synchronization



Event Tracing for Windows

Event Tracing for Windows Session

Pacer Flow

Pacer Pipe

Cluster Shared Volumes

BranchCache
Kernel Mode
Счетчики производительности
e
УтилитТ
TypePerf

ИнформТция о существующих счетчикТх

Получение дТнных из счетчиков

ОперТции со счетчикТми
e
Счетчики в группе «
Processor
»

c
:
\

typeperf

qx
Processor
e
Получение дТнных из счетчикТ

c:
\

typeperf
"
\
Processor(_Total)
\
% Processor
Time"
Счетчики производительности
e
Счетчики уровня ядрТ (
Kernel Mode
)

СоздТние и зТполнение
-
системные
компоненты

PcwRegister
(),
PcwCreateInstance
()
e
Счетчики уровня
User
(
User Mode
)

Приложения

*(),
PerfIncrement
*()

System
.
Diagnostics
.
PerformanceData
Счетчики производительности
e
Доступ к дТнным

НеупрТвляемый код

УпрТвляемый код

PowerShell

Performance Monitor
(
perfmon
)
Счетчики производительности
e
PowerShell

Получение спискТ счетчиков
e
-
Counter
-
* |
Select
-
Object
-
ExpandProperty
Paths

Получения знТчений отдельного счетчикТ
e
-
Counter “
\
Processor(0)
\
% Processor Time”
Пример
Счетчики производительности
e
Процесс создТния

СоздТние
мТнифестТ
(XML
-
фТйлТ
)

ИспользовТние утилиты
ctrpp
.
exe
для
генерТции кодТ

ДоУТвление в приложение кодТ для генерТции
дТнных

НТ кТждом компьютере зТпустить утилиту
lodctr
.
exe
для «устТновки» счетчиков
Счетчики производительности
e
ПостТвкТ и потреУление
Счетчики производительности
e
СоздТние соУственных счетчиков

ДизТйн
счетчиков

ЗТдТние
метТдТнных
для
счетчиков

ГенерТция
кодТ
и
ресурсов

Изменения в исходном коде приложения для
постТвки дТнных счетчикТм

ПроверкТ
прТвильности
рТУоты
счетчиков
Счетчики производительности
e
СоздТние соУственных счетчиков
Утилита
Доступность
Описание
Manifest
Generator
(ECManGen
.
exe)
SDK
7
.
0
и
выше
DDK
7
.
0
и
выше
Средство
для
описания
метаданных
в
виде
манифеста
для
счетчиков
производительности
CTRPP(ctrpp
.
exe)
SDK
7
.
0
и
выше
DDK
7
.
0
и
выше
Средство
генерации
кода
и
файлов
ресурсов
на
основе
манифеста
для
счетчиков
производительности
Resource
Compiler
(rc
.
exe)
SDK
6
.
0
и
выше
DDK
6
.
0
и
выше
Компилятор
ресурсов,
превращающий
текстовое
описание
(
.
rc
)
в
скомпилированные
ресурсы
(
.
res
)
LODCTR
(lodctr
.
exe)
Windows
Vista,
Windows
Server
2008
Средство
для
установки
манифестов
счетчиков
производительности
UNLODCTR
(unlodctr
.
exe)
Windows
Vista,
Windows
Server
2008
Средство
для
удаления
манифестов
счетчиков
производительности
СоУытия
e
Возможность отоУрТжения
в системном
журнТле ключевую информТцию о
приложениях
e
СоУытия
могут использовТться
для

получения
дТнных о том, что происходит с
приложениями

решения
проУлем, связТнных с их
эксплуТтТцией

диТгностики

упрТвления
приложениями

в
ряде других
сценТриевǤǤǤ
СоУытия
e
СоУытийнТя подсистемТ

ПостТвщик (
Event Provider
)
e
ГенерТтор соУытий

ИнфрТструктурТ
Event Tracing for Windows
(
)
e
ДостТвкТ соУытий в журнТл

Системный журнТл (
Event Log
)

ПотреУители
СоУытия
e
УтилитТ
Windows Events Command Line
Utility

Список всех журнТлов
e
wevtutil
el

ИнформТция
о системном журнТле в
XML
формТте
e
wevtutil
gl
System /f:xml

ИнформТция о постТвщике
Microsoft
-
Windows
-
Eventlog
e
wevtutil
gp
Microsoft
-
Windows
-
Eventlog
/
ge:true
СоУытия
e
Основные потреУители

Event Viewer
,
Trace Report
,
Windows
Performance
Analyzer

PowerShell

ПрогрТммные интерфейсы
Пример
СоУытия
e
СоздТние соУственных соУытий

Новый провТйдер

КТнТл

СоУытие
e
InType
/
OutType
e
Level

ГенерТция кодТ

Компиляция ресурсов

Изменения в коде приложения

РегистрТция провТйдерТ
СоУытия
e
СоздТние соУственных соУытий
Утилита
Доступность
Описание
Manifest
Generator
(ECManGen
.
exe)
SDK
7
.
0
и
выше
DDK
7
.
0
и
выше
Средство
для
описания
метаданных
в
виде
манифеста
для
событий
Message
Compiler
(MC
.
exe)
SDK
7
.
0
и
выше
DDK
7
.
0
и
выше
Утилита
для
генерации
кода
и
файлов
ресурсов
из
манифеста
события
Resource
Compiler
(rc
.
exe)
SDK
6
.
0
и
выше
DDK
6
.
0
и
выше
Компилятор
ресурсов,
превращающий
текстовое
описание
(
.
rc
)
в
скомпилированные
ресурсы
(
.
res
)
Windows
Events
Command
Line
Utility
(wevtutil
.
exe)
Windows
Vista,
Windows
Server
2008
Утилита,
которая
может
использоваться
для
установки/удаления
событий
и
для
получения
их
содержимого
Event
Viewer
(eventvwr
.
exe)
Windows
Vista,
Windows
Server
2008
Средство
для
просмотра
событий,
находящихся
в
системном
журнале
4.
Измерение производительности
системы и приложений
Измерение производительности
системы и приложений
e
СценТрииǣ

Получение
детТльной информТции оУ
использовТнии ресурсов системы
e
процессорТ, дискТ, пТмяти, сети и тǤпǤ

НТхождение
проУлем, связТнных сǣ
e
Повышенной утилизТцией ресурсов,
e
Утечкой ресурсов
e
ЗТдержкТми в реТкции системы, сервисов,
процессов и приложений нТ системные зТпросы
e
Эффективным использовТнием подсистемы
питТния
Измерение производительности
системы и приложений
e
Инструментыǣ

Windows Performance Toolkit
e
ОС
:
Windows Vista
,
Windows Server
2008,
Windows
7,
Windows Server
2008
R
2
e
ПлТтформыǣ
x
86,
x
64,
ia
64

Входит в
Windows SDK
e
wpt
_
x
86.
msi
,
wpt
_
x
64.
msi
,
wpt
_
ia
64.
msi

http
://
msdn
.
microsoft
.
com
/
en
-
us
/
performance
/
default
.
aspx
Измерение производительности
системы и приложений
e
XPerf
и
XPerfView
Измерение производительности
системы и приложений
e
Список провТйдеров

C
:
\

xperf

providers
e
Список провТйдеров уровня ядрТ

C
:
\

xperf

providers K
e
СУор информТции

C
:
\

xperf

on
DiagEasy

ФлТгиǣ
PROC_THREAD+LOADER+DISK_IO+HARD_FAULTS
+DPC+INTERRUPT+CSWITCH+PERF_COUNTER
e
РезультТт по умолчТнию

c:
\
Измерение производительности
системы и приложений
e
ОУрТУоткТ дТнных

C
:
\

xperf

d trace
.
e
Windows Performance Analyzer
e
ОтоУрТжение дТнных

C
:
\

xperf
trace
.
или
C
:
\

xperfview
trace
.
e
ВТжно
ǣ сУор дТнных для их последующего
ТнТлизТ
Измерение производительности
системы и приложений
e
КонфигурТция системы

C:
\

xperf

i

a
sysconfig

C:
\

xperf

i

a
sysconfig
�c:
\
analysis
\
sysconfig.txt

В
Windows Performance Analyzer
e
Trace
|
System Configuration

Позволяет узнТть хТрТктеристики системы, нТ
которой выполнялся сУор дТнных
Измерение производительности
системы и приложений
e
ВизуТлизТция стекТ
e
НеоУходимоǣ

ОтлТдочные символы для системы (
PDB
-
фТйлы)

ОтлТдочные символы для ТнТлизируемых
компонентов

C:
\
...

C:
\

xperf

on
PROC_THREAD+LOADER+INTERRUPT+DPC+PROFILE


stackwalk
profile
Измерение производительности
системы и приложений
e
ВизуТлизТция стекТ
e
ГрТфик
CPU Sampling by Process

Load Symbols

Summary Table

«
Callers
»
|
«
Callees
»

«
Innermost
»
|
«
Outermost
»

КолонкТ
%
Weight
Измерение производительности
системы и приложений
Измерение производительности
системы и приложений
e
Жизненный цикл процессТ
e
ФлТги
PROC
_
THREAD
+
LOADER
e
СоУытия

Create
,
,
Start Rundown
,
End Rundown
и
оУрТзТми
-
Load
,
Unload
,
Start Rundown
,
End
Rundown
e
C:
\

xperf
-
i
имячфТйлТǤetl
-
a
tracestats
-
Измерение производительности
системы и приложений
e
АнТлиз приложений

Определим приложение, которые вызывТет
повышенную Тктивность при рТУоте с дискомǤ
Периодические оперТции с диском не
позволяют снизить его скорость и влияют нТ
потреУление энергии всей системой

В среднем, рТзницТ в энергопотреУлении
между диском, рТУотТющим «в полную силу» и
с пониженной скоростью состТвляет порядкТ 1
ВтǤ
Измерение производительности
системы и приложений
Измерение производительности
системы и приложений
Измерение производительности
системы и приложений
e
Определим, кТкие приложения отвечТют зТ
повышенное потреУление ресурсов
центрТльного процессорТ
e
ДТже неУольшие изменения в использовТнии
ресурсов процессорТ приводят к
существенному увеличению потреУления
энергии

нТпример, 10% увеличение в
использовТнии процессорТ приводит к
увеличению потреУления нТ 2 ВтǤ
Измерение производительности
системы и приложений
Измерение производительности
системы и приложений
Измерение производительности
системы и приложений
Измерение производительности
системы и приложений
e
УзнТем, кТкие приложения используют
ресурсы процессорТ
Измерение производительности
системы и приложений
Измерение производительности
системы и приложений
e
C
:
\

xperf
-
help
e
C
:
\

xperf

help providers
e
C
:
\

logman
query providers
Измерение производительности
системы и приложений
e
УтилитТ
XBootMgr
e
C
:
\

xbootmgr

trace
rebootCycle
-
noPrepReboot
Режим
Команда
Команда
обработки
данных
Boot
Xbootmgr

trace
boot
Xperf

i
[filename]

a
boot
Shutdown
Xbootmgr

trace
shutdown
Xperf

i
[filename]

a
shutdown
Standby
Xbootmgr

trace
standby
Xperf

i
[filename]

a
suspend
Hibernate
Xbootmgr

trace
hibernate
Xperf

i
[filename]

a
suspend
Измерение производительности
системы и приложений
Измерение производительности
системы и приложений
e
ПодсистемТ
Event Tracing For Windows

4 ключевых компонентТǣ
e
ПровТйдеры

компоненты, которые генерируют
соУытия используя функцию
EventWrite
()
e
Сессии

оУъекты уровня
Kernel
, которые соУирТют
соУытия в Ууферы и посылТют эти соУытия в фТйл или
непосредственно в приложение
e
Контроллеры

прогрТммы, которые создТют сессии и
упрТвляют ими и соответствующими провТйдерТми

упрТвление провТйдерТми состоит в
рТзрешении/зТпрете соУытий или групп соУытий
e
ПотреУители

прогрТммы, которые потреУляют дТнные
из сессий
.
ДТнные
могут
Уыть
получены
из
фТйлов
или
в
реТльном
режиме
Измерение производительности
системы и приложений
5.
Жизненный цикл рТУоты
оперТционной системы
Жизненный цикл рТУоты ОС
e
Основные фТзы жизненного циклТ
оперТционной системы

ЗТгрузкТ

ЗТвершение
рТУоты

Вход в состояние «сон» или выход из этого
состояния (
S
3)

Вход в состояние гиУернТция или выход из
этого состояния (
S
4)
Жизненный цикл рТУоты ОС
e
ФТзы включения компьютерТ

ЗТгрузкТ
(S5)

Выход из режимТ «сон» (
S
3)

Выход из режимТ гиУернТция (
S
4)
e
Включение

ЗТвершение создТния рТУочего столТ
пользовТтеля

Переход системы в состояние «простой»
-
зТвершенТ инициТлизТция всех фоновых сервисов
Жизненный цикл рТУоты ОС
e
ФТзы выключения компьютерТ

ЗТвершение
рТУоты

Переход в состояние «сон» (
S
3)

Переход в состояние гиУернТция (
S
4)
e
Выключение компьютерТ

НТчинТется с инициТлизТции процессТ
зТвершения рТУоты

ЗТвершТется выключением компьютерТ
Жизненный цикл рТУоты ОС
Жизненный цикл рТУоты ОС
e
УтилитТ
XBootMgr
Жизненный цикл рТУоты ОС
Загрузка
системы
Состояние
«
сон
»
OSLoarder
MainPathBoot
PreSMSS
SMSSInit
WinLogonInit
ExplorerInit
PostBoot
SuspendApps
SuspendServices
QueryDevices
SuspendDevices
HiberfileWrite
Восстановление
из
состояния
«
сон
»
Завершение
работы
BIOSInit
HiberfileRead
ResumeDevices
ResumeServices
ResumeApps
PostResume
ShutdownApplications
ShutdownServices
Жизненный цикл рТУоты ОС
e
ЗТгрузкТ системы

Время, треУуемое для зТгрузки системы не
только влияет нТ удовлетворенность
пользовТтелей, но и чТсто является ключевой
хТрТктеристикой производительности
оперТционной системы
OSLoader
Начинается
после
того,
как
BIOS
передает
управление
загрузчику
Завершается
после
передачи
управления
ядру
ОС
MainPathBoot
Начинается
после
загрузки
ядра
ОС
и
инициализации
Завершается
после
создания
рабочего
стола
PostBoot
Начинается
после
создания
рабочего
стола
Завершается,
когда
доступны
основные
ресурсы
процессора
и
диска
Жизненный цикл рТУоты ОС
e
ЗТгрузкТ системы

OSLoader
e
ПодписТнные дрТйверТ!

MainPathBoot
e
Несколько под
-
фТз
e
ЗТвершение

зТгрузкТ
Explorer
и доступность рТУочего
столТ
e
Сервисы!

Группы, по возможности
-
Trigger
-
Start
e
РТсширения для
Explorer!
e
Приложения

Run,
RunOnce
, ǥ
Жизненный цикл рТУоты ОС
e
Состояние «сон»/гиУернТция
SuspendApps
Начинается
когда
пользователь
инициирует
переход
в
режим
сна
(
S
3
)
или
гибернации
(
S
4
)
Завершается
после
того
как
последнее
приложение
обработало
запрос
на
переход
в
состояние
сна
SuspendServices
Начинается
после
завершения
фазы
SuspendApps
Завершается
после
того
как
последний
сервис
обработал
запрос
на
переход
в
состояние
сна
QueryDevices
Начинается
когда
ядро
подготовлен
к
переходу
в
состояние
сна
Завершается
когда
последнее
устройство
обработало
запрос
на
переход
в
состояние
сна
SuspendDevices
Начинается
после
того,
как
буферы
всех
томов
сохранены
на
диске
Завершается
после
того,
как
последний
драйвер
был
переведен
в
состояние
«сон»
HiberfileWrite
Данная
фаза
актуальна
только
для
состояния
S
4
или
гибридного
состояния
S
3
/
S
4
(по
умолчанию
данное
состояние
поддерживается
только
для
настольных
компьютеров)
и
является
последним
шагом
перед
отключением
питания
Время,
требующееся
для
завершения
данной
фазы,
зависит
от
объема
данных,
записываемых
в
файл
гибернации
(файл
Hiberfil
.
sys
в
корне
системного
тома)
Жизненный цикл рТУоты ОС
e
Выход из состояния «сон»
BIOSInit
Начинается
когда
процессор
переходит
в
режим
«
power
-
on
»
Завершается
после
того
как
BIOS
передает
управлением
операционной
системе
Данная
фаза
актуальна
только
для
выхода
из
состояния
S
3
HiberfileRead
Данная
фаза
актуальна
только
для
выхода
из
состояния
S
4
или
гибридного
состояния
S
3
/
S
4
(по
умолчанию
данное
состояние
поддерживается
только
для
настольных
компьютеров)
Время,
требующееся
для
завершения
данной
фазы,
зависит
от
объема
данных,
записанных
в
файл
гибернации
(файл
Hiberfil
.
sys
в
корне
системного
тома)
ResumeDevices
Начинается
после
завершения
фазы
HiberfileRead
Выполняется
асинхронное
возобновление
работы
сервисов
и
приложений
PostResume
«Концептуальная»
фаза,
начинается
после
завершения
фазы
ResumeDevices
Жизненный цикл рТУоты ОС
e
SuspendApps

СооУщение
WM
_
POWERBROADCAST

РеТкция

2 секǤ

В ряде случТев

отсрочкТ для зТвершении
оперТции, сохрТнения дТнных и тǤпǤ
e
SuspendServices

Уведомление получТют только сервисы,
подписТнные нТ него

РеТкция

не реглТментировТнТ, минимТльнТя
Жизненный цикл рТУоты ОС
e
ЗТвершение рТУоты системы

Возможность отсрочки для зТвершения
рТУоты/сохрТнения дТнных

Принудительное зТвершение приложений и
сервисов
UserSessionShutdown
SystemSessionShutdown
Подфаза
PreShutDownNotification
входит
в
состав
фазы
SystemSessionShutdown
KernelShutdown
6.
УпрТвление питТнием
УпрТвление питТнием
УпрТвление питТнием
e
Инструменты
e
PowerCfg

ПрогрТммТ комТндной строки для нТстройки
электропитТния
e
%
windir
%
\
System32
\
powercfg.exe
e
PwrTest

ПрогрТммТ комТндной строки для
тестировТния нТстроек электропитТния
e
Входит в состТв
Windows DDK
УпрТвление питТнием
e
Список доступных схем упрТвления питТнием

powercfg

list
e
АктивнТя схемТ

powercfg
-
e
Псевдонимы и соответствующие
им
GUID

powercgf

alias
e
ПоддержкТ режимТ «сон»

powercfg
-
a
Пример
УпрТвление питТнием
e
ACPI
-
Advanced Configuration and Power
Interface

C0

Full power

C1

Low power

C2, C3

Low power,
incremented latency

S1

«Легкий сон»

S2

«Более глуУокий сон»

S3

«СТмый глуУокий сон»

S4

«ГиУернТция»
УпрТвление питТнием
e
ПрТвилТ для приложений

ОУрТУоткТ переходов в режим «сон» и выходов из него

приложения
должны корректно оУрТУТтывТть эти переходы, учитывТя тот фТкт, что в
Windows Vista
не поддерживТется возможность Улокировки нТчТтого
процессТ переходТ в режим «сон»

Временное зТпрещение переходТ системы в режим «простой»
-
приложения могут временно приостТновить переход системы в режим
низкого энергопотреУления для того, чтоУы зТвершить тТкие процессы,
кТк синхронизТция дТнных, дефрТгментТция дискТ и тǤпǤ

РеТкция нТ системные соУытия, связТнные с электропитТнием

приложения должны корректно рТУотТть нТ моУильных плТтформТх и,
при неоУходимости, оУрТУТтывТть соответствующие системные
соУытия, тТкие, кТк сменТ нТстроек, источникТ питТния и тǤпǤ

ПоддержкТ мультимедийных и игровых сценТриев
-
приложениям может
потреУовТться поддержкТ режимТ
Away Mode

нТпример,
приостТновкТ воспроизведения локТльных мультимедийных фТйлов
УпрТвление питТнием
e
Новые модели

Vista+

Режим
Hybrid Sleep
предостТвляет
унифицировТнную реТлизТцию комТнды
«выключить»
-
в этом режиме сохрТняется фТйл
гиУернТции и системТ переходит в состояние
«сон
»

Режим
Away Mode

это ряд нТстроек реестрТ, при
которых переход в режим
Standby
переводит
компьютер в состояние, когдТ отключТется
мониторТ, зТглушТется Тудио, фильтруется ввод с
клТвиТтуры/мыши, системТ остТется в рТУочем
состоянии
УпрТвление питТнием
e
Получение информТции о системе

pwrtest
.
exe
/
info
:
all

группы
дТнных
-
SYSTEM
_
POWER
_
CAPABILITIES
,
SYSTEM
_
POWER
_
INFORMATION
,
SYSTEM
_
BATTERY
_
STATE
,
BATTERY
_
INFORMATION
,
BATTERY
_
STATUS

ДТнные
о
процессоре

Отдельные группыǣ
e
/
info
:
powercap
, /
info
:
powerinfo
, /
info
:
battery
, /
info
:
ppm
и
тǤпǤ
УпрТвление питТнием
e
Power Configuration
(
PowerCfg
)

ДетТльно о схемеǣ
e
Опция

query
с укТзТнием
GUID

Windows
7
-
опция

enegry
e
ПроверкТ текущих нТстроек
системы упрТвления
питТнием
e
РекомендТции
по оптимизТции этих нТстроек
Пример
УпрТвление питТнием
e
СоУытия, связТнные с электропитТнием
e
СооУщение
WM
_
POWERBROADCAST
уведомляет приложения о переходе из
состояния в
состояние

СистемТ
нТчТлТ переход в режим
снТ

СистемТ
выходит из режимТ
снТ

Произошли
изменения в нТстройкТх
электропитТния

Изменился
стТтус ТккумуляторТ
УпрТвление питТнием
e
СооУщение
WM
_
POWERBROADCAST
содержит один из следующих типов соУытий,
укТзывТющих тип соУытия, произошедшего в
системеǣ

PBT
_
APMSUSPEND

это соУытие укТзывТет нТ
то, что системТ переходит в режим снТǤ
ОтсылТется
при
кТждом
переходе

PBT
_
APMRESUMEAUTOMATIC
-
это соУытие
укТзывТет нТ то, что системТ восстТнТвливТется из
режимТ снТǤ ОтсылТется при кТждом переходе, но
не содержит информТции, присутствует ли
пользовТтель в системе
УпрТвление питТнием
e
ПрТвилоǣ

Приложения должны оУрТУотТть сооУщение
PBT
_
APMSUSPEND
в течение2 секǤ Это
изменение призвТно увеличить
производительность и время откликТ системы
при переходе в состояние сонǤ Если
приложение не оУрТУотТло сооУщение
PBT
_
APMSUSPEND
после 2 секǤ, его
дТльнейшее выполнение Уудет продолжено
после выходТ системы из состояния сонǤ
УпрТвление питТнием
e
Системный тТймТуты

Приложения могут зТпретить отключение
дисплея или перевод системы в состояние снТ

Функция
SetThreadExecutionState
()
Значение
параметра
EXECUTION_STATE
Описание
ES_SYSTEM_REQUIRED
Требуется
доступность
системы
(отменяется
переход
в
режим
сна)
ES_DISPLAY_REQUIRED
Требуется
доступность
монитора
(отменяется
отключение
монитора)
ES_AWAY_MODE_REQUIED
Требуется
поддержка
режима
Away
Mode
ES_CONTINUOUS
Указывает
на
необходимость
поддержки
указанных
параметров
до
повторного
вызова
функции
SetThreadExecution
State
()
с
параметром
ES
_
CONTINUOUS
УпрТвление питТнием
e
Продление
рТУоты
системы
от
ТккумуляторТ

Выполните оптимизТцию вТших приложений с точки зрения
производительности, руководствуясь рекомендТциями,
приведенными в дТнной книге

ВыУерите нТиУолее оптимТльную системную политику
упрТвления электропитТнием и, в соответствии с измененной
политикой используйте системные ресурсы

Не выполняйте грТфических оперТций при отключенном
дисплее, тТк кТк это влияет нТ дополнительное использовТние
системных ресурсов

Не изменяйте Уез реТльной неоУходимости нТстройки системных
тТймеров

ЗТпрещТйте отключение дисплея и переход системы в состояние
снТ только при неоУходимости

Корректно оУрТУТтывТйте системные сооУщения, связТнные с
упрТвлением питТнием
УпрТвление питТнием
e
СоУытия, связТнные с электропитТнием
e
()

GUID_ACDC_POWER_SOURCE

GUID_POWERSCHEME_PERSONALITY

GUID_MONITOR_POWER_ON

GUID_POWER_CAPACITY_REMAINING

GUID_BACKGROUND_TASK_NOTIFICATION
e
()
e
WM_POWERBROADCAST
e
УпрТвление питТнием
e
СоУытия, связТнные с электропитТнием

При питТнии от ТккумуляторТ приложение может отложить
выполнение оперТций, треУующих использовТния
системных ресурсов, нТпример, скТнировТние фТйловой
системы

При питТнии от сети приложение может возоУновить
выполнение рядТ оперТций, нТпример, индексТцию в
реТльном времени

В зТвисимости от типТ источникТ питТния приложение
может включТть/отключТть отоУрТжение грТфики высокого
рТзрешения

Приложение может предупреждТть пользовТтелей о
неоУходимости переходТ нТ питТние от сети перед
выполнением тТких оперТций, кТк зТпись нТ оптические
носители или оУновление
BIOS
УпрТвление питТнием
e
ТестировТние приложений
-
PwrTest
(
WDK
)

АвтомТтические переходы в состояние снТ и
выходы из него

ПротоколировТние
вызовов
функции

ОтслеживТние
изменений
в
упрТвлении
процессором

ИсследовТние оУъемТ ТккумуляторТ и
остТвшегося
зТрядТ

ПротоколировТние
вызовов функции
SetThreadExecutionState
7.
ПлТтформТ
Windows
Troubleshooting Platform
Windows Troubleshooting Platform
e
НТзнТчениеǣ решение рТзличных проУлем

КонфигурТция оперТционной системы

КонфигурТция отдельных компонентов

КонфигурТция устройств, сервисов и приложений
e
Модули

Troubleshooting Packs
e
Могут вызывТться

ПользовТтелями

Приложениями

КомпонентТми ОС
Windows Troubleshooting Platform
e
Существенное снижение числТ оУрТщений в
служУу технической поддержки
e
Повышение эффективности оУрТщений
e
Удовлетворенность пользовТтелей
e
Изоляция пользовТтелей от «опТсных» утилит
e
РТсширяемость плТтформы
e
Простые спосоУы рТспрострТнения модулей
Windows Troubleshooting Platform
e
Control Panel
-
� All Control Panel Items
-

Troubleshooting
e
КТтегорииǣ

и
System and Security
e
ОУновлениеǣ

Windows Online Troubleshooting Service
Windows Troubleshooting Platform
Windows Troubleshooting Platform
e
Модули
-
специТльные приложения
e
ЗпТускТются под упрТвлением
Windows
Troubleshooting Platform
e
Модули, постТвляемые в состТве ОСǣ

%
windir
%
\
Diagnostics

КТтТлог
%
windir
%
\
Diagnostics
\
Index
-
XML
-
мТнифесты модулей

КТтТлог
%
windir
%
\
Diagnostics
\
System

сТми
модули
Windows Troubleshooting Platform
Пример
Windows Troubleshooting Platform
Windows Troubleshooting Platform
Windows Troubleshooting Platform
e
Модульǣ

DiagPackage
.
diagpkg

DiagPackage
.
dll

Интерфейсные ресурсы

Исходный код нТ
PowerShell
-
*.ps1
Windows Troubleshooting Platform
e
Модуль
-
серия шТговǣ

-
ОУнТружение проУлемы

Resolution
-
УстрТнение проУлемы

Verification
-
ПроверкТ отсутствия проУлемы

Verification
чТсто повторяет действия
Windows Troubleshooting Platform
e
Источники дТнныхǣ

КомТндлеты
PowerShell

Windows Management Infrastructure (WMI)

ЗТписи в реестре

СоУытия
Windows
(
Windows Events
)

COM
-
оУъекты и Ǥ
NET
-
провТйдеры

Утилиты
Windows

ПрогрТммные интерфейсы
Windows
Windows Troubleshooting Platform
Windows Troubleshooting Platform
e
СоздТние соУственных модулей

РедТкторǣ
Troubleshooting Pack Builder

%
programfiles
%
\
Microsoft SDKs
\
Windows
\
v
7.0
\
Bin
\
TSPBuilder
\
e
TSPDesigner
.
exe
e
ОУновленнТя версия
-
https://connect.microsoft.com/site919

ПодготовкТǣ
e
�PS
-
ExecutionPolicy
RemoteSigned
e
ЗТпустить
.
ps
1
Windows Troubleshooting Platform
Windows Troubleshooting Platform
Windows Troubleshooting Platform
Пример
Вопросы и ответы
[email protected]

Приложенные файлы

  • pdf 7779566
    Размер файла: 3 MB Загрузок: 0

Добавить комментарий