ОС реального времени QNX

Содержание

Слайд 2

ОСРВ QNX

ОСРВ QNX

Слайд 3

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

Windows CE, Palm OS

Windows NT/2000/XP , UNIX,

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

Embedded Linux

AIX, Windows NT/2000/XP с расширениями реального времени

VxWorks, pSOS, OS-9

HP-RT

Слайд 4

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

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

Слайд 5

Микроядерная архитектура

Исполнямый модуль реального времени (напр. VxWorks)

Монолитное ядро (напр. Linux)

Микроядро (напр. QNX Neutrino)

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

Слайд 6

Микроядерная архитектура

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

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

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

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

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

?

?

?

?

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

?

?

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

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

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

Слайд 7

Межзадачное взаимодействие (IPC)

Приложение

Задачи общаются посредством сообщений

… и другие вызовы POSIX
realtime signals
pipes and

Межзадачное взаимодействие (IPC) Приложение Задачи общаются посредством сообщений … и другие вызовы
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. Сбой драйвера из-за некорректного обращения с памятью

2. Ядро уведомляет

Critical Process Monitor Microkernel 1. Сбой драйвера из-за некорректного обращения с памятью
CPM об ошибке

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

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

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

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

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

Shared Memory State Information

Слайд 11

QNX как встраиваемая и масштабируемая ОС

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

QNX как встраиваемая и масштабируемая ОС Компактность и неприхотливость умещается в 2Мб
2Мб флэш-памяти
не требует мощного процессора

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

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

Слайд 12

QNX как платформенная ОС: поддержка POSIX

POSIX.1 (IEEE 1003.1) – базовый API

QNX как платформенная ОС: поддержка POSIX POSIX.1 (IEEE 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, MIPS, SH-4, ARM/StrongARM/Xscale и

QNX и целевая аппаратура Целевые процессоры QNX поддерживает x86, PowerPC, MIPS, SH-4,
их производные
Пакеты поддержки процессорных плат (BSP)
BSP в исходных текстах для QNX Momentics
BSP от производителей оборудования
Стартовые комплекты
содержат все необходимое, чтобы сразу приступить к делу

Слайд 15

Adaptive Partitioning

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

Adaptive Partitioning Что такое Адаптивная Декомпозиция? Новый продукт QNX, расширяющий ОСРВ QNX
создавать безопасные разделы или «партиции» из множества приложения или потоков
Разделам гарантируется определенная часть ресурсов 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 for partitions at full
system

Максимизация производительности File System Networking Core Application Core Application QNX Neutrino Microkernel
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 Kit единственная в отрасли

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

Слайд 21

Многопроцессорная модель

2 ядра, 2 ОС
Одна и та же или разные ОС
QNX, Linux,

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

Asymmetric

Symmetric

2 ядра, одна ОС
QNX, Linux

Single OS Instance

Слайд 22

Asymmetric

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

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

Слайд 23

Symmetric

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

Symmetric Symmetric 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

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

QNX Bound Multiprocessing Лучшее из обоих моделей Простота перехода на 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 Multiprocessing CPU CPU System Interconnect Cache Cache I/O I/O Memory
симметричной и ассиметричной моделей
Поддерживает существующие и оптимизированные для multi-core приложения
Разработчик имеет полный контроль над приложениями
Балансировка нагрзки
Как автоматическая на уровне ОС, так и настраиваемая разработчиком
Инструментарий для оптимизации балансировки нагрузки
Высокая производительность
Обмен сообщениями и синхронизация потоков на уровне ядра ОС

Слайд 27

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

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

Слайд 28

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

Написание кода

Трансляция

Отладка

Оптимизация

Система управления версиями

Менеджер исходных текстов

Текстовый редактор

Визуальный редактор

Генератор кода

Компилятор

Интерпретатор

Компоновщик

Виртуальная машина

Отладчик

Средства диагностики

Профайлер

Средства верификации

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

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

Слайд 29

Вкратце о QN X Momentics

Плагины "третьих" сторон

ИнструментыIDE

Другие инструменты

Вкратце о QN X Momentics Плагины "третьих" сторон ИнструментыIDE Другие инструменты

Слайд 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.1 QNX поддерживает оптимизированный компилятор 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: отчет о покрытии кода

Генератор отчетов:
Отчеты в формате HTML для

QNX IDE: отчет о покрытии кода Генератор отчетов: Отчеты в формате HTML
дальнейшего анализа, по каждой сессии
Статистика для контроля качества

Слайд 40

Диагностическая версия ядра

Microkernel

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

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

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

Прерывания

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

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

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

События

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

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

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

E1

E2

E3

E4

E5

E6

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

Сбор данных

Файл

Сеть

Слайд 41

QNX IDE: системный профайлер

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

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

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

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

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

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

Слайд 42

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

Разбиение активности CPU по элементам трассировки

% активности CPU

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

Слайд 43

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

Дерево файлов

"Мастер" построения

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

Слайд 44

Поддержка русского языка в QNX

SWD Cyrillic Pack для QNX6 – полная русификация,

Поддержка русского языка в QNX SWD Cyrillic Pack для 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 Модульность Распределенные вычисления
поддержки

Генеральный директор / Владелец продукта

Тестирование/ интеграция

Слайд 52

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

QNX и рынок специалистов
Имя файла: ОС-реального-времени-QNX.pptx
Количество просмотров: 458
Количество скачиваний: 5