Общее описание операционных систем реального времени — КиберПедия 

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

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

Общее описание операционных систем реального времени

2017-12-12 300
Общее описание операционных систем реального времени 0.00 из 5.00 0 оценок
Заказать работу

Основные понятия

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

Основными ресурсами являются процессор (процессорное время), оперативная память и периферийные устройства.

Управление ресурсами сводится к выполнению следующих задач: упрощение доступа к ресурсам; распределение их между процессами.

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

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

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

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

Система реального времени (СРВ) – это система, правильность функционирования которой зависит не только от логической корректности вычислений, но и от времени, за которое эти вычисления производятся.

Для событий, происходящих в такой системе, важно время, когда эти события происходят, и их логическая корректность.

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

Основные требования к СРВ:

• Возможность параллельного выполнения нескольких задач.

• Предсказуемость.

• Важно максимальное (не среднее) время отклика на событие.

• Особые требования в вопросах безопасности.

• Возможность безотказной работы в течение длительного времени.

Наиболее характерные особенности, присущие ОСРВ:

• Большие и сложные системы.

• Распределённые системы.

• Жёсткое взаимодействие с аппаратурой.

• Выполнение задач зависит от времени.

• Сложность тестирования.

ОСРВ должны реагировать на различные типы внутренних и внешних событий (периодических и непериодических). Необходимо отметить, что принадлежность системы к классу СРВ никак не связана с её быстродействием. Исходные требования к времени реакции системы и другим временным параметрам определяются или техническим заданием на систему, или просто логикой её функционирования. Интуитивно понятно, что быстродействие ОСРВ должно быть тем больше, чем больше скорость протекания процессов на объекте контроля и управления.

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

Системой жёсткого реального времени называется система, где неспособность обеспечить реакцию на какие-либо события в заданное время является отказом и ведёт к невозможности решения поставленной задачи. Многие теоретики ставят здесь точку, из чего следует, что время реакции в жёстких системах может составлять секунды, и часы, и недели. Однако большинство практиков считают, что время реакции в системах жёсткого реального времени должно быть все-таки минимальным. Большинство систем жёсткого реального времени являются системами контроля и управления. Такие ОСРВ сложны в реализации, так как к ним предъявляются особые требования в вопросах безопасности.

Точного определения мягкого реального времени не существует, поэтому можно отнести сюда все ОСРВ, не попадающие в категорию жёстких. Так система мягкого реального времени может не успевать всё делать в заданное время, поэтому возникает проблема определения критериев успешности (нормальности) её функционирования.

Кроме того, ОСРВ можно разделить на системы специализированные и универсальные. Специализированная ОСРВ – система, где конкретные временные требования априори определены. Такая система должна быть специально спроектирована для удовлетворения этих требований.

Универсальная ОСРВ должна уметь выполнять произвольные (заранее неопределённые) временные задачи без применения специальной техники. Разработка таких систем является самой сложной задачей, хотя обычно требования, предъявляемые к таким системам, мягче, чем требования к специализированным системам.

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

Для более детального рассмотрения возможностей ОСРВ представлены ориентировочные цифры, дающие представление о порядке времён реакции и подходящих операционных системах (в соответствии с таблицей 4.7.1). Данная таблица сформирована на основании экспериментальных данных, полученных на базе вычислительных комплексов, построенных на основе процессоров INTEL 80486DX. Безусловно, данный процессор на сегодняшний день является устаревшим, но можно сделать выводы об уровне реакции на внешние события различных ОСРВ.

 

Таблица 4.7.1 – Результаты тестирования ОСРВ: время реакции и подходящие операционные системы

Время реакции Использованные ОС
Менее 10 мкс Только ОСРВ, но даже они могут быть бессильны – это граница выбора между схемным (аппаратным) и программными решениями
10-100 мкс Операционные системы реального времени
100мкс-1мс ОСРВ, RTAI, RT LINUX, расширения реального времени для Windows NT,CE
1мс Можно пытаться делать что-то с LINUX и Windows NT, но не для систем, где опоздания реакции могут привести к тяжёлым последствиям

 

Таким образом, видно, что временные рамки ОСРВ достаточно жёсткие. Среди современных операционных систем есть класс продуктов, разработанных специально для построения систем жёсткого реального времени – Vx Works, OS9, QNX, LynxOS, OSE и другие. Эти системы содержат необходимый набор инструментов и в некоторых случаях являются единственным выбором – на него приходится идти, невзирая на затраты. Однако достаточно часто требования к реальному времени (полная предсказуемость времени реакции) допускают компромиссы, например, необходимо добиться только нужной средней производительности.

Иногда достаточно жёстко контролировать только одно из событий, допуская при этом задержки реакции на остальные. В подобных случаях возможности выбора расширяются и желаемых результатов можно достичь, используя такие широко распространённые операционные системы, как LINUX, Windows NT, Windows CE,дополняя их расширениями реального времени (RTAI, RT LINUX, RTX).

 

Требования, предъявляемые к операционным системам реального времени при проектировании

Требование 1. ОС должна быть многопоточной (multi-threaded) и прерываемой.

Как указывалось выше, ОСРВ должна быть предсказуемой, что означает максимальное время выполнения того или иного действия, которое должно быть известно заранее и должно соответствовать требованиям приложения.

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

Требование 2. Должно существовать понятие приоритета потока.

Проблема в том, чтобы определить, какой задаче требуется ресурс. В идеальной ситуации ОСРВ отдаёт ресурс потоку или драйверу с ближайшим крайним сроком (так называемые ОС, управляемые временным ограничением (deadline driven OS)).

Чтобы реализовать это, ОС должна знать время, требуемое каждому из выполняющихся потоков для завершения (до сих пор не существует ОС, построенной по этому принципу, так как он слишком сложен для реализации), поэтому разработчики ОС принимают иную точку зрения: вводится понятие уровня приоритета задачи, и временные ограничения сводят к приоритетам. Так как умозрительные решения чреваты ошибками, показатели СРВ при этом снижаются. Чтобы более эффективно осуществить указанные преобразования ограничений, проектировщик может воспользоваться теорией расписаний или имитационным моделированием, хотя и это может оказаться бесполезным. На сегодняшний день не имеется иного решения, поэтому понятие приоритета потока необходимо.

Требование 3. ОС должна обеспечивать предсказуемые механизмы синхронизации задач.

Задачи разделяют данные (ресурсы) и должны сообщаться друг с другом, следовательно, должны существовать механизмы блокирования и коммуникации.

Требование 4. Должна существовать система наследования приоритетов.

На самом деле, именно этот механизм синхронизации и тот факт, что различные потоки используют одно и то же пространство памяти, отличают потоки от процессов. Процессы не разделяют одно и то же пространство памяти. Так, например, старые версии UNIX не являются многопоточными. Старый UNIX –многозадачная ОС, где задачами являются процессы, которые сообщаются через потоки (PIPEZ) и разделяемую память. Оба эти механизма используют файловую систему, а её поведение непредсказуемо.

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

Чтобы устранить такие инверсии, ОСРВ должна допускать наследования приоритета, т.е. повышение приоритета до уровня вызывающего потока. Наследование означает, что блокирующий ресурс поток наследует приоритет блокируемого потока (справедливо лишь в том случае, если блокируемая нить имеет более высокий приоритет).

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

Требование 5. Поведение ОС должно быть известно.

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

• Латентную задержку прерывания (т.е. время от момента прерывания до момента запуска задачи): она должна быть предсказуема и согласована с требованиями приложения. Эта величина зависит от числа одновременно «висящих» прерываний.

• Максимальное время выполнения каждого системного вызова (должно быть предсказуемым и независимым от числа объектов в системе).

• Максимальное время маскирования прерываний драйверами и ОС.

• Системные уровни прерываний.

• Уровни прерываний драйверов устройств, их временные характеристики и так далее.

Когда все указанные характеристики ОС известны, можно представить разработку СРВ на её базе с учётом возможностей выбранной ОСРВ и аппаратуры.

 


Поделиться с друзьями:

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.039 с.