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

PROGRAM COMPLEX FOR EVALUATION OF PERFORMANCE OF MAIN FUNCTIONS OF OPERATING SYSTEMS

Gorbaneva I.V. 1 Martyshkin A.I. 1
1 Penza state technological university
The article describes the created software package for evaluating the performance of operating system functions. The purpose of the work is to create a set of programs necessary for evaluating the execution time of the software functions of single-processor and multiprocessor operating systems. The complex performs performance analysis of a number of functions of operating systems: mutexes, semaphores, read-write locks, FIFO and PIPE channels, TCP and UDP sockets, context switching, system calls (read, write, open, close). Unlike existing known analogs, this software package is presented by a user-friendly graphical user interface, for the implementation of which the Qt and Qwt libraries have a rich set of widgets – programs that facilitate access to information with which you can create a complex graphical interface. The libraries used are cross-platform, which makes it possible to make the procedure of transferring applications to different OSes more simple, the graphs of test results are smoothed. At the end of the article, the authors give the results of the test measurements.
Linux
performance measuring
features
operating systems
Qt and Qwt libraries

Современные операционные системы (ОС) предоставляют разработчикам программного обеспечения большое количество разнообразных средств создания сложных программных систем, состоящих из нескольких процессов, которые могут выполняться на разных ЭВМ [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++ упрощает перенос программного комплекса на различные платформы и обеспечивает высокое быстродействие программы, что весьма сильно сказывается на получаемой точности результатов тестирования функций ОС.