45450

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

Доклад

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

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

Русский

2013-11-17

69.5 KB

11 чел.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

 


 

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

84343. Поводы и основания к возбуждению уголовного дела. Процессуальный порядок возбуждения и отказа в возбуждении уголовного дела 134.58 KB
  Поводы и основания к возбуждению уголовного дела. Процессуальный порядок возбуждения и отказа в возбуждении уголовного дела Поводами для возбуждения уголовного дела служат: ст. Основанием для возбуждения уголовного дела является наличие достаточных данных указывающих на признаки преступления. Заявление о преступлении может быть сделано в устном или письменном виде.
84344. Финансовое регулирование в системе управления финансами 65.89 KB
  Финансовое регулирование осуществляется в целях корректировки со стороны государства развития общественного производства в нужном направлении. Таким образом финансовое регулирование представляет собой организованную государством деятельность по использованию всех аспектов финансовых отношений в целях...
84345. Функции культуры 98 KB
  Характерно что проблематика различных функций культуры разрабатывалась разными учеными сосредоточившими свое концептуальное внимание на тех или иных сторонах духовной системы. Можно выделить следующие функции культуры: а поддержание преемственности традиции...
84346. Утренняя физическая зарядка 51.94 KB
  Стоя подниматься на носки руки поднять через стороны вверх прогнуться вдох; вернуться в исходное положение выдох. Стоя мах левой ногой назад руки махом вперед кисти расслаблены вдох; исходное положение выдох; повторить то же с правой ноги.
84347. Дробные выражения 160 KB
  Так вот, давайте сегодня на уроке будем следовать этому совету писателя, будем активны, внимательны, будем поглощать знания с большим желанием, ведь они пригодятся вам в вашей дальнейшей жизни. Тема нашего занятия «Дробные выражения».
84348. Поэтика рассказа «Бирюк» 32.9 KB
  Задачи: Продолжить формирование умения выявлять причинно-следственные связи в процессе самостоятельной и коллективной работы учащихся их поисковая исследовательская деятельность; Формировать познавательную активность умение решать проблемные ситуации продолжить развитие навыков...
84349. Мостай Кәрим. Уҡытыусыма шиғыры. Сифат тураһында үтелгәндәрҙе ҡабатлау темаһына дәрес 32.21 KB
  Маҡсат: уҡыусыларҙы Башҡортостандың халыҡ шағиры Мостай Кәримдең ҡыҫҡаса биографияһы һәм ижады менән танышыу; Уҡытыусыма шиғырының идея-тематик йөкмәткеһе менән таныштырыу; уҡыусыларҙың сифат тураһындағы белемдәрен нығытыу, телмәрен үҫтереү...
84350. БЕССОЮЗНОЕ СЛОЖНОЕ ПРЕДЛОЖЕНИЕ 68.5 KB
  Обучающие: Формирование навыков постановки знаков препинания в бессоюзном сложном предложении; Закрепление навыка определения смысловых отношений между частями БСП; Формирование навыков стилистического анализа текста; Обучение учащихся связному высказыванию на лингвистическую тему.