Смекни!
smekni.com

Общее описание операционных систем реального времени (стр. 4 из 7)

o визуальное сравнение версий;

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

Используя PhAB™, визуальное средство разработки приложений QNX Photon microGUI®, можно создавать полнофункциональные пользовательские интерфейсы с простотой щелчка мыши. Возможности PhAB™ включают в себя:

o готовые шаблоны PhAB;

o обширная палитра доступных элементов управления (виджетов);

o привязка к виджетам диалоговых окон или вызовов функций (предопределенные, по «горячей» клавише или по низкоуровневым событиям);

o полная поддержка со стороны интегрированной среды QNX Momentics;

o минимизация кода;

o многоязычная поддержка.

2.1.2 Рабочая станция

Системный профайлер позволяет разрешать конфликты синхронизации, определять ситуации взаимных блокировок, выявлять корни семантических ошибок, находить скрытые неполадки в программном и аппаратном обеспечении и оптимизировать производительность приложения, причём как для однопроцессорных, так и для многопроцессорных целевых систем. Характеристики системы могут быть проанализированы в реальном времени, в моменты возникновения событий. Удобный инструмент поиска позволяет проанализировать детали по каждому событию, включая время возникновения, владельца и тип. Системный профайлер может отображать огромные объёмы информации, включая информацию о вызовах ядра, аппаратных прерываниях, состоянии потоков, обмене сообщениями и событиях планировщика. Сложные комбинации условий могут быть отслежены благодаря развитой системе динамических фильтров, определяемых пользователем. В приложения могут быть встроены средства генерации специализированных сообщений для подсистемы трассировки, оказывающей упреждающее воздействие на процесс записи событий. Профайлер приложений предоставляет информацию об использовании процессорного времени каждым потоком и отображает её одновременно как в виде абсолютных значений, так и в виде процентной доли от общего времени с возможностью сортировки. Профайлер может анализировать динамически загружаемые разделяемые библиотеки, отвечая тем самым на вопрос, где кроется причина снижения производительности в коде приложения или в библиотеке, которую оно вызывает. ОС QNX предоставляет пользователю библиотеку распределения памяти, содержащую реализацию большинства типовых операций над строками и памятью. Эти функции перед выполнением операции проверяют корректность использования указанной области памяти, позволяя выявлять ошибки типа переполнения, выборки из пустого буфера, некорректного использования памяти и повторного освобождения одной и той же области. «Интеллектуальный» механизм отслеживает ошибки работы с памятью. При возникновении ошибки соответствующий фрагмент исходного текста будет помечен предупреждением, при этом можно:

o продолжить выполнение программы;

o завершить программу и сохранить её образ в дамп файле;

o остановить программу и немедленно переключиться в отладчик для локализации проблемы.

Анализатор ОЗУ помогает визуально представлять использование памяти программами и может быстро выявлять переполнения буферов, некорректные освобождения памяти и множество других типовых ошибочных ситуаций. Анализатор ОЗУ предоставляет:

o информацию на уровне процесса, которая позволяет быстро оценить карту памяти программы;

o специализированную статистику распределения памяти для выявления проблем с использованием «кучи». Статистика включает в себя суммарное количество свободных, распределённых и используемых байтов и блоков; динамический журнал использования памяти для оценки динамики ситуации. Комплекты разработки драйверов (DDK) позволяют быстро создавать драйверы для нестандартного оборудования — аудио, графических и сетевых адаптеров, устройств ввода, принтеров, символьных и USB устройств. Комплекты включают в себя исходные тексты, детальную документацию и готовый программный каркас, в котором весь высокоуровневый аппаратно независимый код уже реализован в виде библиотек.

Поскольку в QNX драйверы выполняются как обычные пользовательские процессы, их можно отлаживать и оптимизировать при помощи того же интегрированного инструментария, который QNX Momentics предоставляет для отладки обычных приложений. Нет никакой необходимости в использовании отладчиков на уровне ядра, которые могут застопорить работу всей целевой системы, в результате скрывая ошибки. Микроядерная архитектура QNX позволяет тестировать изменения в коде драйверов без перезагрузки системы и даже без перезапуска сеанса отладки необходимо просто перекомпилировать и перезапустить драйвер. Наличие встроенного эмулятора позволяет тестировать и отлаживать драйверы непосредственно на инструментальном компьютере, не теряя времени на ожидание целевой аппаратуры. QNX Momentics предоставляет полный набор инструментария для начальной загрузки и взаимодействия с целевым оборудованием. В этот инструментарий входят пакеты поддержки (BSP) для широкого спектра процессорных плат, построитель встраиваемых систем, позволяющий быстро формировать и настраивать целевые образы, и уникальный целевой агент, динамически загружающий сервисные модули по мере необходимости. QNX Momentics также включает в себя навигатор целевых систем, который позволяет привязывать проекты к IP адресам или именам хостов, однозначно определяя программно аппаратную конфигурацию целевых систем. Эти конфигурации впоследствии могут использоваться при работе с другими инструментальными средствами. Навигатор целевых систем также обеспечивает интерактивное отображение выполняющихся процессов, позволяя просмотреть следующую информацию о целевой системе: использование ресурсов, атрибуты потоков, файловые дескрипторы и т.д. QNX Momentics предоставляет богатый выбор готовых пакетов поддержки процессорных плат (BSP) на основе процессоров ARM, MIPS, x86, PowerPC, SH-4, StrongARM и XScale. Каждый BSP снабжён детальной документацией и исходными текстами всех бинарных модулей, включая начальный загрузчик, стартовый код и драйверы устройств.

2.2 VxWorks/Tornado

Операционная система реального времени VxWorks и инструментальная среда Tornado фирмы Wind River Systems предназначены для разработки ПО встроенных компьютеров, работающих в системах жесткого реального времени. Операционная система VxWorks является системой с кросс-средствами разработки прикладного программного обеспечения. Разработка ведется на инструментальном компьютере (host) в среде Tornado для последующего исполнения на целевой машине (target) под управлением VxWorks.

VxWorks поддерживает целевые архитектуры (targets):

o Motorola 680x0 и CPU32, PowerPC;

o Intel 386/486/Pentium, Intel 960;

o Spare, Mips R3000/4000;

o AMD 29K, Motorola 88110;

o HP PA-RISC;

o Hitachi SH7600;

o DEC Alpha.

Инструментальные платформы, поддерживаемые для Tornado (hosts):

o Sun SPARCstation (SunOS и Solaris);

o HP 9000/400,700 (HP-UX);

o IBM RS6000 (AIX);

o Silicon Graphics (IRIX);

o DEC Alpha (OSF/1);

o PC (Windows).

Поддерживаемые интерфейсы host-target:

o host-target Ethernet;

o RS232;

o внутрисхемныйэмулятор ICE (In-Circuit Emulator);

o кросс-шина (backplane).

Операционная система VxWorks построена, как и положено ОС жесткого реального времени, по технологии микроядра, т. е. на нижнем непрерываемом уровне ядра выполняются только базовые функции планирования задач и их управления коммуникацией/синхронизацией. Все остальные функции операционной системы более высокого уровня (управление памятью, вводом/выводом, сетевые средства и т. д.) базируются на простых функциях нижнего уровня, что позволяет обеспечить быстродействие и предсказуемость ядра, а также легко построить необходимую конфигурацию операционной системы.

В многозадачном ядре wind применен алгоритм планирования задач, учитывающий приоритеты и включающийся по прерываниям. В качестве основного средства синхронизации задач и взаимоисключающего доступа к общим ресурсам в ядре wind применены семафоры. Имеется несколько видов семафоров, ориентированных на различные прикладные задачи: двоичные, целочисленные, взаимного исключения и POSIX.

Все аппаратно-зависимые части VxWorks вынесены в отдельные модули для того, чтобы разработчик встроенной системы мог сам портировать VxWorks на свою нестандартную целевую машину. Этот комплект конфигурационных и инициализационных модулей называется BSP (Board Support Package) и поставляется для стандартных компьютеров (VME-процессор, PC или Sparcstation) в исходных текстах. Разработчик нестандартной машины может взять за образец BSP наиболее близкий по архитектуре стандартный компьютер и перенести VxWorks на свою машину путем разработки собственного BSP с помощью BSP Porting Kit.

2.2.1 Базовые сетевые средства VxWorks: UNIX-networking, SNMP и STREAMS.

VxWorks была первой операционной системой реального времени, в которой реализован протокол TCP/IP с учетом требований реального времени. С тех пор VxWorks поддерживает все сетевые средства, стандартные для UNIX: TCP/UDP/ICMP/IP/ARP, Sockets, SLIP/CSLIP/PPP, telnet/rlogin/rpc/rsh, ftp/tftp/bootp, NFS (клиент и сервер).

Wind River Systems анонсировала (1994) программу WindNet, по которой ведущие фирмы-производители программных средств в области коммуникаций интегрировали свои программные продукты с VxWorks.

На сегодняшний день - это сетевые протоколы Х.25, ISDN, ATM, SS7, Frame Relay и OSI; CASE-средства разработки распределенных систем на базе стандартов ROOM (Real-Time Object Oriented Modelling) и CORBA (Common Object Request Broker Architecture); менеджмент сетей по технологиям MBD (Management By Delegation) и CMIP/GDMO (Common Management Information Protocol/Guidelines for Definition of Managed Objects).

2.2.2 Мониторинг и отладка в реальном масштабе времени: WindView.

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