45450

Синхронизация в системах реального времени. Принципы разделения ресурсов в СРВ. «Смертельный захват» «Гонки» «Инверсия приоритетов». Технология разработки собственной ОС РВ

Доклад

Информатика, кибернетика и программирование

Логическая последовательность исполнения Обеспечение доступа к общим ресурсам Обеспечение синхронизации с внешними событиями Обеспечение синхронизации по времени Связность задач. Обеспечение доступа к общим ресурсам. Реализация синхронизации необходима для обеспечения доступа к тем ресурсам которые являются разделяемыми ресурсами в системе т. Возникают коллизии связанные с получением доступа.

Русский

2013-11-17

69.5 KB

14 чел.

Синхронизация в системах реального времени. Принципы разделения ресурсов в СРВ. «Смертельный захват» «Гонки» «Инверсия приоритетов». Технология разработки собственной ОС РВ

Синхронизация задач.

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

Основные элементы синхронизации:

  1.  Связность задачи (т.е. логическая последовательность исполнения)
  2.  Обеспечение доступа к общим ресурсам
  3.  Обеспечение синхронизации с внешними событиями
  4.  Обеспечение синхронизации по времени

Связность задач. Любое действие в системе должно происходить последовательно в зависимости от предыдущих действий, т.е. должна учитываться история выполнения. Принцип связности реализуется в соответствии с разработанным алгоритмом. Кроме обеспечения последовательности связность реализует обеспечение логической корректности выдаваемых результатов. При не обеспечении связности система будет действовать правильно, но результат достигнут не будет. Свойство обеспечивается механизмами синхронизации, реализованными в планировщике заданий.

Обеспечение доступа к общим ресурсам.

Реализация синхронизации необходима для обеспечения доступа к тем ресурсам, которые являются разделяемыми ресурсами в системе, т.е. это некое физическое устройство либо память. Основные проблемы с доступом возникают при использовании алгоритмов с вытеснением.

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

  1.  проблема гонок
  2.  смертельный захват
  3.  инверсия приоритетов.

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

Для решения проблем используют:

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

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

3. Реализация принципа симфора, показывающего время, в которое возможен доступ к ресурсу. Участок кода программы, в котором происходит обращение к общему ресурсу, называется критической секцией, соответственно разрешение гонок должно осуществляться во всех критических секциях конечной системы.

Смертельный захват (deadlock) возникает если задачи не поделили между собой ресурсы.

Способы решения проблемы:

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

2. Организация сервера для доступа к ресурсу

3. При требовании доступа к заданному ресурсу задача, требующая ресурс отключается с освобождением всех занятых до этого ресурсов и ожидает выполнение той задачи, которая заняла требуемый ресурс.

Инверсия приоритетов – задача с более высоким приоритетом не может выполниться из-за задачи с наиболее низким приоритетом.

Способы решения проблемы:

1. Сервер ресурсов (выполняется только та задача, которая имеет наивысший приоритет)

2. Перераспределение ресурсов (ресурс выделяется той задаче, которая начинает выполняться в заданный момент времени). Для оптимального распределения ресурсов и оптимизации поведения системы необходимо для каждого ресурса выделить свой сервер с установленным приоритетом и методом доступа. Этот сервер и будет отвечать за доступ к общим ресурсам. В конечном счете все сервера должны быть объединены планировщиком.

Наиболее проблемной архитектурой для обеспечения доступа является объектно-ориентированная.

Синхронизация задач с внешними событиями и по времени.

Синхронизация с внешними событиями -

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

  1.  при организации распределенной системы и использовании сетевых компонентов;
  2.  при синхронизации с узлами, подключенными к внутренней шине вычислительного узла.

Синхронизация с внешними событиями используется для обеспечения алгоритма функционирования при распределении системы по разным вычислительным узлам. Синхронность функционирования обеспечивается наличием общих характеристик вычислительных узлов системы. Для реализации синхронизации с узлами, подключенными к внутренней шине вычислительного узла, используется два метода: метод прерываний и метод опроса.

Метод прерываний более скоростной, но в нем большой поток лишней информации. Применяется для быстрых систем и систем с большой градацией приоритетов.

В методе опроса задача, которой нужна информация, отправляет запрос на другой вычислительный узел именно в тот момент, когда ей это необходимо. Поток информации уменьшается. Используется для более медленных задач, т.к. требует подтверждения.

Синхронизация по времени

Создается квант времени. Он является эталонным измерителем и называется тиком. Для ОС – тик – базовая единица измерения. Размер тика может быть различным для разных ОС и определяется по таймеру. Таймеры бывают двух видов: программные и аппаратные. Количество аппаратных таймеров ограничено архитектурой вычислительного узла. Количество программных – архитектурой ОС. Одним из подвидов программных таймеров являются пользовательские таймеры. Пользовательский таймер – счетчик и обработчик этого счетчика. Любой программный таймер основывается на программных таймерах. Для таймера существует понятие – исключение таймера. Синхронизация по времени обеспечивается по меткам прерывания, выполнение каждой задачи реализуется по временному интервалу. Любой программный таймер должен быть кратен аппаратному таймеру. Если это условие не выполняется, то синхронизация по времени не возможна.

Технология разработки собственной ОСРВ.

Позиция разработчика АСУ создания ОС РВ делится на два этапа:

1. Разработка планировщика задач;

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

1. Тип разрабатываемого планировщика определяется конфигурацией системы, на которую он ориентирован. Если система однопроцессорная, то планировщик должен быть реализован на базе вытесняющей политики, учитывающей приоритет, время запуска и время исполнения. Если система многопроцессорная, процесс создания планировщика делится на два этапа: создание локального планировщика каждого индивидуального процесса и создание глобального планировщика (реализуется с помощью политики приоритетного планирования без вытеснения).

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

- заголовочные файлы каждого индивидуального процесса или каждой метки;

- модуль обработки заголовочных файлов подгрузки функций;

- модуль взаимодействия с драйвером вычислительного узла;

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

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


2. Реализация драйвера зависит от типа использования микроконтроллера и микропроцессора. При реализации выделяют менеджеры обработки ресурсов, а также правила для работы с таймером. Работа с таймером делится на две группы:

- создание модулей для работы с аппаратным таймером;

- создание модулей для работы с программным таймером.

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

 


 

А также другие работы, которые могут Вас заинтересовать

32722. Реальные газы. Силы и потенциальная энергия межмолекулярного взаимодействия. Уравнение Ван-дер-Ваальса 44.5 KB
  Реальные газы Как известно уравнение состояния устанавливает функциональную связь между давлением Р объемом V температурой T и числом молей газа в состоянии равновесия. Самым простым и известным уравнением состояния является уравнение состояния идеального газа: 7.1 Реальные газы описываются уравнением состояния идеального газа только приближенно и отклонения от идеального поведения становятся заметными при высоких давлениях и низких температурах особенно когда газ близок к конденсации. Предпринималось много попыток для...
32723. Изотермы Ван-дер-Ваальса и их сопоставление с реальными изотермами. Критическая температура. Внутренняя энергия газа Ван-дер-Ваальса 81 KB
  Изотермы ВандерВаальса и их сопоставление с реальными изотермами. Внутренняя энергия газа ВандерВаальса. Изотермы ВандерВаальса Проанализируем изотермы уравнения ВандерВаальса зависимости Р от V для реального газа при постоянной температуре. Умножив уравнение ВандерВаальса на V 2 и раскрыв скобки получаем PV 3 RT bP vV 2 v2V bv3 = 0.
32724. Тепловые явления при низких температурах. Третье начало термодинамики 40.5 KB
  Расчет абсолютной энтропии Рассчитаем изменение энтропии некоторой системы при нагревании её от абсолютного нуля до температуры T при постоянном давлении. При нагревании вещества возможен его переход в жидкое и затем в газообразное состояние; для фазовых переходов происходящих в изобарноизотермических условиях изменение энтропии равно приведенной теплоте фазового перехода: I.65 Таким образом нагревание вещества без фазовых переходов сопровождается непрерывным ростом энтропии; при фазовом переходе происходит...
32725. Понятие фазы. Фазовые переходы 1 и 2 рода. Фазовые диаграммы. Тройная точка 57 KB
  Понятие фазы. В однокомпонентной системе разные фазы могут быть представлены различными агрегатными состояниями или разными полиморфными модификациями вещества. В многокомпонентной системе фазы могут иметь различный состав и структуру. Основные понятия Газ всегда состоит из одной фазы жидкость может состоять из нескольких жидких фаз разного состава Ликвация жидкостная несмешиваемость но двух разных жидкостей одного состава в равновесии сосуществовать не может.
32726. Материальная точка. Абсолютно твёрдое тело. Система отсчёта 27.5 KB
  Система отсчёта. Системы отсчёта. Для определения координат материальной точки следует прежде всего выбрать тело отсчёта и связать с ним систему координат. Для определения положения материальной точки в любой момент времени необходимо также задать начало отсчёта времени.
32727. Кинематика точки. Путь. Перемещение. Скорость и ускорение. Их проекции на координатные оси. Вычисление пройденного пути. Средние значения 28.5 KB
  Скорость и ускорение. Скорость векторная физическая величина характеризующая быстроту перемещения тела численно равная отношению перемещения за малый промежуток времени к величине этого промежутка. Промежуток времени считается достаточно малым если скорость при неравномерном движении в течение этого промежутка не менялась. Измеряют скорость спидометром.
32728. Скорость и ускорение при криволинейном движении. Тангенциальное и нормальное ускорения 37 KB
  Криволинейное движение с постоянным ускорением всегда происходит в той плоскости в которой находятся векторы ускорения и начальные скорости точки. В случае криволинейного движения с постоянным ускорением в плоскости xOy проекции vxи vy ее скорости на оси Ox и Oy и координаты x и y точки в любой момент времени t определяется по формулам vx=v0xxt x=x0v0xtxtxt2 2; vy=v0yyt y=y0v0ytyt2 2 Частным случаем криволинейного движения является движение по окружности. Движение по окружности даже равномерное всегда есть движение...
32729. Кинематика твёрдого тела. Вращение вокруг неподвижной оси. Угловые скорость и ускорения. Связь между угловыми и линейными скоростями и ускорениями 39 KB
  Кинематика твёрдого тела. Движение тела может быть как поступательным так и вращательным. При поступательном движении все точки твердого тела за один и тот же промежуток времени совершают равные по величине и направлению перемещения. Следовательно скорости и ускорения всех точек тела в любой момент времени также одинаковы.
32730. Границы применимости ньютоновской механики. Первый закон Ньютона 28.5 KB
  Первый закон Ньютона. Вследствие развития физики в начале XX века определилась область применения классической механики: ее законы выполняются для движений скорость которых много меньше скорости света. Вообще законы классической механики Ньютона справедливы для случая инерциальных систем отсчета. При ускоренном движении неинерциальной системы координат относительно инерциальной системы первый закон Ньютона закон инерции в этой системе не имеет места свободные тела в ней будут с течением времени менять свою скорость движения.