Материал: 6262

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

211

6.6.1 Утилита qdbus

Утилита qdbus специализирована для работы с приложениями, использующими библиотеки Qt API.

Кроме того, эта утилита удобна для исследования шины D-Bus, что частично продемонстрировано рисунком 6.8.

Общий вызов утилиты:

qdbus [--system] [--literal] [servicename] [path] [method] [args],

где --system - обращение идет к системной шине, в провном случае - к шине сессии; --literal — печатать сообщение литерами;

servicename — имя сервиса, можно использовать формат ':x.y'; path — путь к объекту, в формате - как к файлу;

method — имя вызываемого метода;

args — аргументы, передаваемые вызываемому методу сервиса.

Для исследования приложений, использовать утилиту qdbus довольно просто:

сначала, утилита запускается без параметров; она выведет все доступные имена сервисов, зарегистрированных на D-Bus;

выбрав имя сервиса, следует запустить ее с этим именем; в результате на консоль выведется список доступных путей;

запустить утилиту с выбранными именем и путем; на консоль выведутся доступные методы;

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

Задание 6.1

Изучить по руководству man назначение и способы применения утилиты qdbus. Освоить применение утилиты qdbus в командной строке терминала.

Оразить полученные результаты исследования в личном отчете по теме №12.

6.6.2 Взаимодействие через шину с приложением evince

Возможности утилиты qdbus рассмотрим на примере ее взаимодействия с приложением evince, которое предназначено для просмотра файлов формата pdf.

Задание 6.2

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

Для начала, следует запустить утилиту qdbus, без параметров, и просмотреть имена сервисов, как это показано на рисунке 6.8.

212 Поскольку студент читает методическое пособие по теме №12, то:

уже запущено приложение evince для просмотра pdf-файлов;

поэтому, на рисунке 6.8 присутствует строка: org.gnome.evince.Daemon, соответствующая имени сервиса приложения evince.

Далее следует, в директории ~/bin создать запускаемый сценарий lab12.1.sh, в котором набрать строку:

qdbus org.gnome.evince.Daemon

Запустить сценарий lab12.1.sh и провести анализ путей, выведенных утилитой qdbus на терминал и показанных на рисунке 6.9.

Рисунок 6.9 — Результат запуска сценария lab12.1.sh

Добавить в сценарий путь /org/gnome/evince/Daemon и снова — запустить. Провести анализ результата, показанного на рисунке 6.10.

Рисунок 6.10 — Методы приложения evince на шине D-Bus

Выберем метод FindDocument, как показано на рисунке 6.10, и учтем, что он имеет два параметра:

213

uri — строковое значение, задающее путь к документу, например,

/home/upk/Документы/Керниган-С.pdf;

spawn — булевое значение, которое следует задать как 1.

Модифицировать сценарий lab12.1.sh, как показано на рисунке 6.11, и запустить его на исполнение.

Рисунок 6.11 — Окончательный вариант сценария lab12.1.pdf

В результате указанных действий, должно запуститься приложение evince с открытым на просмотр файлом Керниган-С.pdf.

После завершения исследования шины D-Bus, следует:

оформить отчет по лаборатоной работе №12;

завершить оформление общего отчета по темам №7-№12;

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

214

Заключение

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

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

приложений с ядрами операционных систем, реализуемые посредством системных вызовов, закрепленных в стандартах POSIX;

представление о проблематике операционных систем, порожденной вопросами взаимодействия процессов и решаемой средствами технологии IPC;

практические навыки, обеспеченные написанием и отладкой программного

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

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

Выполнив все зачетные задания, студент считается готов к проведению экзаменационной аттестации по направлению подготовки: 09.03.01 - Информатика

ивычислительная техника.

Вцелом, учебный материал данного учебно-методического пособия дает начальные представления об операционных системах, достаточные для подготовки специалистов, ориентированных на разработку прикладного программного обеспечения. Для разработки системного программного обеспечения, полученных знаний, в общем случае, - недостаточно, особенно в части разработки модулей и драйверов ядра ОС. Но это — уже предмет магистерского курса обучения специалистов кафедры АСУ ТУСУР по направлению подготовки 09.04.01, предполагающий усвоение знаний, изложенных как данном методическом пособии, так и в учебнометодическом пособии [4].

215

Список использованных источников

1 Таненбаум Э. Современные операционные системы. - СПб.: Питер, 2012. - 1020 с.

2 Синицын С.В. Операционные системы: учебник для вузов. - М.: Академия, 2012. - 304 с.

3Резник В.Г. Учебный программный комплекс кафедры АСУ на базе ОС ArchLinux. Учебно-методическое пособие. – Томск, ТУСУР, 2016. – 33 с.

4Резник В.Г. Операционные системы. Учебно-методическое пособие. – Томск, ТУСУР, 2016. – 183 с.

Источник: https://studfile.net/preview/16438530/