45450

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

Доклад

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

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

Русский

2013-11-17

69.5 KB

12 чел.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

 


 

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

59564. Знайомство з історією 38.5 KB
  Знаряддя праці зброя місце поховань храми фундаменти будівель це: а речові історичні джерела; б писемні історичні джерела; в усні історичні джерела. Які історичні джерела допомагають відтворити побачити минуле...
59565. Діагностика ПК за допомогою програм та утиліт 55 KB
  Програми подібного роду дуже часто працюють під управлінням операційної системи MS-DOS, оскільки вона для своєї роботи вимагає дуже мало системних ресурсів, що дозволяє звести до мінімуму вплив на результати тестів. Звично при запуску файлу, при спробі викачування його з Інтернету, пропонується створити завантажувальну дискету...
59569. Квіти в творчості Лесі Українки 37.5 KB
  Українка Конвалія Гордо палала троянда розкішна Найкраща з квіток Барвою й пахом вродливая пишна Красила садок. Українка Співець Ще маревом легким над нами витає Блакитна весняная мрія А в серці розкішно цвіте процвітає Золотистая квітка надія.
59571. Компаративний аналіз художнього твору на уроках зарубіжної літератури у 9 класі 44 KB
  З огляду на значне зростання обсягу навчального матеріалу доречнішим стає компаративний аналіз художніх творів. Якими ж шляхами йде шкільна компаративістика Поперше це порівняння творів зарубіжних письменників які належать до однієї або різних літературних епох.
59572. Корупція в давньоримській республіці 35.5 KB
  Порівняйте поведінку Цицерона й Віра коли вони займали важливі посади в Римській республіці. Одна група займається пошуком у документах фактів коли Цицерон обвинувачує Віра. Інша група намагається виявити причини такої поведінки Віра.