211
Утилита 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.
Возможности утилиты 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 с.