Сетевое издание
Международный студенческий научный вестник
ISSN 2409-529X

ПРОГРАММНЫЙ КОМПЛЕКС ДЛЯ ОЦЕНКИ ПРОИЗВОДИТЕЛЬНОСТИ ОСНОВНЫХ ФУНКЦИЙ ОПЕРАЦИОННЫХ СИСТЕМ

Горбанёва И.В. 1 Мартышкин А.И. 1
1 Пензенский государственный технологический университет
В статье описан созданный программный комплекс для оценки производительности функций операционных систем. Целью работы является создание комплекса программ, необходимого для оценки времени выполнения программных функций однопроцессорных и многопроцессорных операционных систем. Комплекс выполняет анализ производительности ряда функций операционных систем: мьютексов, семафоров, блокировок чтения-записи, каналов FIFO и PIPE, сокетов TCP и UDP, переключения контекста, системных вызовов (чтение, запись, открытие, закрытие). В отличие от существующих известных аналогов, данный программный комплекс представлен дружественным графическим интерфейсом пользователя, за реализацию которого отвечают библиотеки Qt и Qwt, имеющие богатый набор виджетов – программ, облегчающих доступ к информации, с помощью которых можно создавать сложный графический интерфейс. Используемые библиотеки являются кроссплатформенными, что позволяет сделать более простой процедуру переноса приложений на разные ОС, применяется сглаживание графиков результатов тестирования. В конце работы приводятся результаты тестовых измерений.
Linux
измерение производительности
функции операционных систем
библиотеки QT и QWT
язык С++
1. Таненбаум Э., Бос Х. Современные операционные системы. – СПб.: Питер, 2015. – 1120 с.
2. Мартышкин А.И. Основные функции ядра современных операционных систем реального времени // Синтез науки и общества в решении глобальных проблем современности: сборник статей Международной научно-практической конференции. В 2-х частях / Отв. ред.: А.А. Сукиасян, 2016. – С. 82–84.
3. Стивенс У.Р. UNIX: разработка сетевых приложений. – Питер, 2007. – 1039 с.
4. Карасева Е.А., Мартышкин А.И. Обзор средств управления процессами и ресурсами многопроцессорных операционных систем // Международный студенческий научный вестник. – 2016. – № 3–1. – С. 80–81.
5. Стивенс У.Р. UNIX: взаимодействие процессов. – Питер, 2003. – 576 с.
6. Родригес К.З., Фишер Г., Смолски С. Linux. Азбука ядра. – М.: Кудиц-пресс, 2007. – 584 с.
7. Бикташев Р.А., Мартышкин А.И. Комплекс программ для измерения производительности функций операционных систем // XXI век: итоги прошлого и проблемы настоящего плюс. – 2013. – № 10 (14). – С. 190–197.
8. Валова О.О., Мартышкин А.И. Разработка, исследование и применение моделей вычислительных систем с виртуализацией // Современные информационные технологии. – 2014. – № 20. – С. 50–57.

Современные операционные системы (ОС) предоставляют разработчикам программного обеспечения большое количество разнообразных средств создания сложных программных систем, состоящих из нескольких процессов, которые могут выполняться на разных ЭВМ [1, 2]. Была поставлена цель – разработать программный комплекс (ПК), предназначенный для анализа времени выполнения программных функций однопроцессорных и многопроцессорных ОС.

Измерение производительности различных функций ОС необходимо не только разработчикам ОС, для оценки эффективности реализации определенной функции и сравнения производительности реализации в других ОС, но и прикладным программистам, которым измерение производительности функций ОС необходимо для выбора наиболее подходящих средств реализации своих проектов [3, 4].

ПК выполняет тестирование функций ОС, таких как: средства синхронизации процессов: взаимные исключения (мьютексы), семафоры, блокировки чтения-записи; средства межпроцессного обмена: именованные каналы FIFO, неименованные каналы PIPE, сокеты TCP и UDP; переключение контекста; системные вызовы (чтение, запись, открытие, закрытие).

Сегодня получил распространение ПК LMbench, позволяющий проводить тестирование nix-совместимых систем, имея в своём составе широкий спектр тестов для разных подсистем ОС. Данный пакет позволяет получить довольно целостное представление о проверяемой ОС. Однако пакет LMbench имеет ряд недостатков, которые делают работу с ним не удобной, требующей многократного повторения однотипных действий и выполнения дополнительных вычислений для получения результатов [5, 6].

Итак, разработанный ПК для тестирования функций операционных систем делает работу тестирования более удобной, более продуктивной и доступной, чем ПК LMbench [7].

На рис. 1 представлена последовательность действий, которые производит разработанный ПК.

gorb1.tif

Рис. 1. Последовательность действий, выполняемых представляемым ПК

Работа с ПК выполняется на ЭВМ под управлением ОС семейства Linux. Сегодня наиболее распространенными ОС являются – Ubuntu, Fedora, SUSE и Mandriva. Для обеспечения работоспособности программы требуется nix-совместимая ОС с установленными библиотеками Qt и Qwt.

gorb2.tif

Рис. 2. Структура данных разработанного ПК

gorb3.tif

Рис. 3. Алгоритм работы основной программы

Структура данных разработанного ПК представлена на рис. 2. Алгоритм работы основной программы представлен на рис. 3.

Как основа пользовательского интерфейса принята структура с многооконным интерфейсом. Для различных задач создаются отдельные окна, которые обеспечивают не перегруженный интерфейс, необходимый для их решения. В описываемой ПК применена процедура фильтрации (сглаживания) графиков – технология, которая используется для устранения эффекта «зубчатости», который возникает на краях одновременно выводимого на экран множества плоских или объёмных изображений. Процедуру сглаживания производят по нескольким наборам расположенных подряд данных, причем их число обычно выбирают экспериментальным подбором [7, 8]. Почти все графики предлагаются в двух видах – необработанном и фильтрованном (сглаженном). Процедура сглаживания действует на стиль отображения графика, который может быть построен прямолинейно от сообщения к сообщению, отчего он будет иметь угловатые очертания. Но при выборе сглаживания график будет иметь более плавные очертания. Уровень и алгоритм сглаживания для всех графиков одинаковый.

На рис. 4 и 5 представлены примеры тестов по измерению производительности переключения контекста и семафора.

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

gorb4.tif

Рис. 4. Тест времени переключения контекста: задание параметров (а), без сглаживания (б), с наиболее вероятным сглаживанием (в)

gorb5.tif

Рис. 5. Тест семафора: задание параметров (а), без сглаживания (б), с наиболее вероятным сглаживанием (в)

В отличие от существующих программ-аналогов, описанный комплекс представлен дружественным интерфейсом пользователя, за визуализацию которого отвечают подключаемые библиотеки Qt и Qwt. Указанные библиотеки кроссплатформенные, что в свою очередь делает процедуру переноса программы на разные ОС более простой. Применяемый язык программирования C++ упрощает перенос программного комплекса на различные платформы и обеспечивает высокое быстродействие программы, что весьма сильно сказывается на получаемой точности результатов тестирования функций ОС.


Библиографическая ссылка

Горбанёва И.В., Мартышкин А.И. ПРОГРАММНЫЙ КОМПЛЕКС ДЛЯ ОЦЕНКИ ПРОИЗВОДИТЕЛЬНОСТИ ОСНОВНЫХ ФУНКЦИЙ ОПЕРАЦИОННЫХ СИСТЕМ // Международный студенческий научный вестник. – 2018. – № 3-2. ;
URL: https://eduherald.ru/ru/article/view?id=18256 (дата обращения: 20.04.2024).

Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»
(Высокий импакт-фактор РИНЦ, тематика журналов охватывает все научные направления)

«Фундаментальные исследования» список ВАК ИФ РИНЦ = 1,674