Автор работы: Пользователь скрыл имя, 29 Апреля 2013 в 12:28, контрольная работа
1. Планирование периодических процессов
2. Алгоритм RMS
3. Как работает алгоритм RMS. Когда он может быть использован?
...
17. ОСРВ (монолитная, на основе микроядра, объектно-ориентированная).
Суммарный размер минимально необходимого для работы приложения системного набора ( это ядро, системные модули, драйвера и т.д.)
Для экономии места в ПЗУ часть системы может храниться в сжатом виде и загружаться в ОЗУ по мере необходимости. Часть системы позволяет исполнять код как в ПЗУ так и в ОЗУ, при наличии свободного места система может копировать из медленного ПЗУ в более быстрое ОЗУ.
Если разрабатываемая система имеет обширную периферию, то наличие уже готовых драйверов может оказать большое влияние на выбор ОС.
Т.к. в промышленных компьютерах, серверах, встраиваемых системах широко распространены процессоры разной архитектуры с различной системой команд, ОС реального времени должны по возможности поддерживать как можно более широкий ряд процессоров.
Необходимость в нём возникает тогда, когда разработка систем реального времени производится на обычном компьютере, отличном по архитектуре от компьютера, на котором будет устанавливаться система реального времени. При этом ОС на этих двух компьютерах также может не совпадать.
Предсказуемой
систему реального времени
В многозадачных ОС общего назначения используются, как правило различные модификации алгоритмов круговой диспетчеризации, основанные на понятие непрерывного кванта времени, предоставляемого процессу для работы. Планировщик по истечению каждого кванта времени просматривает очередь активных процессов и принимает решение кому передать управление, учитывая приоритеты процессов. Приоритеты могут быть фиксированными или меняться со временем, однако рано или поздно процессорное время получат все процессы в системе.
Это средства
синхронизации процессов и
Они необходимы для систем с жестким временным регламентом и как правило позволяют:
Создавать разовые и циклические будильники
Классификация приложений систем реального времени
Основной параметр – предсказуемость.
Две парадигмы приложений для предсказуемости систем:
ET – подход
Любая деятельность системы начинается в ответ на возникающее специфическое событие. Вид события определяется самой системой. Предсказуемость достигается следующими способами:
1. Использование стратегии
оценки для каждой прикладной
задачи (оценивается потребность
данной задачи в текущий
а) Проверяется загруженность узла.
б) Проверяется время предыдущего запуска данной задачи и анализируется эффект от невыполнения задачи. При отрицательном эффекте задача обязательно должна быть запущена.
2. Оценка потребности ресурсов для данной задачи.
3. Оценка готовности ресурсов для удовлетворения потребностей и задач.
Достоинства: управляемость со стороны системы, независимость от времени (количества тактов).
Недостатки: сложность алгоритма оценки, отсутствие возможности синхронизации событий на разных узлах.
ТТ – подход
Деятельность системы начинается в определенный заданный момент глобально синхронизированного времени. Предсказуемость достигается путём приведения всех задач к периодическим. Для апериодических, спорадических и фоновых задач создаются мета-задачи, которые занимаются обработкой соответствующего типа задач.
Достоинства:
Недостатки: слабая управляемость процесса исполнения задач. Не существует возможности управления последовательностью задач в процессе функционирования системы.
Ядро может обеспечивать сервис 5 типов:
Этот метод требует ограничить доступ к общим ресурсам. Наиболее распространенный тип синхронизации - двоичный симофор.
Часто бывает необходимо обеспечить передачу данных между программами внутри одной и той же системы. Такая же необходимость возникает во многих приложениях. Взаимодействия осуществляется через систему передачи сообщений.
В прикладных программах, работающих в РВ, наиболее длительным является сбор данных. Во многих системах предусмотрен доступ к общим разделам памяти. Широко распространенны организация очереди данных.
Каждая прикладная программа в РВ связана с устройством определенного типа. Ядро должно обеспечивать прикладным программам чтение с этих устройств и запись на них. Ядро должно предоставлять сервис, облегчающий работу с драйверами устройств.
5. Обработка особых ситуации
Особая ситуация представляет собой событие, возникающее во время выполнения программы. Она может быть синхронной, если ее возникновение предсказуемо, например деление на ноль и может быть асинхронной, если возникает не предсказуемо. Например, падение напряжения. Возможность обрабатывать события такого типа позволяет прикладным программам РВ быстро и предсказуемо отвечать на внутренние и внешние события.
Важнейшей функцией ядра является диспетчеризация (планировщик должен определять, какому процессу должно быть передано управление, а также должен определить время, выделяемое каждому процессу).
Процесс может находиться в одном из следующих состоянии:
Процесс остановлен и
не использует процессор, например в
таком состоянии процесс
Процесс терминирован и не использует процессор. Например, процесс закончился, но еще не удален ОС
Процесс ждет некоторого события.
Процесс не остановлен, не терминирован, не ожидает, не удален, но и не работает. Например, процесс не может получить доступ к процессору, если в данный момент выполняется другой более высокоприоритетный процесс
Процесс выполняется и используется процессор. В ОСРВ это означает, что этот процесс наиболее приоритетный из всех процессов, находившихся в состоянии "готов".
Мы предполагаем, что если методы проектирования адекватно учитывают особенности жестких систем реального времени, то они должны поддерживать:
четкое разделение типов действий/объектов, которые находятся в жестких системах реального времени (т.е. циклические и еденичные действия).
точное определение требований приложения по распределению времени для каждого объекта.
определение относительной важности каждого объекта для успешного функционирования приложения.
точное определение и использование объектов контроля ресурсов.
переход к наиболее подходящей для планировки и распределения времени программной архитектуре.
Жизненный цикл жестких СРВ
Наш подход заключается в разделении архитектурного плана на две фазы:
Логическая архитектура включает действия, которые могут быть проделаны независимо от условий, накладываемых средой исполнения, и в первую очередь направлены на удовлетворение функциональных требований. Физическая архитектура принимает в расчет эти и другие условия и вдобавок охватывает нефункциональные требования. Физическая архитектура формирует основу для того, чтобы нефункциональные требования уже были удовлетворены, когда существуют детальный проект и реализация. Например, если все объекты построены с учетом худших условий по распределению времени и надежности, то сама система будет удовлетворять требованиям сохранности. Таким образом, физическая архитектура позволяет оценить параметры разработки для достижения компромиссного решения для всех требований задачи.
В этом документе мы в первую очередь касаемся жестких систем реального времени, поэтому физическая архитектура фокусируется на распределении времени и необходимой планировке, что будет гарантировать, что однажды построенная система будет работать корректно и по данным, и по времени. Чтобы провести этот анализ, необходимо оценить время исполнения имеющегося кода, получить зависимости по времени целевого процессора и другие параметры среды исполнения.
Когда архитектурные фазы закончены, можно начинать серьезную планирование деталей проекта. Когда это будет сделано, нужно измерить характеристики выполнения кода, чтобы гарантировать, что верхние оценки времени выполнения в самом деле корректны. Если же это не так (что обычно имеет место для новых приложений), фаза физической архитектуры пересматривается и обновляется. Если же все-таки система не реализуется , тогда либо должны быть пересмотрены детали проекта (при небольших отклонениях), или разработчик должен вернуться к фазе логической архитектуры (при серьезных проблемах).Когда измерения кода пройдены, выполняется тестирование приложения. Оно должно включать действительные распределения времени по коду.
- ОСРВ (монолитная, на основе микроядра, объектно-
ориентированная).
В своем развитии ОСРВ строились на основе следующих архитектур.