Программный комплекс для оценки производительности основных функций операционных систем
Описание созданного программного комплекса для оценки производительности функций операционных систем. Создание комплекса программ, необходимого для оценки времени выполнения программных функций однопроцессорных и многопроцессорных операционных систем.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 01.03.2019 |
Размер файла | 377,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
ПРОГРАММНЫЙ КОМПЛЕКС ДЛЯ ОЦЕНКИ ПРОИЗВОДИТЕЛЬНОСТИ ОСНОВНЫХ ФУНКЦИЙ ОПЕРАЦИОННЫХ СИСТЕМ
Горбанёва И.В., Мартышкин А.И.
Пензенский государственный технологический университет
В статье описан созданный программный комплекс для оценки производительности функций операционных систем. Целью работы является создание комплекса программ, необходимого для оценки времени выполнения программных функций однопроцессорных и многопроцессорных операционных систем. Комплекс выполняет анализ производительности ряда функций операционных систем: мьютексов, семафоров, блокировок чтения-записи, каналов FIFO и PIPE, сокетов TCP и UDP, переключения контекста, системных вызовов (чтение, запись, открытие, закрытие). В отличие от существующих известных аналогов, данный программный комплекс представлен дружественным графическим интерфейсом пользователя, за реализацию которого отвечают библиотеки Qt и Qwt, имеющие богатый набор виджетов - программ, облегчающих доступ к информации, с помощью которых можно создавать сложный графический интерфейс. Используемые библиотеки являются кроссплатформенными, что позволяет сделать более простой процедуру переноса приложений на разные ОС, применяется сглаживание графиков результатов тестирования. В конце работы приводятся результаты тестовых измерений.
Ключевые слова: Linux, измерение производительности, функции операционных систем, библиотеки QT и QWT, язык С++.
PROGRAM COMPLEX FOR EVALUATION OF PERFORMANCE OF MAIN FUNCTIONS OF OPERATING SYSTEMS
Gorbaneva I.V., Martyshkin A.I., Penza State Technological University, Penza
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.
Key words: Linux, performance measuring, features, operating systems, Qt and Qwt libraries, C++ language.
Современные операционные системы (ОС) предоставляют разработчикам программного обеспечения большое количество разнообразных средств создания сложных программных систем, состоящих из нескольких процессов, которые могут выполняться на разных ЭВМ [1, 2]. Была поставлена цель - разработать программный комплекс (ПК), предназначенный для анализа времени выполнения программных функций однопроцессорных и многопроцессорных ОС.
Измерение производительности различных функций ОС необходимо не только разработчикам ОС, для оценки эффективности реализации определенной функции и сравнения производительности реализации в других ОС, но и прикладным программистам, которым измерение производительности функций ОС необходимо для выбора наиболее подходящих средств реализации своих проектов [3, 4].
ПК выполняет тестирование функций ОС, таких как: средства синхронизации процессов: взаимные исключения (мьютексы), семафоры, блокировки чтения-записи; средства межпроцессного обмена: именованные каналы FIFO, неименованные каналы PIPE, сокеты TCP и UDP; переключение контекста; системные вызовы (чтение, запись, открытие, закрытие).
Сегодня получил распространение ПК LMbench, позволяющий проводить тестирование nix-совместимых систем, имея в своём составе широкий спектр тестов для разных подсистем ОС. Данный пакет позволяет получить довольно целостное представление о проверяемой ОС. Однако пакет LMbench имеет ряд недостатков, которые делают работу с ним не удобной, требующей многократного повторения однотипных действий и выполнения дополнительных вычислений для получения результатов [5, 6].
Итак, разработанный ПК для тестирования функций операционных систем делает работу тестирования более удобной, более продуктивной и доступной, чем ПК LMbench [7].
На рисунке 1 представлена последовательность действий, которые производит разработанный ПК.
Рисунок 1 - Последовательность действий, выполняемых представляемым ПК
программный оценка производительность операционный
Работа с ПК выполняется на ЭВМ под управлением ОС семейства Linux. Сегодня наиболее распространенными ОС являются - Ubuntu, Fedora, SUSE и Mandriva. Для обеспечения работоспособности программы требуется nix-совместимая ОС с установленными библиотеками Qt и Qwt.
Структура данных разработанного ПК представлена на рисунке 2. Алгоритм работы основной программы представлен на рисунке 3.
Рисунок 2 - Структура данных разработанного ПК
Рисунок 3 - Алгоритм работы основной программы
Как основа пользовательского интерфейса принята структура с многооконным интерфейсом. Для различных задач создаются отдельные окна, которые обеспечивают не перегруженный интерфейс, необходимый для их решения. В описываемой ПК применена процедура фильтрации (сглаживания) графиков - технология, которая используется для устранения эффекта «зубчатости», который возникает на краях одновременно выводимого на экран множества плоских или объёмных изображений. Процедуру сглаживания производят по нескольким наборам расположенных подряд данных, причем их число обычно выбирают экспериментальным подбором [7, 8]. Почти все графики предлагаются в двух видах - необработанном и фильтрованном (сглаженном). Процедура сглаживания действует на стиль отображения графика, который может быть построен прямолинейно от сообщения к сообщению, отчего он будет иметь угловатые очертания. Но при выборе сглаживания график будет иметь более плавные очертания. Уровень и алгоритм сглаживания для всех графиков одинаковый.
На рисунках 4 и 5 представлены примеры тестов по измерению производительности переключения контекста и семафора.
Рисунок 4 - Тест времени переключения контекста: задание параметров (а), без сглаживания (б), с наиболее вероятным сглаживанием (в)
Рисунок 5 - Тест семафора: задание параметров (а), без сглаживания (б), с наиболее вероятным сглаживанием (в)
Разработан программный комплекс для тестирования функций ОС: мьютексов, семафоров, переключения контекста системных вызовов (чтение, запись, открытие, закрытие) и других. Программа после выбора конкретного теста позволяет в автоматическом режиме собирать всю статистику, обрабатывать её и показывать конечные результаты в удобной и понятной для пользователя форме.
В отличие от существующих программ-аналогов, описанный комплекс представлен дружественным интерфейсом пользователя, за визуализацию которого отвечают подключаемые библиотеки Qt и Qwt. Указанные библиотеки кроссплатформенные, что в свою очередь делает процедуру переноса программы на разные ОС более простой. Применяемый язык программирования C++ упрощает перенос программного комплекса на различные платформы и обеспечивает высокое быстродействие программы, что весьма сильно сказывается на получаемой точности результатов тестирования функций ОС.
Список литературы
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.
Размещено на Allbest.ru
...Подобные документы
Характеристика сущности, назначения, функций операционных систем. Отличительные черты их эволюции. Особенности алгоритмов управления ресурсами. Современные концепции и технологии проектирования операционных систем, требования, предъявляемые к ОС XXI века.
курсовая работа [36,4 K], добавлен 08.01.2011Назначение, классификация, состав и назначение компонентов операционных систем. Разработка сложных информационных систем, комплексов программ и отдельных приложений. Характеристика операционных систем Windows, Linux, Android, Solaris, Symbian OS и Mac OS.
курсовая работа [2,1 M], добавлен 19.11.2014Основные понятия об операционных системах. Виды современных операционных систем. История развития операционных систем семейства Windows. Характеристики операционных систем семейства Windows. Новые функциональные возможности операционной системы Windows 7.
курсовая работа [60,1 K], добавлен 18.02.2012Понятие операционных систем, их классификация и разновидности, отличительные признаки и основные свойства. Содержание операционных систем, порядок взаимодействия и назначение их компонентов. Организация дискового пространства. Описание современных ОС.
контрольная работа [42,4 K], добавлен 07.11.2009История появления первых операционных систем, мультипрограммные операционные системы для мэйнфреймов. Первые локальные и глобальные сети. Развитие операционных систем в 80-е годы. Построение двумерных графиков в MathCAD, решение систем уравнений.
контрольная работа [559,1 K], добавлен 11.06.2014Назначение и основные функции операционных систем. Загрузка в оперативную память подлежащих исполнению программ. Обслуживание всех операций ввода-вывода. Эволюция, классификация операционных систем. Формирование ведомости зарплаты, сортировка по отделам.
курсовая работа [2,7 M], добавлен 17.03.2009Понятие операционной системы как базового комплекса компьютерных программ, обеспечивающего управление аппаратными средствами компьютера, работу с файлами, ввод и вывод данных, выполнение утилит. История развития операционных систем семейства Windows.
курсовая работа [54,3 K], добавлен 10.01.2012Прорыв на рынок Windows как графической оболочки MS-DOS. Рассмотрение интерфейса, функций, системных требований и отличительных особенностей поколений операционных систем Windows: 9x, NT, NET, Vista. Анализ мобильности и безопасности последней версии ОС.
реферат [1,4 M], добавлен 16.01.2010Особенности современного этапа развития операционных систем. Назначение операционных систем, их основные типы. Операционные системы мини-компьютеров. Принцип работы матричного принтера, проектирование и воспроизведение произвольных символов для них.
курсовая работа [258,2 K], добавлен 23.06.2011Основные понятия операционных систем. Синхронизация и критические области. Сигналы и взаимодействие между процессами. Управление памятью. Драйверы устройств. Особенности современных операционных систем. Центральный процессор, микросхемы часов и таймеров.
учебное пособие [1,2 M], добавлен 24.01.2014Описание комплекса программных модулей, предназначенного для повышения эффективности аппаратных ресурсов компьютера. Характеристика компонентов сетевых и распределенных операционных систем. Модели сетевых служб. Способы разделения приложений на части.
презентация [1,4 M], добавлен 10.11.2013Изучение особенностей операционной системы, набора программ, контролирующих работу прикладных программ и системных приложений. Описания архитектуры и программного обеспечения современных операционных систем. Достоинства языка программирования Ассемблер.
презентация [1,3 M], добавлен 22.04.2014Несовершенство операционных систем и программного обеспечения как причина ущерба, нанесенного мировой экономике компьютерными злоумышленниками. Безопасность операционной системы. Положительные и отрицательные стороны Microsoft Basline Sequrity Analyzer.
курсовая работа [1,6 M], добавлен 03.08.2014Понятие и функции операционных систем, их классификация и структура, принципы работы. Виды операционных систем и их краткая характеристика: DOS, Window-95. Достоинства и недостатки Microsoft Windows XP. Создание локальных сетей. Глобальная сеть Internet.
контрольная работа [35,5 K], добавлен 26.06.2014Понятие и основополагающие функции операционных систем, их типовая структура и принцип действия. Краткая история становления и развития операционных систем Windows, их разновидности и общая характеристика, основные требования к аппаратным средствам.
презентация [3,8 M], добавлен 12.07.2011Мониторинг эффективности операционных систем. Обеспечение программам возможности осуществлять обмен данными с внешними устройствами. Методы управления памятью в операционных системах. Основные различия между статическим и динамическим связыванием.
практическая работа [3,0 M], добавлен 17.05.2022Проблемы и тенденции проектирования операционных систем, структура ОС. Руководящие принципы при разработке интерфейса. Парадигмы пользователя, исполнения и данных. Примеры применения ортогональности и связывания. Методы практической реализации систем.
реферат [60,9 K], добавлен 26.01.2011Эволюция и классификация ОС. Сетевые операционные системы. Управление памятью. Современные концепции и технологии проектирования операционных систем. Семейство операционных систем UNIX. Сетевые продукты фирмы Novell. Сетевые ОС компании Microsoft.
творческая работа [286,2 K], добавлен 07.11.2007Назначение серверных операционных систем. Сравнительный анализ серверных операционных систем Windows и Linux и сравнение их по важным показателям таким как: пользовательский графический интерфейс, безопасность, стабильность работы, возможность и цена.
курсовая работа [50,1 K], добавлен 03.07.2012История развития операционных систем семейства Windows и основные понятия системного администрирования. Определение востребованности операционных систем Windows, сравнительная характеристика их функции и возможностей, особенности применения на практике.
курсовая работа [38,5 K], добавлен 08.05.2011