Введение к работе
Актуальность проблемы. Развитие современных технологий сопровождается неуклонным усложнением процессов управления техническими средствами, используемыми на транспорте, в промышленности, телекоммуникациях. Как следствие, все большее количество устройств, приборов и аппаратов оснащается встроенными компьютерными системами, обеспечивающими их функционирование в автоматическом и автоматизированном режиме. В большинстве случаев встроенные системы являются системами реального времени (СРВ), которые отличает от компьютерных систем общего назначения целый ряд особенностей. В частности, одним из основных, предъявляемых к системам жесткого реального времени, является строгое соблюдение сроков выполнения решаемых задач. Для обеспечения реализации данного требования используются специализированные методы анализа выполнимости приложений. Применение методов анализа выполнимости обеспечивает возможность проверки своевременного выполнения задач жесткого реального времени при любых сценариях развития событий.
Сложность задач управления во встроенных системах обуславливает использование специализированных операционных систем – операционных систем реального времени (ОСРВ), назначением которых является организация процесса выполнения прикладных задач. Развитие аппаратных средств, используемых при создании СРВ, и современные требования пользователей приводят к развитию ОСРВ в направлении расширения состава сервисов общего назначения таких как графический интерфейс пользователя, развитые коммуникационные возможности, поддержка мультимедиа.
Наиболее удачного совмещения требований реального времени с богатым составом сервисов удается добиться при использовании двухъядерных ОСРВ, развитие которых началось с 90-х годов прошлого века. Данный класс операционных систем позволяет, с одной стороны, обеспечить своевременное выполнение ограниченных по срокам задач, а с другой, предоставить задачам общего назначения широкий спектр сервисов и библиотек. Но расширение сферы применения двухъядерных СРВ существенно ограничивается отсутствием специальных методов анализа выполнимости, которые бы учитывали все особенности архитектуры данных систем; этот факт делает разработку специальных методов анализа выполнимости особенно актуальной.
Цель и задачи работы. Целью работы является разработка методов анализа выполнимости задач жесткого реального времени в прикладных системах, работающих под управлением двухъядерных операционных систем. В соответствии с этой целью определены следующие задачи:
-
Анализ известных методов обеспечения своевременного выполнения задач в системах реального времени.
-
Построение вычислительной модели приложения, управляемого двуядерной ОСРВ, которая учитывает влияние ядер ОС на продолжительность выполнения заданий.
-
Разработка методов анализа выполнимости приложений, учитывающих особенности внутренней структуры задач.
-
Разработка методов анализа выполнимости приложений, включающих задачи с состоянием ожидания.
-
Разработка программных методов экспериментальной оценки параметров реактивности ОСРВ.
Методы исследований. При проведении исследований и разработок в диссертационной работе были использованы подходы и методы теории множеств, комбинаторного анализа, математической логики, теории графов, структур данных и системного программирования, анализа выполнимости многозадачных СРВ, экспериментальной оценки характеристик производительности и реактивности ОС реального времени (ОСРВ).
На защиту выносятся:
-
Вычислительная модель приложения, управляемого интегрированной двухъядерной операционной системой реального времени, учитывающая особенности влияния ядер ОС на время отклика задач.
-
Метод вычисления времени отклика задач реального времени, обладающих нетривиальной внутренней структурой.
-
Метод анализа выполнимости приложений, содержащих задачи реального времени с состоянием ожидания.
-
Методы программной оценки параметров реактивности операционных систем реального времени.
Научная новизна. Научная новизна диссертации заключается в следующем:
-
Разработана вычислительная модель приложения, управляемого двухъядерной операционной системой реального времени, которая позволяет учитывать влияние ядер операционной системы на время отклика прикладных задач за счет использования временных параметров операционной.
-
Разработан подход к анализу выполнимости приложений, содержащих задачи с нетривиальной внутренней структурой. Учет внутренней структуры задач позволяет добиться существенного снижения неоправданного пессимизма оценок выполнимости.
-
Разработан алгоритм вычисления времени отклика составных задач реального времени, который обладает меньшей трудоемкостью вычислений по сравнению с аналогичными методами; трудоемкость снижена за счет исключения из рассмотрения информации, являющейся избыточной с точки зрения анализа выполнимости.
-
Предложен метод анализа выполнимости приложений, содержащих задачи с состоянием ожидания, в рамках которого исходные схемы задач преобразуются к схемам, которые не содержат операторов ожидания и установки условий.
-
Разработан метод экспериментальной оценки параметров реактивности операционных систем реального времени средствами целевой аппаратной платформы, которые позволяют отказаться от использования измерительной аппаратуры за счет применения специальных методов планирования экспериментов.
Практическая ценность. Разработанный метод анализа выполнимости приложений, управляемых двухъядерной ОСРВ, позволяет использовать такие системы в условиях, когда необходимо сочетать требования поддержки функций жесткого РВ и разностороннего, в том числе и графического, пользовательского интерфейса. Примерами таких систем могут послужить программное обеспечение бортовых компьютеров автомобилей и летательных аппаратов, медицинского оборудования, производственных систем.
Переход к предлагаемому в диссертации методу анализа выполнимости приложений, содержащих составные задачи и задачи с состоянием ожидания, позволяет добиться существенного снижения неоправданного пессимизма получаемых оценок, и как следствие увеличить эффективность использования аппаратных ресурсов разрабатываемых встроенных систем.
Предложенные в работе методы программной оценки параметров реактивности операционных систем реального времени не требуют применения специального оборудования, что позволяет снизить общие финансовые затраты на разработку приложений; следовательно, данные методы могут быть применены в рамках малобюджетных проектов, таких как университетские и академические исследования.
Реализация результатов работы. Материалы диссертации используются в ходе занятий со студентами по дисциплине "Программирование встроенных СРВ" на базовой кафедре Санкт-Петербургского государственного электротехнического университета (ЛЭТИ) им. Ульянова (Ленина) "Автоматизации исследований" при СПИИРАН.
Предложенные в диссертации методы программной оценки реактивности ОСРВ были использованы в рамках проекта Санкт-Петербургского центра разработки программного обеспечения компании «Моторола» по сравнительной оценке версий ОС Linux, адаптированных к поддержке задач жесткого реального времени.
Предложенный метод анализа выполнимости приложений, содержащих составные задачи, был использован в ЗАО "Информационные деловые услуги" при создании комплекта инструментальных средств разработки приложений реального времени на базе интегрированной двухъядерной ОСРВ.
Апробация работы. Основные результаты диссертации представлялись на III ежегодном техническом семинаре Санкт-Петербургской лаборатории отдела разработки ПО фирмы Моторола "Technology Day - 2002" (СПб, июнь 2002), VIII Санкт-Петербургской Международной Конференции "Региональная Информатика - 2002" (СПб, ноябрь 2002), XIV конференции "Экстремальная робототехника" (СПб, апрель 2003), заседаниях Городского семинара "Информатика и компьютерные технологии" (СПб, май 2003 года и апрель 2004 года), VII Всероссийской научно-практической конференции "Актуальные проблемы защиты и безопасности" (СПб, апрель 2004).
Публикации. Основные результаты диссертации опубликованы в 6 печатных работах.
Структура и объем работы. Диссертация содержит введение, четыре главы, заключение, список литературы (124 наименования); 3 таблицы и 39 рисунков (общий объем диссертации – 148 листов).