Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему ОС реального времени QNX и интегрированный комплект разработчика QNX Momentics

Содержание

ОСРВ QNX
ОС реального времени QNX и интегрированный комплект разработчика QNX MomenticsАлександр ТрофимовSWD Software Ltd. ОСРВ QNX Чем QNX отличается от других ОС?Windows CE, Palm OSWindows NT/2000/XP , UNIX, QNX как ОС жесткого реального времени Микроядерная архитектураИсполнямый модуль реального времени (напр. VxWorks)Монолитное ядро (напр. Linux)Микроядро (напр. QNX Neutrino) Микроядерная архитектураИсполнямый модуль реального времени Защиты памяти нетПриложения, драйверы  и протоколы Межзадачное взаимодействие (IPC)ПриложениеЗадачи общаются посредством сообщений… и другие вызовы POSIXrealtime signalspipes and Прозрачные распределенные вычисленияПриложения/серверы могут быть распределенными без какого-либо специального кода  Очереди CPM: восстановление после сбоевОснова системы высокой готовности – Монитор Ключевых Процессов (CPM). Critical Process MonitorMicrokernel1. Сбой драйвера из-за некорректного обращения с памятью2. Ядро уведомляет QNX как встраиваемая и масштабируемая ОСКомпактность и неприхотливостьумещается в 2Мб ОЗУ и QNX как платформенная ОС: поддержка POSIX POSIX.1 (IEEE 1003.1) – базовый API QNX как платформенная ОС: «а что под нее есть?» QNX и целевая аппаратураЦелевые процессорыQNX поддерживает x86, PowerPC, MIPS, SH-4, ARM/StrongARM/Xscale и Adaptive PartitioningЧто такое Адаптивная Декомпозиция?Новый продукт QNX, расширяющий ОСРВ QNX NeutrinoПозволяет разработчикам Зачем нужна Adaptive Partitioning?Основанное на приоритетах вытесняющее планирование может гарантировать выполнение приоритетных Максимизация производительностиFile SystemNetworkingCore ApplicationCoreApplicationQNX NeutrinoMicrokernelAdd-OnAdd-OnDevice DriversCoreApplicationCPU UtilizationCPU guarantees for partitions at fullsystem БезопасностьПочти все встраиваемые устройства подключены к сетиНенадежные сетевые интерфейсы и угрозыНедоверенное add-on БезопасностьСоздайте разделы для защиты критичных системных ресурсовГарантия ресурсов CPU для базовых функцийНаследование QNX Neutrino Multi-Core TDKQNX Neutrino Multi-core Technology Development Kit единственная в отрасли Многопроцессорная модель2 ядра, 2 ОСОдна и та же или разные ОСQNX, Linux, AsymmetricAsymmetric Model – «ЗА»: Единственный возможный вариант запускать различные ОСCPU может быть SymmetricSymmetric Model – «ЗА»:Хорошо масштабируется. Безшовная поддержка многоядерности без модификации кодаОдна ОС QNX Bound MultiprocessingЛучшее из обоих моделейОС работает в симметричном режиме с возможностью QNX Bound MultiprocessingЛучшее из обоих моделейПростота перехода на multi-coreОбычное приложение будет работать QNX Bound MultiprocessingCPUCPUSystemInterconnectCacheCacheI/OI/OMemoryControllerI/OMemoryOSA2A1A5A3A4Лучшее из обоих моделейBound Multiprocessing собирает в себе лучшее из Комплект разработчика QNX Momentics QNX - это мощная инструментальная платформаНаписание кодаТрансляцияОтладкаОптимизацияСистема управления версиямиМенеджер исходных текстовТекстовый редакторВизуальный Вкратце о QN X MomenticsПлагины  Плагины MomenticsАнализатор ОЗУОбнаружение двойного освобождения, использование нераспределенных блоков, переполнения и утечки памятиУничтожение/блокирование/отладка/ Компилятор GCC v3.3.1QNX поддерживает оптимизированный компилятор GCC v3.3.1, обеспечивая совместимость с последними QNX IDE: разработчик кода C/C++Список идентифика-торов позволяет перейти к любой точке в QNX IDE: символьный отладчик + анализатор ОЗУПерейдите к любой точке исходного текстаНаведите QNX IDE: монитор целевых системПросмотр окружения для каждого процессаИспользо-вание процессора и QNX IDE: удобный профилировщик кодаСортировка результатов по общему времени, процентной доле от QNX IDE: анализатор ОЗУПросмотр динамики изменений в использовании памятиОтслежива-ние операций распределе-ния памятиПросмотр QNX IDE: анализатор покрытия кодаОпределяет используемые ветви кодаУказывает разработчикам, каким участкам кода QNX IDE: анализатор покрытия кодаПросмотр сессии: QNX IDE: отчет о покрытии кодаГенератор отчетов: Отчеты в формате HTML для Диагностическая версия ядраMicrokernelДиагностическая версия ядра ведет журнал событий, фильтрует их и сохраняет QNX IDE: системный профайлерНовое окно статистики Табличное представление Статистические выборки Активность владельцев Системный профайлер:  представление QNX IDE: построитель встраиваемых конфигурацийДерево файлов Поддержка русского языка в QNXSWD Cyrillic Pack для QNX6 –  полная QNX помогает экономитьQNX как средство сокращения срока разработки и времени выведения на Жизненный цикл продуктаЭтап презентацииЭтап ростаЭтап зрелостиЭтап спадаВремяОбъем продажЭтап разработкиЧем короче,  тем Как ОС может сократить TTM?Разработка оборудованияРазработка ПОИнтеграция АО и ПООсвоение инструментарияРазработка оборудованияРазработка QNX как средство сокращения TTM Из чего складывается TCOСтоимость инструментарияСтоимость обученияРесурсы на разработку (время, персонал, рабочие места, QNX как средство сокращения TCO Небольшое резюмеИсследования/ разработкаВнедрение/ поддержкаЗащита памятиSMPМодульностьРаспределенные вычисленияPOSIX- совместимостьНе надо  QNX и рынок специалистов Вопросы?SWD Software Ltd.Официальный дистрибьютор QNX196135, Санкт-Петербург,  пр. Юрия Гагарина 23тел.: (812)
Слайды презентации

Слайд 2 ОСРВ QNX

ОСРВ QNX

Слайд 3 Чем QNX отличается от других ОС?



Windows CE, Palm

Чем QNX отличается от других ОС?Windows CE, Palm OSWindows NT/2000/XP ,

OS
Windows NT/2000/XP , UNIX, Linux
Embedded Linux
AIX, Windows NT/2000/XP с

расширениями реального времени

VxWorks, pSOS, OS-9

HP-RT


Слайд 4 QNX как ОС жесткого реального времени

QNX как ОС жесткого реального времени

Слайд 5 Микроядерная архитектура
Исполнямый модуль реального времени (напр. VxWorks)
Монолитное ядро (напр. Linux)
Микроядро (напр. QNX

Микроядерная архитектураИсполнямый модуль реального времени (напр. VxWorks)Монолитное ядро (напр. Linux)Микроядро (напр. QNX Neutrino)

Neutrino)


Слайд 6 Микроядерная архитектура
Исполнямый модуль реального времени
Защиты памяти нет
Приложения, драйверы

Микроядерная архитектураИсполнямый модуль реального времени Защиты памяти нетПриложения, драйверы и протоколы

и протоколы "живут" в пространстве ядра
Монолитное ядро
(NT / Unix

/ и т.п.)
MMU, частичная защита
Защищены только приложения

Микроядро
(QNX Neutrino)
MMU, полная защита
Защищены приложения, драйверы и протоколы

Общий отказ системы

?

?

?

?

Можно восстановить

?

?

Общий отказ системы

Можно восстановить

Можно восстановить


Слайд 7 Межзадачное взаимодействие (IPC)
Приложение
Задачи общаются посредством сообщений
… и другие

Межзадачное взаимодействие (IPC)ПриложениеЗадачи общаются посредством сообщений… и другие вызовы POSIXrealtime signalspipes

вызовы POSIX
realtime signals
pipes and POSIX mqueues
mutexs, condvars, semaphores
barriers, sleepon
reader/writer

locks

Служба имен

CPM

Администратор процессов

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

Протоколы

Хранение данных

Приложение

Микроядро


Шина обмена сообщениями

Использование сообщений органично "развязывает" задачи
Над сообщениями надстроены вызовы POSIX
fd = open(“/dev/tcpip”, ,,,)
read, write, stat, devctl, …
close


Слайд 8 Прозрачные распределенные вычисления



Приложения/серверы могут быть распределенными без какого-либо

Прозрачные распределенные вычисленияПриложения/серверы могут быть распределенными без какого-либо специального кода Очереди

специального кода
Очереди сообщений
Файловые системы
Сервисы
Базы

данных


Слайд 9 CPM: восстановление после сбоев
Основа системы высокой готовности –

CPM: восстановление после сбоевОснова системы высокой готовности – Монитор Ключевых Процессов

Монитор Ключевых Процессов (CPM). Выполняет мониторинг выбранных компонентов и

обеспечивает восстановление после сбоев
Процесс-охранник дублирует CPM
Клиентская библиотека позволяет компонентам незамедлительно и прозрачно восстанавливать все соединения
При обнаружении факта сбоя выполняется группа правил, определяющая способ восстановления
освободить ресурсы
перезапустить процесс
…и т.п.

Слайд 10 Critical Process Monitor
Microkernel


1. Сбой драйвера из-за некорректного обращения

Critical Process MonitorMicrokernel1. Сбой драйвера из-за некорректного обращения с памятью2. Ядро

с памятью
2. Ядро уведомляет CPM об ошибке
3. Сохраняется отладочная

информация о процессе (стандартный core файл)

4. Драйвер выгружается и возвращает ресурсы; уничтожается IPC канал

5. CPM перезапускает новый драйвер

6. Каналы IPC драйвера восстанавливаются клиентской библиотекой CPM

7. Драйвер запрашивает информацию у CPM о своем состоянии в последней контрольной точке и сервис восстанавливается


Shared Memory State Information


Слайд 11 QNX как встраиваемая и масштабируемая ОС
Компактность и неприхотливость
умещается

QNX как встраиваемая и масштабируемая ОСКомпактность и неприхотливостьумещается в 2Мб ОЗУ

в 2Мб ОЗУ и 2Мб флэш-памяти
не требует мощного

процессора

Модульная структура
гибко масштабируется
сохраняет ключевые свойства даже в минимальных конфигурациях

Простота адаптации к оборудованию
изящная открытая архитектура драйверов
множество примеров в исходных текстах


Слайд 12 QNX как платформенная ОС: поддержка POSIX
POSIX.1 (IEEE

QNX как платформенная ОС: поддержка POSIX POSIX.1 (IEEE 1003.1) – базовый

1003.1) – базовый API операционных систем
POSIX.1a (IEEE 1003.1a)

– некоторые расширения API
POSIX.2 (IEEE 1003.2) – набор утилит и командных интерпретаторов
POSIX.4 (IEEE 1003.1b) – расширения для поддержки реального времени
POSIX.4a (IEEE 1003.1c) – интерфейсы потоков, выполняющихся внутри POSIX-процессов
POSIX.1b (IEEE 1003.1d), IEEE 1003.1j – дополнительные расширения реального времени
POSIX.12 (IEEE 1003.1g) – независимый от протокола интерфейс сокетов

Слайд 13 QNX как платформенная ОС: «а что под нее

QNX как платформенная ОС: «а что под нее есть?»

есть?»


Слайд 14 QNX и целевая аппаратура
Целевые процессоры
QNX поддерживает x86, PowerPC,

QNX и целевая аппаратураЦелевые процессорыQNX поддерживает x86, PowerPC, MIPS, SH-4, ARM/StrongARM/Xscale

MIPS, SH-4, ARM/StrongARM/Xscale и их производные
Пакеты поддержки процессорных плат

(BSP)
BSP в исходных текстах для QNX Momentics
BSP от производителей оборудования
Стартовые комплекты
содержат все необходимое, чтобы сразу приступить к делу

Слайд 15 Adaptive Partitioning
Что такое Адаптивная Декомпозиция?
Новый продукт QNX, расширяющий

Adaptive PartitioningЧто такое Адаптивная Декомпозиция?Новый продукт QNX, расширяющий ОСРВ QNX NeutrinoПозволяет

ОСРВ QNX Neutrino
Позволяет разработчикам создавать безопасные разделы или «партиции»

из множества приложения или потоков
Разделам гарантируется определенная часть ресурсов CPU на основании простых в использовании бюджетов

Почему Адаптивная?
Запатентованная технология распределит все ресурсы CPU по разделам исходя из их потребностей – ресурсы CPU используются максимально эффективно
Обеспечивает максимальную производительность благодаря рациональному использованию ресурсов процессора, особенно в пиковых ситуациях

Простота использования
Не требуются изменения при проектировании
Та ж модель программирования POSIX, знакомый дизайн, техники программирования и отладки
Нет требуются изменения в коде для использования адаптивной декомпозиции

Слайд 16 Зачем нужна Adaptive Partitioning?
Основанное на приоритетах вытесняющее планирование

Зачем нужна Adaptive Partitioning?Основанное на приоритетах вытесняющее планирование может гарантировать выполнение

может гарантировать выполнение приоритетных задач в системах реального времени
Как

только задача готова к выполнению, она сразу же получает ресурсы процессора
С усложнением системы, множество задач борются за ресурсы CPU и становится сложно масштабировать схему приоритетов задач
Планирование на основе приоритетов не гарантирует то, что задача будет выполнена в случае, если готова к выполнению более приоритетная задача
Без гарантий времени CPU, низкоприоритетные задачи будут находится в состоянии дефицита процессорного времени
Это может привести к деградации и даже к общему сбою системы
Адаптивная декомпозиция гарантирует минимальное время CPU партициям для обеспечения корректного функционирования системы в периоды сильной загрузки CPU

Слайд 17 Максимизация производительности
File System
Networking
Core Application
Core
Application


QNX Neutrino
Microkernel
Add-On
Add-On
Device Drivers
Core
Application
CPU Utilization
CPU guarantees

Максимизация производительностиFile SystemNetworkingCore ApplicationCoreApplicationQNX NeutrinoMicrokernelAdd-OnAdd-OnDevice DriversCoreApplicationCPU UtilizationCPU guarantees for partitions at

for partitions at full
system load
Dynamic allocation of CPU cycles

when not fully loaded

No idle time

Idle time available

Partitions Enforced

Free time – use idle cycles

20%
Untrusted
Partition


Слайд 18 Безопасность
Почти все встраиваемые устройства подключены к сети
Ненадежные сетевые

БезопасностьПочти все встраиваемые устройства подключены к сетиНенадежные сетевые интерфейсы и угрозыНедоверенное

интерфейсы и угрозы
Недоверенное add-on программное обеспечение
Если превентивные меры не

включены в проект, доступность и безопасность устройств может быть скомпрометирована
Возможны атаки отказа в обслуживании (DOS), что отнимет у приложений ресурсы процессора
Нет необходимости проверять недоверенные приложения на предмет возможных атак
Распределенная DOS атака может загрузить систему обработкой сетевых событий

File System

Networking

Core Application

Core
Application

Add-On

Add-On

Device Drivers

Core
Application



Networking Stack hogging CPU time

Rogue add-on stealing CPU time


Слайд 19 Безопасность

Создайте разделы для защиты критичных системных ресурсов
Гарантия ресурсов

БезопасностьСоздайте разделы для защиты критичных системных ресурсовГарантия ресурсов CPU для базовых

CPU для базовых функций
Наследование партиций гарантирует время CPU всем

сервисам ОС (драйвера, файловые системы, сетевая система)
Защита основные приложений от угроз
Минимизация влияние вредоносного ПО
Защита от DOS атак

File System

Networking
Stack



QNX Neutrino
micro-kernel

Add-On

Add-On

Device Drivers






Remote
Monitoring

20%

5%

50%

25%

Network Attacked

Denial of Service Attack Contained

Adaptive Partitioning
CPU Time Guarantees

Rogue add-on
thwarted


Слайд 20 QNX Neutrino Multi-Core TDK
QNX Neutrino Multi-core Technology Development

QNX Neutrino Multi-Core TDKQNX Neutrino Multi-core Technology Development Kit единственная в

Kit единственная в отрасли полнофункциональная платформа для нового поколения

multi-core кристаллов
При помощи QNX Neutrino Multi-Core Technology Development Kit вы сможете:
Быстро перенести приложения для однопроцессорной архитектуры на любую многопроцессорную архитектуру, значительно сократив при этом время выхода на рынок ваших изделий
Быстро разработать надежные, высокопроизводительные продукты для последнего поколения multi-core процессоров
Сразу же создавать проекты с возможностью их дальнейшего расширения с dual-core на multi-core кристаллы

Слайд 21 Многопроцессорная модель
2 ядра, 2 ОС
Одна и та же

Многопроцессорная модель2 ядра, 2 ОСОдна и та же или разные ОСQNX,

или разные ОС
QNX, Linux, VxWorks, OSE, Integrity
Asymmetric
Symmetric
2 ядра, одна

ОС
QNX, Linux

Single OS Instance


Слайд 22 Asymmetric
Asymmetric Model – «ЗА»:
Единственный возможный вариант запускать различные

AsymmetricAsymmetric Model – «ЗА»: Единственный возможный вариант запускать различные ОСCPU может

ОС
CPU может быть назначен на обработку какой-либо задачи
Единственный вариант

для задач, которые нельзя распараллелить
Asymmetric Model – «ПРОТИВ»:
Разработчикам необходимо реализовывать распределение и арбитраж ресурсов
Никакая из ОС не управляет всеми ресурсами – память, ввод/вывод, прерывания общие
Синхронизация между ядрами реализуется сообщениями программного уровня – влияние на производительность
Добавление новых ядер может потребовать существенного изменения проекта

Слайд 23 Symmetric
Symmetric Model – «ЗА»:
Хорошо масштабируется. Безшовная поддержка многоядерности

SymmetricSymmetric Model – «ЗА»:Хорошо масштабируется. Безшовная поддержка многоядерности без модификации кодаОдна

без модификации кода
Одна ОС владеет и управляет всеми ресурсами,

их совместным использованием и арбитражем
Динамическая балансировка контролируется механизмом планированием потоков ОС
Высокая производительность взаимодействия ядер и потоков с использованием примитивов POSIX
Сбор статистики и информации на уровне всей системы с последующей оптимизацией производительности, отладкой и т.д.
Symmetric Model – «ПРОТИВ»:
Невозможность специально выделить определенный процессор задаче из-за динамической балансировки
Приложения с плохой синхронизацией потоков могут некорректно работать в многопроцессорной системе


CPU

CPU

System
Interconnect

Cache

Cache


I/O

I/O

Memory
Controller

I/O

Memory

OS

Applications


Слайд 24 QNX Bound Multiprocessing
Лучшее из обоих моделей
ОС работает в

QNX Bound MultiprocessingЛучшее из обоих моделейОС работает в симметричном режиме с

симметричном режиме с возможностью «привязать» приложения к конкретному ядру
Одна

ОС имеет полный контроль
Ресурсы распределятся ОС, что облегчает проектирование
Сбора информации и статистики на уровне всей системы для оптимизации производительности и отладки
Высокая производительности
Синхронизация приложения между ядрами с использованием примитивов POSIX
Высокая скорость обмена сообщениями сообщениями в пределах одного ядра

Легко расширяется для варианта с более чем двумя ядрами


Слайд 25 QNX Bound Multiprocessing
Лучшее из обоих моделей
Простота перехода на

QNX Bound MultiprocessingЛучшее из обоих моделейПростота перехода на multi-coreОбычное приложение будет

multi-core
Обычное приложение будет работать в multi-core варианте без каких-либо

модификаций
Нет необходимости проверять или переделывать существующий код для обработки вопросов параллельности
Приложения могут работать как полностью симметричном режиме так и в bound режиме на одной системе

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


Слайд 26 QNX Bound Multiprocessing

CPU
CPU
System
Interconnect
Cache
Cache

I/O
I/O
Memory
Controller
I/O
Memory
OS
A2
A1
A5
A3
A4
Лучшее из обоих моделей
Bound Multiprocessing собирает

QNX Bound MultiprocessingCPUCPUSystemInterconnectCacheCacheI/OI/OMemoryControllerI/OMemoryOSA2A1A5A3A4Лучшее из обоих моделейBound Multiprocessing собирает в себе лучшее

в себе лучшее из симметричной и ассиметричной моделей

Поддерживает существующие

и оптимизированные для multi-core приложения

Разработчик имеет полный контроль над приложениями

Балансировка нагрзки
Как автоматическая на уровне ОС, так и настраиваемая разработчиком
Инструментарий для оптимизации балансировки нагрузки

Высокая производительность
Обмен сообщениями и синхронизация потоков на уровне ядра ОС

Слайд 27 Комплект разработчика QNX Momentics

Комплект разработчика QNX Momentics

Слайд 28
QNX - это мощная инструментальная платформа

Написание кода
Трансляция
Отладка
Оптимизация
Система управления версиями
Менеджер исходных текстов
Текстовый редактор
Визуальный редактор
Генератор кода
Компилятор
Интерпретатор
Компоновщик
Виртуальная машина
Отладчик
Средства диагностики
Профайлер
Средства верификации

Цикл разработки

QNX - это мощная инструментальная платформаНаписание кодаТрансляцияОтладкаОптимизацияСистема управления версиямиМенеджер исходных текстовТекстовый

Слайд 29 Вкратце о QN X Momentics








Плагины "третьих" сторон
ИнструментыIDE
Другие инструменты

Вкратце о QN X MomenticsПлагины

Слайд 30 Плагины Momentics
Анализатор ОЗУ
Обнаружение двойного освобождения, использование нераспределенных блоков,

Плагины MomenticsАнализатор ОЗУОбнаружение двойного освобождения, использование нераспределенных блоков, переполнения и утечки

переполнения и утечки памяти
Уничтожение/блокирование/отладка/ игнорирование в случае ошибки
Системный профайлер
Программный "логический

анализатор"
Анализ событий, полученных от диагностической версии ядра
Построитель встраиваемых конфигураций
Определение зависимости модулей
Сокращение размеров библиотек
Photon Application Builder
Quickly create Photon apps
Drag and drop widgets

Разработчик кода
C, C++, Java
Удобные "мастера"
Подсветка синтаксиса, шаблоны кода
Символьный отладчик
Параллельная отладка нескольких приложений на C, C++, Java
Монитор целевых систем
Детальная информация о процессах и потоках
Профайлер приложений
Статистическое прфилирование
Подсчет вызовов и отслеживание пар вызовов с графическим представлением
Поддерживает разделяемые библиотеки


Слайд 31 Компилятор GCC v3.3.1
QNX поддерживает оптимизированный компилятор GCC v3.3.1,

Компилятор GCC v3.3.1QNX поддерживает оптимизированный компилятор GCC v3.3.1, обеспечивая совместимость с

обеспечивая совместимость с последними разработками сообщества GNU
Двойная реализация дает

разработчикам дополнительную возможность выбора
2.95.3 (по умолчанию): обратная совместимость (в т.ч. C++)
3.3.1: все преимущества новых функций
Совместимость с промышленными стандартами
Поддержка стандарта C99 (препроцессирование, проверка формата)
Поддержка стандарта ABI (Application Binary Interface) для C++
Улучшенные механизмы генерации кода
Улучшенные внутренние механизмы правления памятью
Оптимизация на основе профилей
Улучшенная производительность препроцессора
В среднем на 6-8% быстрее чем у v.2.95.3 
 Оптимизация для процессоров: PowerPC, ARM, SH4, x86, Pentium

Слайд 32 QNX IDE: разработчик кода C/C++
Список идентифика-торов позволяет перейти

QNX IDE: разработчик кода C/C++Список идентифика-торов позволяет перейти к любой точке

к любой точке в исходном тексте
Щелкните два раза, чтобы

построить проект для любой платформы

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

Закладки и задачи

Задание точек останова перед компиляцией

Идентификация ошибок и предупреждений компилятора с первого взгляда

Идентификация ключевых слов, синтаксиса и парных скобок с первого взгляда

Отслеживание всех ошибок и задач из единого списка


Слайд 33 QNX IDE: символьный отладчик + анализатор ОЗУ
Перейдите к

QNX IDE: символьный отладчик + анализатор ОЗУПерейдите к любой точке исходного

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

чтобы увидеть ее значение

Редактируйте исходный текст прямо из отладчика

Щелкните здесь, чтобы посмотреть точки останова, переменные, память, регистры, и т.п.

Щелкните два раза, чтобы задать точку останова

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

Используйте панель инструментов, чтобы запустить/остановить процесс или задать точку останова


Слайд 34 QNX IDE: монитор целевых систем
Просмотр окружения для каждого

QNX IDE: монитор целевых системПросмотр окружения для каждого процессаИспользо-вание процессора и

процесса
Использо-вание процессора и "кучи" процессами
Просмотр отношений блокирования
Сортировка и анализ

потоков по различным атрибутам

Использо-вание памяти конкретным процессом

Системная информация и использование памяти


Слайд 35 QNX IDE: удобный профилировщик кода
Сортировка результатов по общему

QNX IDE: удобный профилировщик кодаСортировка результатов по общему времени, процентной доле

времени, процентной доле от общего времени, числу вызовов и

т.п.

Определение строк кода, потребляющих наибольшее количество процессорноговремени

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

Определение наиболее загруженных потоков


Слайд 36 QNX IDE: анализатор ОЗУ
Просмотр динамики изменений в использовании

QNX IDE: анализатор ОЗУПросмотр динамики изменений в использовании памятиОтслежива-ние операций распределе-ния

памяти
Отслежива-ние операций распределе-ния памяти
Просмотр объема свободной и исполь-зуемой памяти

– как в общем, так и для конкретных диапазонов

Локализация переполнения буферов и запуск отладчика


Слайд 37 QNX IDE: анализатор покрытия кода
Определяет используемые ветви кода
Указывает

QNX IDE: анализатор покрытия кодаОпределяет используемые ветви кодаУказывает разработчикам, каким участкам

разработчикам, каким участкам кода уделять внимание для отладки и

анализа производительности

Упрощает контроль качества, оптимизацию, исправление ошибок и обслуживание
Методология контроля качества в военных, автомобильных и медицинских приложениях
Инструмент оптимизации в сетевых приложениях
Удобно для подразделений обслуживания и исправления ошибок, не участвовавших в разработке кода

Интегрированный поддерживаемый компонент, в отличие от компонентов "третьих" сторон, дает клиентам уверенность
QSS – единственный производитель, в IDE которого интегрирован инструментарий анализа покрытия кода

Слайд 38 QNX IDE: анализатор покрытия кода
Просмотр сессии: "живые" результаты

QNX IDE: анализатор покрытия кодаПросмотр сессии:

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

быстрая оценка

Интегрирован в IDE

Интегрирован с редактором кода: графическое представление покрытия непосредственно в исходном тексте


Слайд 39 QNX IDE: отчет о покрытии кода
Генератор отчетов:
Отчеты

QNX IDE: отчет о покрытии кодаГенератор отчетов: Отчеты в формате HTML

в формате HTML для дальнейшего анализа, по каждой сессии

Статистика для контроля качества

Слайд 40 Диагностическая версия ядра

Microkernel




Диагностическая версия ядра ведет журнал событий,

Диагностическая версия ядраMicrokernelДиагностическая версия ядра ведет журнал событий, фильтрует их и

фильтрует их и сохраняет в буферах, содержимое которых можно

сохранять и анализировать









Смена состояний

Прерывания


Создание процесса/потока




Системные вызовы

Системный профайлер

События

Фильтры "On/Off"

Статические фильтры событий

Пользовательские фильтры


E1

E2

E3

E4

E5

E6























Буферы событий

Сбор данных

Файл

Сеть


Слайд 41 QNX IDE: системный профайлер
Новое окно статистики
Табличное представление

QNX IDE: системный профайлерНовое окно статистики Табличное представление Статистические выборки Активность

Статистические выборки
Активность владельцев событий

Всплывающие подсказки
Дополнительные сведения (процессор,

PID)
Текстовые пояснения

Улучшенный интерфейс упрощает навигацию
Более прозрачен
Меньше элементов
Поддержка разбиения окон и прокрутки

А также…
Фильтры пост-обработки переработаны с учетом расширяемости

Изменение временного масштаба, выбор нужных процессов, создание нестандартных представлений


Слайд 42 Системный профайлер: представление "Активность CPU"
Разбиение активности CPU по

Системный профайлер: представление

элементам трассировки
% активности CPU от общего времени


Слайд 43 QNX IDE: построитель встраиваемых конфигураций
Дерево файлов
"Мастер" построения

QNX IDE: построитель встраиваемых конфигурацийДерево файлов

Слайд 44 Поддержка русского языка в QNX
SWD Cyrillic Pack для

Поддержка русского языка в QNXSWD Cyrillic Pack для QNX6 – полная русификация, включая текстовые консоли

QNX6 – полная русификация, включая текстовые консоли


Слайд 45 QNX помогает экономить
QNX как средство сокращения срока разработки

QNX помогает экономитьQNX как средство сокращения срока разработки и времени выведения

и времени выведения на рынок (TTM) нового продукта

QNX и

сокращение суммарной стоимости владения (TCO)

TCO = Total Cost of Ownership, "суммарная стоимость владения"

TTM = Time-To-Market, "время выхода на рынок"


Слайд 46 Жизненный цикл продукта
Этап презентации
Этап роста
Этап зрелости
Этап спада
Время
Объем продаж
Этап разработки


Чем

Жизненный цикл продуктаЭтап презентацииЭтап ростаЭтап зрелостиЭтап спадаВремяОбъем продажЭтап разработкиЧем короче, тем лучшеЧем длиннее, тем лучше

короче, тем лучше
Чем длиннее, тем лучше


Слайд 47 Как ОС может сократить TTM?
Разработка оборудования
Разработка ПО
Интеграция АО и ПО
Освоение инструментария
Разработка оборудования
Разработка ПО
Интеграция АО и

Как ОС может сократить TTM?Разработка оборудованияРазработка ПОИнтеграция АО и ПООсвоение инструментарияРазработка

ПО
Освоение инструментария

!

Инструментарий Методология Сервисы
Инструментарий Методология Встраиваемость Сервисы
Распараллеливание Макетные платы Сервисы
Инструментарий Методология Переносимый код Готовые решения Распараллеливание Сервисы
Выигрыш!
Разработка оборудования
Разработка ПО
Интеграция АО и ПО


Слайд 48 QNX как средство сокращения TTM

QNX как средство сокращения TTM

Слайд 49 Из чего складывается TCO
Стоимость инструментария
Стоимость обучения
Ресурсы на разработку

Из чего складывается TCOСтоимость инструментарияСтоимость обученияРесурсы на разработку (время, персонал, рабочие

(время, персонал, рабочие места, поддержка, консалтинг и т.п.)
Стоимость комплектующих

и сборки
Стоимость сопровождения

Цена продукта
Стоимость внедрения (монтаж, пусконаладка, обучение персонала)
Стоимость отказов (потери на простоях, ликвидация последствий и т.п.)
Стоимость обслуживания (поддержка, профилактика, ремонт, модернизация)


Слайд 50 QNX как средство сокращения TCO

QNX как средство сокращения TCO

Слайд 51 Небольшое резюме








Исследования/ разработка
Внедрение/ поддержка
Защита памяти
SMP
Модульность
Распределенные вычисления
POSIX-
совместимость
Не надо "пересобирать" ядро
Ранняя диагностика ошибок
Динамические

Небольшое резюмеИсследования/ разработкаВнедрение/ поддержкаЗащита памятиSMPМодульностьРаспределенные вычисленияPOSIX- совместимостьНе надо

апгрейды
Архитекторы Разработчики
Тестеры
Контроль качества
Сервисные инженеры
Инженеры поддержки
Генеральный директор / Владелец продукта
Тестирование/ интеграция


Слайд 52 QNX и рынок специалистов


QNX и рынок специалистов

  • Имя файла: os-realnogo-vremeni-qnx-i-integrirovannyy-komplekt-razrabotchika-qnx-momentics.pptx
  • Количество просмотров: 126
  • Количество скачиваний: 1