45450

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

Доклад

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

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

Русский

2013-11-17

69.5 KB

15 чел.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

 


 

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

81233. Методика изучения основ алгоритмизации и начал программирования 36.51 KB
  Изучение учебного материала данного раздела обеспечивает учащимся возможность уяснить смысл понятия алгоритма узнать свойства алгоритма понять возможность автоматизации информационной деятельности человека при исполнении алгоритмов. Изучение понятия алгоритма призвано сформировать у учащихся способность не просто исполнять известные алгоритмы как это делает робот или какойлибо иной автоматисполнитель а осознанно строить алгоритмы. Основные определения Информатика наука об алгоритмах. Исполнителем алгоритма может быть человек животное...
81234. Методические рекомендации по теме «Первое знакомство с компьютером» 44.26 KB
  Функция Человек Компьютер Хранение информации Память Устройства памяти Обработка информации Мышление Процессор Прием информации Органы чувств Устройства ввода Передача информации Речь двигательная система Устройства вывода Устройства компьютера связаны между собой каналами передачи информации. Суть принципа программного управления компьютером сводится к следующим трем положениям: Любая работа выполняется компьютером по программе; Исполняемая программа находится в оперативной памяти; Программа выполняется автоматически. Затем следует...
81235. Методика изучения темы «дисковая ос». Методические рекомендации по изучению темы «Программы-оболочки ОС» 38.31 KB
  Любые операционные системы независимо от типа выполняют три основные функции: управление устройствами компьютера; взаимодействие с пользователем; работа с файлами. Третья функция операционной системы работа с файлами. Первоначальные понятия которые должны быть даны ученикам по данной теме это имя файла тип файла файловая структура логический диск каталог путь к файлу дерево каталогов. Для Windows сообщаете что имя файла может быть длинным до 255 символов и допускает использование русских букв.
81236. Методические рекомендации по организации и проведению практических занятий при изучении темы «Текстовый редактор» 36.45 KB
  Обучить основным приемам работы с текстовым редактором. Рекомендации по организации практической работы на компьютере. Навыки ввода и редактирования текста нужны пользователю не только для работы с текстовым редактором. Ввод и редактирование текстов осуществляется с помощью специальных программ текстовых редакторов используемых в семействах операционных систем UNIX и MS Windows Семейство ОС Названия редакторов UNIX Emcs Vi TED Str Office Writer MS Windows Блокнот Word WordPd Лексикон Str Office Writer Несмотря на различия все...
81237. Методические рекомендации по организации и проведению практических занятий при изучении темы «Электронные таблицы» 38.16 KB
  Состав электронной таблицы. Прямоугольная область таблицы называется диапазоном ячеек. Каждая ячейка таблицы имеет следующие характеристики: адрес содержимое изображение формат имя примечание комментарий Абсолютная и относительная адресация ячеек.
81238. Методические рекомендации по организации и проведению практических занятий при изучении темы «базы данных» 38.44 KB
  Для сознательной работы с БД на уровне пользователя рекомендуется примерный минимум этих понятий: объект атрибут система связь; структурирование представление и нормализация данных; таблица первичный и внешний ключи; связь между таблицами индексирование поиск выборка и некоторые другие они имеют специфический неочевидный смысл. Обязательный минимум содержания образования по информатике в разделе информационные технологии: Базы данных. Системы управления базами данных.
81239. Методические рекомендации по организации и проведению практических занятий при изучении темы «графический редактор» 38.11 KB
  Режимы определяют возможные действия пользователя а также команды которые пользователь может отдавать редактору в данном режиме. В этом режиме можно выполнять команды записи рисунка на диск считывания рисунка с диска вывода рисунка на печать. Система команд графического редактора Команды выбора инструмента; Команды настройки инструмента ширина линий шрифт; Команды выбора цветов; Команды масштабирования рисунка; Команды работы с буфером обмена вырезать копировать вставить; Команды манипулирования с выделенным фрагментом...
81240. Компьютерные сети в образовании. Методические рекомендации по изучению темы «Сетевые информационные технологии» 38.58 KB
  Дать представление о назначении и структуре локальных и глобальных сетей; Познакомить учся с основными инф. услугами сетей с возможностями internet; Обучить способам обмена файлами в лок. сетей на 2 типа: локальные сети и глобальные. сетей обширна по числу понятий и может излагаться с разной степенью подробности.