Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Jamaica.doc
Скачиваний:
9
Добавлен:
01.03.2025
Размер:
1.89 Mб
Скачать

1.1. Запуск приложения Real-Time Java на целевой системе qnx Neutrino

Профилирование программ предоставляет простой и удобный механизм исследования выполнения программы с целью ее оптимизации. Средством профилирования и анализа приложений Real-Time Java будет выступать QNX Momentics IDE на хост системе.

Целевая система должна отвечать на запросы от среды разработки. Чтобы выполнить это требование, запускаем программу qconn. На ПК с установленной ОСРВ QNX Neutrino это можно сделать через окно терминала.

В запустившейся QNX Momentics IDE (хост системе) необходимо открыть окно QNX System Information. Для этого можно выбрать элемент меню Window | Open Perspective | Other, в окне Open Perspective выбрать соответствующий элемент списка и нажать кнопку ОК.

В левой части открывшегося окна QNX System Information расположено представление Target Navigator. В нем можно щелкнуть правой кнопкой мыши и выбрать элемент меню New QNX Target. Откроется соответствующее диалоговое окно (рис.5).

Заполним данные этого окна, указав корректный IP-адрес целевой системы (192.168.1.35) и номер порта, который "слушает" агент qconn (8000). Так же указано имя проекта "QnxPC".

Далее нажмем кнопку Finish. В каталоге, который IDE использует для хранения проектов, создастся папка, названная по имени проекта (QnxPC). Эта папка — и есть вновь созданный проект. Информация, которая хранится в файлах проекта — IP-адрес целевой системы и номер порта qconn.

Если все сделано правильно, то в окне представления Target Navigator появится целевая система "QnxPC". Щелкнув на значке треугольника слева от имени целевой системы, мы увидим список процессов, выполняющихся на целевой системе (рис. 6).

В скобках указаны номера процессов. Кроме списка процессов доступна различная, другая информация о текущем состоянии целевой системы. Эта информация размещена в представлениях, которые относятся или ко всей целевой системе (System Summary, Target File System Navigator), или к тому процессу, который выбран в представлении Target Navigator (Process Information, Memory Information, Malloc Information).

Рис.5. Окно создания нового проекта "QNX Target System"

Рис. 6. Окно QNX System Information

Исполняемый файл HelloRTJava можно запустить, предварительно скопировав его на целевую систему QNX Neutrino с помощью Target File System Navigator, и посредством мыши перетащить файл HelloRTJava, например в каталог /tmp целевой системы (рис. 7).

Запуск файла выполняется в навигаторе целевой системы двойным щелчком мыши. Откроется окно для ввода параметров командной строки и переменных окружения — прежде чем нажать кнопку ОК, убедитесь, что установлен флажок Create console. Этот флажок направляет поток вывода приложения в Eclipse — представление Console инструментальной системы. Посылать сигналы можно тоже с помощью представления Target Navigator, смотреть рисунок 8. Нажимаем правой кнопкой по выбранному процессу и выбираем пункт Deliver Signal. Во всплывшем окне (рис. 9) выбираем посылаемый сигнал процессу HelloRTJava (SIGUSR1 или SIGUSR2).

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

Р ис. 7. Исполняемый файл HelloRTJava скопирован на целевую систему.

Р ис.8. Посылка сигнала выбранному процессу

Р ис.9. Окно Deliver Signal

Проведем профилирование приложения HelloRTJava. Для этого в представлении Target Navigator выбираем целевую систему и нажимаем правую кнопку мыши Log With | Log Configurations. В открывшемся окне Log Configurations настраиваем параметры System Profiler (рис. 10).

Р ис.10 (a). Настройка конфигурации System Profiler — вкладка main

Р ис.10 (b). Настройка конфигурации System Profiler — вкладка trace setting

После настройки конфигурации (устанавливаем period of time 20 — 30 секунд), нажимаем кнопку Log. После этого сразу запускаем приложение HelloRTJava на исполнение ( в течении 20 -30 секунд необходимо успеть послать запущенному процессу HelloRTJava сигнал SIGUSR1).

Переходим к QNX System Profiler perspective, смотреть рис. 11. Слева в представлении

Navigator выбираем нашу целевую систему, на которой проводили профилирование. В списке под целевой системе мы заметим файл с расширением .kev. Щелкнем по нему два раза правой кнопкой мыши.

Р ис. 11. QNX System Profiler perspective

Теперь мы можем просмотреть, что происходило с системой в течении этих 20-30 секунд (рис 12). Проанализируйте полученные результаты.

Рис. 12 (а). Окно Summary

Р ис. 12(b). Окно CPU Activity

Рис.12(с). Окно CPU Usage

Р ис. 12 (b). Окно Timeline

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]