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

Автор работы: Пользователь скрыл имя, 19 Января 2015 в 18:43, реферат

Краткое описание

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

Содержание

1. Введение: Особенности операционных систем реального времени
1.1. Процессы, потоки, задачи
1.2. Планирование, приоритеты
1.3. Память
1.4. Прерывания
1.5. Часы и таймеры
1.6. Стандарты ОСРВ
1.6.1. POSIX
1.6.2. DO-178B
1.6.3. ARINC-653
1.6.4. OSEK
1.6.5. Стандарты безопасности
1.7. Настраиваемость операционных систем
2. Краткие характеристики наиболее распространенных ОСРВ
2.1. VxWorks
2.2. QNX Neutrino RTOS
2.3. RTEMS
2.4. ChorusOS
2.5. Расширения реального времени для Windows NT
2.5.1. RTX для Windows NT
2.5.2. INtime
2.5.3. Microsoft Windows Embedded
2.6. TinyOS
2.7. OSEK/VDX
2.8. OSE RTOS
2.9. Contiki
2.10. pSOS
2.11. INTEGRITY
2.12. LynxOS
2.13. Microware OS-9
2.14. GRACE-OS
2.15. C EXECUTIVE
2.16. CMX-RTX
2.16.1. CMX-TINY+
2.17. Inferno
3. ОС, разработанные специально для портативных устройств
3.1. ITRON
3.2. Windows CE
3.3. JavaOS
3.4. Jbed
3.5. Nucleus RTOS
3.6. EMERALDS
3.7. CORTEX
3.8. DeltaOS
3.9. Palm OS
3.10. Symbian OS (EPOC)
4. Настраиваемость операционных систем
4.1. Адаптация, осуществляемая человеком
4.1.1. Статическая адаптация, инициированная проектировщиком
4.1.2. Динамическая адаптация, инициированная администратором
4.2. Адаптация, инициированная приложением
4.2.1. Адаптация с уровня приложения
4.2.2. Адаптация на уровне ядра
4.3. Автоматическая адаптация
5. Сводные таблицы характеристик свойств ОСРВ

Прикрепленные файлы: 1 файл

Операционные системы реального времени.doc

— 1.25 Мб (Скачать документ)

Для нужд совместной программно-аппаратной разработки в Hawk встроены средства для работы с внутрисхемными эмуляторами серии visionICE фирмы EST. Есть средства отладки в режиме реального времени.

Для тестирования и верификации ПО разработано средство верификации программного обеспечения CodeTEST (Applied Microsystems), встраиваемое в Hawk. Это средство дает возможность осуществлять трассировку встраиваемого ПО и контролировать его характеристики, а также ход выполнения тестов и распределение памяти.

2.14. GRACE-OS

</a)Система GRACE-OS представляет собой планировщик CPU в режиме мягкого реального времени для мобильных устройств, выполняющих, главным образом, мультимедийные приложения [YN03]. Система GRACE-OS разработана в Иллинойском университете (University of Illinois, Department of Computer Science). При проектировании системы первоочередными целями ставились задачи поддержки качества сервиса и сбережения энергии. Для достижения поставленных целей GRACE-OS интегрирует динамическое масштабирование напряжения в диспетчеризацию на основе модели мягкого реального времени и определяет, как быстро, когда и как долго должно осуществляться выполнение приложений. Планировщик GRACE-OS реализован внутри ядра Linux, и апробирован на лэптопе HP Pavilion.

Планировщик GRACE-OS состоит из трех основных компонентов – профайлера, планировщика SRT (soft real-time) и адаптера скорости, как показано на рис. 12.

Рис. 12. Архитектура GRACE-OS

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

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

2.15. C EXECUTIVE

C EXECUTIVE (JMI Software Systems, INC.) [CEXEC] – это многозадачное ядро реального времени для встраиваемых систем, работающее на 8-, 16- и 32-битовых CISC процессорах, на широком диапазоне RISC процессоров и DSP (Digital Signal Processor). Это ядро обеспечивает быстрое переключение контекста, имеет маленький размер. Над ядром можно надстраивать DOS-совместимую файловую систему, TCP/IP и SNMP.

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

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

2.16. CMX-RTX

Операционная система CMX-RTX [CMXRTX] является многозадачной операционной системой реального времени для микроконтроллеров, микропроцессоров, микрокомпьютеров и DSP (Digital Signal Processor). Эта система поддерживает вложенные прерывания, имеет быстрое время переключения контекстов, низкие времена задержек прерываний и крайне малые размеры. Планировщик задач и компонент управления прерываниями написаны на языке ассемблера для ускорения вычислительного процесса. CMX-RTX имеет компоненты управления задачами, событиями, временем, сообщениями, очередями, ресурсами, семафорами, фиксированными блоками памяти, автоматическим выключением питания, асинхронной последовательной передачей данных (UART – universal asynchronous receiver-transmitter), приоритетными прерываниями.

2.16.1. CMX-TINY+

CMX-TINY+ [CMXTINY] является многозадачной операционной системой реального времени для широкого ряда микропроцессоров и микрокомпьютеров, которая создана для разработки приложений, выполняющихся под ОСРВ и использующих только встраиваемую память процессора. Эта система обеспечивает незначительно меньшую функциональность, чем система CMX-RTX. Она создавалась для того, чтобы ее можно было поместить внутри небольшой бортовой памяти RAM (random access memory) в чипе, которая имеет размер 512 байтов и больше.

2.17. Inferno

Inferno (корпорация Lucent) – это компактная операционная система, созданная для построения распределенных и сетевых систем на широком диапазоне устройств и платформ [INFERNO]. Эта система обладает межплатформенной переносимостью и может выполняться как пользовательское приложение или как независимая операционная система. Поддерживается для большинства широко распространенных операционных систем и платформ. Каждая система Inferno предоставляет пользователю идентичную среду разработки независимо от основной операционной системы или архитектуры, разрешая работать в гомогенной среде с множеством различных платформ.

Inferno – это не только операционная система; она также является полноценной средой разработки, обеспечивая все средства, необходимые для создания, отладки и тестирования приложений. Приложения, создаваемые в среде Inferno, пишутся на языке Limbo, который является модульным параллельным языком программирования с C-подобным синтаксисом. Код на Limbo компилируется в архитектурно-независимый байтовый код, который затем может быть выполнен в режиме интерпретации (или код компилируется оперативно) для целевого процессора. Таким образом, Inferno-приложения выполняются идентично на всех Inferno-платформах.

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

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

3.1. ITRON

ITRON (Industrial The Real-time Operating system Nucleus) – это широко распространенная в Японии операционная система для встроенных систем, которая используется в роботах, аппаратах факсимильной связи, цифровых камерах, а также в хостах разнообразных устройств [ITRON]. По сути, ITRON является открытым стандартом ОСРВ для встроенных систем. После создания в Японии спецификации µITRON (micro-ITRON) и быстро возросшей ее популярности корпорация Accelerated Technology (разработчик серии ОСРВ Nucleus с открытым исходным кодом) разработала ядро реального времени Nucleus µiPLUS, которое соответствует стандартам интерфейса µITRON, что позволяет переносить ранее созданные приложения, соответствующие этому стандарту, на широкий ряд процессоров, выполняющих Nucleus µiPLUS.

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

Несмотря на эту популярность, ОС ITRON имеет большой дефект. Широкие возможности по модификации ОС ITRON, данные разработчикам для того, чтобы они могли подогнать спецификации ядра под свои требования, основано на концепции “слабой стандартизации”. Слабая стандартизация приводит к большим трудностям в создании унифицированной среды разработки ОС ITRON.

При проектировании спецификаций ITRON учитывались следующие технические требования к спецификациям ОСРВ для встроенных систем:

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

Чтобы спецификации ITRON удовлетворяли этим требованиям, они проектировались в соответствии со следующими принципами:

  • Увеличить адаптируемость к аппаратуре, избегая чрезмерной виртуализации аппаратуры. Адаптация к аппаратуре означает изменение спецификаций ОСРВ и внутренних реализационных методов, приводящее к возрастанию производительности всей системы в целом. Более точно, спецификации ITRON вводят явное разграничение между аспектами, которые следует стандартизовать через аппаратную архитектуру, и вопросами, которые должны быть решены оптимально на основе природы аппаратуры и ее производительности. Среди аспектов, которые стандартизуются, выделяются правила планирования задач; имена и функции системных вызовов; имена, порядок и значение параметров; имена и значения кодов ошибок. Во всех других вопросах стандартизация и виртуализация не проводится, т.к. это может привести к снижению производительности во время выполнения. Это относится к размеру параметра в битах и методам, стартующим обработку прерываний, – такие вопросы решаются отдельно для каждой реализации.
  • Учитывать адаптируемость к приложениям. Адаптация к приложению означает изменение спецификаций ядра и внутренних реализационных методов, которые опираются на функции ядра и производительность, требуемую приложением, с целью повышения производительности всей системы в целом. В случае встроенной системы объектный код ОС генерируется отдельно для каждого приложения; таким образом, адаптация к приложению работает особенно хорошо (рис. 13). При проектировании спецификаций ITRON такая адаптация сопровождается обеспечением независимости функций ядра друг от друга, насколько это возможно, тем самым, разрешая каждому приложению выбрать только те функции, которые ему необходимы. На практике это выражается в том, что большинство µITRON-спецификационных ядер поставляются в библиотечном формате. Каждый системный вызов обеспечивается единственной функцией, что позволяет легко встраивать только необходимые функции.
  • Обеспечить простоту обучения разработчика программного обеспечения. В спецификациях ITRON стандартизация применяется как способ облегчения приобретения разработчиками необходимых навыков. Согласованность в использовании терминологии, именования системных вызовов и удобная справочная система гарантируют быстрое усвоение основных положений и широкое применение их впоследствии. Возможен и другой способ обучения – на основе изучения текстовых материалов.
  • Организация спецификаций в серии и разделение на уровни. Чтобы обеспечить адаптацию к широкому многообразию аппаратуры, спецификации организуются в серии и подразделяются на уровни. Например, спецификация µITRON (версия 2.0) была создана, главным образом, для использования в системах с 8- или 16-битовых MCU, в то время как спецификация ITRON2 предназначена для 32-битовых процессоров. Каждая спецификация далее разбивается на уровни, основанные на степени востребованности каждой функции. При реализации ядра соответствующий уровень выбирается на основе предназначения приложений и требуемых для них функций. Последняя реализованная спецификация µITRON3.0 подразделяет системные вызовы на три уровня, что дает возможность одной этой спецификацией покрывать диапазон от маломасштабных до крупных процессоров. Спецификации для распределенных и многопроцессорных систем также могут быть стандартизованы с помощью серий ITRON-спецификаций.
  • Обеспечивать широкий набор функциональных возможностей. Примитивы ядра не ограничиваются малым количеством функций, напротив, они покрывают широкий диапазон разнообразных возможностей. Выбирая примитивы, которые хорошо подходят для данного типа приложения и аппаратуры, системные разработчики смогут быстро и легко создавать программы, обеспечивающие высокую производительность времени выполнения.

Из доступных версий спецификаций ITRON самой последней является спецификация µITRON4.0. Рассмотрим ее более подробно.

Под термином “задача” в системе ITRON понимается единица параллельной обработки. Переключение выполнения с одной задачи на другую называется диспетчеризацией. Процесс выбора следующей задачи для выполнения называется планированием.

Рис. 13. Адаптация в спецификации µITRON.

Для описания состояния задач система ITRON оперирует следующими понятиями:

  • Выполняющаяся (running),
  • Готовая к выполнению (ready),
  • Блокированная (bloked)
  • Ждущая (waiting) – ожидается выполнение каких-либо условий,
  • Приостановленная (suspended) – остановлена другой задачей или самой собой,
  • Ждущая-приостановленная (waiting-suspended) – ожидаются условия и приостановлена,
  • Спящая (dormant) – еще не выполнялась или уже завершилась,
  • Несуществующая (non-existent) – не существует в системе, или не создавалась, или уже уничтожена.

Планирование задач основано на приоритетах, присвоенных задачам, и является вытесняющим (preemptive). Совокупность задач с одинаковым приоритетом обслуживается по принципу – “первый пришел, первым обслужен” (FCFS – first come, first served).

Управление задачами. Функции управления задачами включают создание и уничтожение задачи, активацию и завершение задачи, отмену запросов на активацию и получение информации о состоянии задачи. Задача является объектом с уникальным идентификатором (ID).

Обработка прерываний. В спецификации µITRON4.0 обработка внешних прерываний производится с помощью обработчиков прерываний (interrupt handlers) и программ обслуживания прерываний (interrupt service routines). Обработчики прерываний управляют устройствами IRC (Interrupt Request Controller) и зависят от архитектуры прерываний процессора. Они не могут быть перенесены на другие платформы без изменений. Программы обслуживания прерываний запускаются обработчиками прерываний; они были введены в спецификации µITRON4.0 для улучшения переносимости обработки прерываний.

Спецификация µITRON4.0 определяет интерфейсы приложения для регистрации обработчика прерываний и интерфейсы приложения для программы обслуживания прерываний. Реализация должна обеспечивать либо один набор интерфейсов, либо оба. Если обеспечиваются интерфейсы только для регистрации обработчика прерываний, ядро может обеспечить связующую программу для обработчика прерываний, которая включает процессы, запускающиеся до и после выполнения обработчика прерываний. Если обеспечиваются интерфейсы только для регистрации программы обслуживания прерываний, ядро должно обеспечить для этой программы обработчик прерываний. Поведение системы с использованием обоих интерфейсов определяется реализацией.

Информация о работе Операционные системы реального времени