МЕНЮ


Фестивали и конкурсы
Семинары
Издания
О МОДНТ
Приглашения
Поздравляем

НАУЧНЫЕ РАБОТЫ


  • Инновационный менеджмент
  • Инвестиции
  • ИГП
  • Земельное право
  • Журналистика
  • Жилищное право
  • Радиоэлектроника
  • Психология
  • Программирование и комп-ры
  • Предпринимательство
  • Право
  • Политология
  • Полиграфия
  • Педагогика
  • Оккультизм и уфология
  • Начертательная геометрия
  • Бухучет управленчучет
  • Биология
  • Бизнес-план
  • Безопасность жизнедеятельности
  • Банковское дело
  • АХД экпред финансы предприятий
  • Аудит
  • Ветеринария
  • Валютные отношения
  • Бухгалтерский учет и аудит
  • Ботаника и сельское хозяйство
  • Биржевое дело
  • Банковское дело
  • Астрономия
  • Архитектура
  • Арбитражный процесс
  • Безопасность жизнедеятельности
  • Административное право
  • Авиация и космонавтика
  • Кулинария
  • Наука и техника
  • Криминология
  • Криминалистика
  • Косметология
  • Коммуникации и связь
  • Кибернетика
  • Исторические личности
  • Информатика
  • Инвестиции
  • по Зоология
  • Журналистика
  • Карта сайта
  • Разработка системы реального времени в виде планировщика исполнения заданий

    заранее фиксированного языка [11].

    3. Вывод.

    Использование специальной событийно-ориентированной методологии

    разработки программного продукта поможет улучшить стройность организации

    прикладного приложения и, в целом, хорошо отразится на надежности

    создаваемой системы реального времени.

    6. Постановка задачи курсового проекта.

    Перед созданием программной системы реального времени был проведен

    анализ действующих в данный момент разработок данного направления. Он

    показал, что существующий спектр ОС может обеспечить все потребности задач

    реального времени. Выбор системы (если абстрагироваться от цены, условий

    поставки и т.д.) диктуется только тем обстоятельством, удовлетворяет ли она

    условиям стоящей задачи. Например, если необходима хорошая операционная

    поддержка сетевых средств, то целесообразно использовать QNX -

    многозадачную операционную систему жесткого реального времени с

    архитектурой на основе микроядра. Если необходима очень высокая скорость

    реакции системы, можно использовать VxWorks. В данной работе при создании

    очень небольшой, не слишком сложной, встроенной прикладной программы было

    решено ориентироваться LynxOS, относящуюся к классу Unix’ов реального

    времени.

    В разработке будут использованы только базовые, обязательные механизмы

    ОСРВ. Кроме того, почти в каждой операционной системе реального времени

    можно найти целый набор дополнительных, специфических только для нее

    механизмов, касающихся системы ввода-вывода, управления прерываниями,

    работы с памятью. Каждая система содержит также ряд средств, обеспечивающих

    ее надежность, например, встроенные механизмы контроля целостности кодов.

    Главный же вывод состоит в том, что любая задача реального времени

    требует операционной поддержки реального времени, и иные системные решения

    при этом неприемлемы. На основе ОС общего назначения UNIX, ориентированной

    на оптимальное распределение ресурсов компьютера между пользователями и

    задачами (система разделения времени) будет создана программная разработка

    планировщика задач, в котором главной целью является успеть среагировать на

    происходящие события в жестко заданный интервал времени (система реального

    времени).

    На основе планировщика будет реализован протокол, требующий поддержки

    реального времени. Для проектирования его реализации будет использована

    объектно-ориентированная методология. Такая методология характеризует

    скорее подход к планированию приложения, чем используемые средства языка,

    т.к. в авиационных системах, к которым и принадлежит реализуемый протокол

    A415 ARINC, не разрешено использование памяти из «кучи». В то время как

    динамическое выделение памяти является немаловажной частью использования

    языков, подобных C++ или Java.

    2. Модели и методы предметной области.

    1. Определения.

    Сначала рассмотрим основное определение, вокруг которого и построена

    данная работа. Оно дано американским учёным Дональдом Гиллисом (Donald

    Gillies).

    . Система реального времени – это система, в которой правильность

    вычислений зависит не только от логической корректности результата, но

    и от времени, в течение которого этот результат получен. Система

    работает неверно, если ее временные параметры не соответствуют

    заданным.

    Рассмотрим простейшие определения, используемые в данной отрасли

    знаний. Приведено их неформальное определение, которое преследует своей

    целью дать общее представление об используемых терминах и уточнить

    подразумеваемое под ними в данной работе значение.

    . Состояние — стабильное положение объекта, когда он готов к принятию

    запросов на взаимодействие со стороны других объектов. С состоянием

    может быть связана некоторая деятельность объекта (например, входная и

    выходная). Состояние может быть сложным, т.е. содержать подсостояния.

    . Событие — получение сообщения или окончание срока действия таймера.

    . Действие — посылка сообщения, установка таймера, блок кода на целевом

    языке.

    . Время прибытия задачи – время, когда возникает необходимость в

    выполнении данной задачи.

    . Вызов задачи – начало выполнения данной задачи после прибытия.

    . Планировщик – механизм, который определяет, какой результат должен

    быть вычислен и в какое время. Результат работы планировщика

    называется расписанием.

    . Политикой планирования (или управления) называется набор правил,

    которые определяют то, как планировщик выбирает следующий процесс для

    запуска, как образуется очередь процессов на выполнение и сколько

    времени выделяется каждому процессу на выполнение.

    Определения, непосредственно затрагивающие специфику данной работы.

    . Масштабируемая ОС – операционная система, характеризующаяся высоким

    уровнем модульности, при котором отдельные функции системы можно

    динамически отключать/подключать без ущерба для общей функциональности

    системы. Такая ОС в зависимости от решаемой задачи, может быть

    установлена как на FLASH-носитель, так и на гигабайтный жесткий диск.

    . Микроядерная ОС – операционная система, в основу архитектуры которой

    положена специальная часть исполняемого кода – микроядро, реализующее

    базовые функции.

    . Многопользовательская ОС – операционная система, ориентированная на

    одновременную работу с несколькими пользователями.

    . Многозадачная ОС – операционная система, ориентированная на

    параллельное выполнение системой нескольких задач. Истинно

    многозадачной ОС может быть только при наличии более чем одного

    микропроцессора, но современные операционные системы обладают

    приемлемыми механизмами обеспечения псевдопараллельной работы.

    . Сетевая ОС – операционная система, ориентированная не только на работу

    с использованием ресурсов своего аппаратного обеспечения, но и на

    взаимодействие с удалёнными ресурсами с использование специальных

    протоколов.

    2. Принципиальная структура.

    1. Среда исполнения.

    Основное предназначение любой операционной системы - это рациональное

    управление ресурсами компьютера во время его работы. Все действия

    операционной системы по обеспечению успешного диалога с пользователем или

    пользователями сводятся к следующим простым действиям - управлению

    выполнением программ и работой служб, записи и чтению файлов с диска,

    обмену информацией по сети. Причем, все эти простые действия должны

    выполняться слаженно и не создавать конфликтных ситуаций при работе

    системы. Для этого нужно обратить внимание на среду, в которой

    функционирует приложение реального времени. Требования, предъявляемые к

    среде исполнения систем реального времени, следующие:

    . небольшая память системы - для возможности ее встраивания;

    . система должна быть полностью резидентна в памяти, чтобы избежать

    замещения страниц памяти или подкачки;

    . система должна быть многозадачной - для обеспечения максимально

    эффективного использования всех ресурсов системы;

    . ядро с приоритетом на обслуживание прерывания.

    Приоритет на прерывание означает, что готовый к запуску процесс,

    обладающий некоторым приоритетом, обязательно имеет преимущество в очереди

    по отношению к процессу с более низким приоритетом, быстро заменяет

    последний и поступает на выполнение. Ядро заканчивает любую сервисную

    работу, как только поступает задача с высшим приоритетом. Это гарантирует

    предсказуемость системы;

    . диспетчер с приоритетом.

    Дает возможность разработчику прикладной программы присвоить каждому

    загрузочному модулю приоритет, неподвластный системе. Присвоение

    приоритетов используется для определения очередности запуска программ,

    готовых к исполнению. Альтернативным такому типу диспетчеризации является

    диспетчеризация типа "карусель", при которой каждой готовой к продолжению

    программе дается равный шанс запуска. При использовании этого метода нет

    контроля за тем, какая программа и когда будет выполняться. В среде

    реального времени это недопустимо. Диспетчеризация, в основу которой

    положен принцип присвоения приоритета, и наличие ядра с приоритетом на

    прерывание позволяют разработчику прикладной программы полностью

    контролировать систему. Если наступает событие с высшим приоритетом,

    система прекращает обработку задачи с низшим приоритетом и отвечает на

    вновь поступивший запрос.

    Сочетание описанных выше свойств создает мощную и эффективную среду

    исполнения в реальном времени.

    2. Ядро систем реального времени.

    Кроме свойств среды исполнения, необходимо рассмотреть также сервис,

    предоставляемый ядром ОС реального времени. Ядро или диспетчер является

    основой любой среды исполнения в реальном времени. Микроядро реализует

    базовые функции операционной системы, на которые опираются системные

    сервисы и приложения. В системе реального времени диспетчер занимает место

    между аппаратными средствами целевого компьютера и прикладным программным

    обеспечением. В результате, такие важные компоненты ОС как файловая

    система, сетевая поддержка и т. д. превращаются в по-настоящему независимые

    модули, которые функционируют как отдельные процессы и взаимодействуют с

    ядром и друг с другом на общих основаниях. Все компоненты системы

    используют средства микроядра для обмена сообщениями, но взаимодействуют

    непосредственно. Предоставляемый ядром сервис дает прикладным программам

    доступ к таким ресурсам системы, как, например, память или устройства

    ввода/вывода.

    Ядро может обеспечивать сервис пяти типов:

    1. Синхронизация ресурсов.

    Метод синхронизации требует ограничить доступ к общим ресурсам (данным

    и внешним устройствам). Наиболее распространенный тип примитивной

    синхронизации - двоичный семафор, обеспечивающий избирательный доступ к

    общим ресурсам. Так, процесс, требующий защищенного семафором ресурса,

    вынужден ожидать до тех пор, пока семафор не станет доступным, что

    свидетельствует об освобождении ожидаемого ресурса, и, захватив ресурс,

    установить семафор. В свою очередь, другие процессы также будут ожидать

    доступа к ресурсу вплоть до того момента, когда семафор возвратит

    соответствующий ресурс системе распределения ресурсов. Системы, обладающие

    большей ошибкоустойчивостью, могут иметь счетный семафор. Этот вид семафора

    разрешает одновременный доступ к ресурсу лишь определенному количеству

    процессов.

    2. Межзадачный обмен.

    Часто необходимо обеспечить передачу данных между программами внутри

    одной и той же системы. Кроме того, во многих приложениях возникает

    необходимость взаимодействия с другими системами через сеть. Внутренняя

    связь может быть осуществлена через систему передачи сообщений. Внешнюю

    связь можно организовать либо через датаграмму (наилучший способ доставки),

    либо по линиям связи (гарантированная доставка). Выбор того или иного

    способа зависит от протокола связи.

    3. Разделение данных.

    В прикладных программах, работающих в реальном времени, наиболее

    длительным является сбор данных. Данные часто необходимы для работы других

    программ или нужны системе для выполнения каких-либо своих функций. Во

    многих системах предусмотрен доступ к общим разделам памяти. Широко

    распространена организация очереди данных. Применяется много типов

    очередей, каждый из которых обладает собственными достоинствами.

    4. Обработка запросов внешних устройств.

    Каждая прикладная программа в реальном времени связана с внешним

    устройством определенного типа. Ядро должно обеспечивать службы

    ввода/вывода, позволяющие прикладным программам осуществлять чтение с этих

    устройств и запись на них. Для приложений реального времени обычным

    является наличие специфического для данного приложения внешнего устройства.

    Ядро должно предоставлять сервис, облегчающий работу с драйверами

    устройств. Например, давать возможность записи на языках высокого уровня -

    таких, как Си или Паскаль.

    5. Обработка особых ситуаций.

    Особая ситуация представляет собой событие, возникающее во время

    выполнения программы. Она может быть синхронной, если ее возникновение

    предсказуемо, как, например, деление на нуль. А может быть и асинхронной,

    если возникает непредсказуемо, как, например, падение напряжения.

    Предоставление возможности обрабатывать события такого типа позволяет

    прикладным программам реального времени быстро и предсказуемо отвечать на

    внутренние и внешние события. Существуют два метода обработки особых

    ситуаций - использование значений состояния для обнаружения ошибочных

    условий и использование обработчика особых ситуаций для прерывания

    ошибочных условий и их корректировки.

    3. Пикоядро.

    Базовые требования современных систем реального времени стали столь

    обширны, что назрела необходимость в структуризации уже самого микроядра.

    Была выдвинута идея так называемого «пикоядра». Пикоядро – в данном случае

    это ядро, имеющее следующие свойства:

    . Не имеет каких-либо состояний (начальных, конечных или промежуточных),

    ядро без состояния. Не требует инициализации и деинициализации.

    . Реализует и содержит в себе очень малое количество функций и данных –

    только функции для работы с объектами.

    . Предоставляет объектно-ориентированный интерфейс системе в виде

    небольшого количества системных вызовов для работы с объектами.

    . Является полностью пассивной частью кода операционной системы – код

    ядра выполняется только во время системных вызовов.

    . В большинстве случаев является обычной статической библиотекой,

    которая компонуется с главной системной частью ОС – менеджером

    процессов.

    3. Методы управления задачами в ОС РВ.

    1. Классификация подходов.

    Существует большое количество различных методов управления задачами.

    Каждый из них предназначен для использования в определённом классе систем,

    каждая из которых основана на некотором множестве ограничений.

    1. Статическое планирование.

    Большинство всех существующих методов относятся к статическому

    планированию. В этом случае считается, что всё множество задач системы и

    все их характеристики известны заранее. В этом случае расписание работы

    задач строится до начала работы системы и остаётся постоянным во время её

    функционирования. В этом расписании определены времена старта для всех

    задач системы. В течение работы системы планировщик выбирает следующую

    задачу для запуска в соответствии с этим расписанием. Расписание циклически

    повторяется.

    Однако в реальных системах одно подобное расписание не может

    предусмотреть все возможные ситуации, которые могут возникнуть. Кроме того,

    в системе может быть несколько независимых режимов работы, переключение

    между которыми может происходить в заранее не определённое время. Поэтому

    обычно на практике до начала работы составляется несколько расписаний для

    различных случаев. Затем во время функционирования системы расписания

    меняются. Это может происходить или в непредсказуемые или в заранее

    определённые моменты времени, когда потребовалась смена режима работы.

    2. Динамическое планирование.

    При динамическом же планировании планировщик в каждый момент времени

    обладает полными знаниями только о текущем множестве задач. В момент

    планирования данного множества, он не имеет никаких сведений о тех задачах,

    которые могут появиться в будущем. Поэтому расписание меняется с течением

    времени. Динамических алгоритмов планирования существует значительно

    меньше, чем статических.

    3. Планирование, основанное на времени.

    В этом случае производится статический анализ системы, в результате

    чего строится расписание, которое затем используется во время работы для

    того, чтобы решить, когда и какая задача должна начать своё выполнение. Это

    расписание содержит фиксированное время старта для каждого примера задач,

    основываясь на времени выполнения в худшем случае и всех взаимозависимостях

    между задачами. Затем это расписание может измениться.

    Планировщик должен содержать всю дополнительную информацию обо всех

    примерах всех задач. Когда прибудет новая задача необходимо определить,

    основываясь на существующем расписании, можно ли её туда добавить, и если

    да, то построить новое расписание.

    Данный класс методов применяются для периодических задач, или для

    задач, которые могут быть сведены к периодическим. Основным критерием для

    статического планирования периодических задач можно считать

    предсказуемость, то есть определение исполнимого расписания, в котором все

    задачи удовлетворяют всем своим ограничениям.

    Так как в этом подходе, исходя из заданных характеристик, строится

    таблица, которая определяет время запуска и время выполнения для каждой

    задачи, после чего задачи располагаются в соответствии с этим расписанием,

    то, как следствие, то, когда и где выполняются задачи, строго фиксировано.

    Этот подход не является достаточно гибким, так как любое изменение

    характеристик какой-либо задачи может потребовать полной перестройки всей

    таблицы.

    Так как задачи могут иметь множество различных ограничений, то для

    Страницы: 1, 2, 3, 4, 5, 6


    Приглашения

    09.12.2013 - 16.12.2013

    Международный конкурс хореографического искусства в рамках Международного фестиваля искусств «РОЖДЕСТВЕНСКАЯ АНДОРРА»

    09.12.2013 - 16.12.2013

    Международный конкурс хорового искусства в АНДОРРЕ «РОЖДЕСТВЕНСКАЯ АНДОРРА»




    Copyright © 2012 г.
    При использовании материалов - ссылка на сайт обязательна.