Смекни!
smekni.com

работа ( по дисциплине “Организация ЭВМ и вычислительных систем”) «Операционные системы реального времени» (стр. 1 из 3)

Министерство образования российской федерации

Московский государственный институт электроники и математики

(технический институт)

Кафедра ИКТ

КУРСОВАЯ РАБОТА

( по дисциплине “Организация ЭВМ и вычислительных систем”)

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

Выполнила: студентка группы С-35

Ухина О.В.

Проверил: Мартиросян С.Т.

Москва

2009


Оглавление

Введение............................................................................................................................... 3

Поставленные задачи........................................................................................................... 4

Архитектура ОСРВ и требования к ней............................................................................ 5

Практическая часть............................................................................................................ 10

Установка QNX.................................................................................................................. 10

Тест на инверсию приоритетов........................................................................................ 10

Особенности написания кода под QNX.......................................................................... 14

Заключение......................................................................................................................... 17


"Чем меньше заслуга, тем громче похвала "

Френсис Бэкон

Введение

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

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

Вообще, система реального времени включает в себя:

1. Прикладное программное обеспечение;

2. Операционную систему реального времени;

3. Аппаратное обеспечение.

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

Современные ОСРВ

В данной работе будет рассматриваться ОС QNX (установка, работа и разработка прикладных программ в ней).

Немного истории этой ОС...

В 1980 году два студента Университета Ватерлоо Гордон Белл и Дэн Додж закончили изучение курса по разработке ОС, в ходе которого они создали основу ядра, способного работать в реальном времени. Затем переехали в город Каната в провинции Онтарио (северная Силиконовая долина Канады) и основали компанию Quantum Software Systems. В 1982 году была выпущена первая версия QNX для платформы Intel 8088.

Это одна из самых популярных ОСРВ, помимо VxWorks и Windows CE.

POSIX-совместимость

POSIX-совместимость — большое преимущество QNX.

QNX Neitrino поддерживает:

· Простоту переноса и функциональную совместимость приложений между системами, поддерживающими стандарт POSIX, включая Linux и Unix - в большинстве случаев перенос сводится к перекомпиляции и компоновке с библиотеками QNX Neutrino.

· Чистоту реализации стека протоколов IP, который получает гибкость прикладной среды открытого стандарта POSIX, снижая риск нарушения авторских прав.

· Знакомую среду разработки, позволяющую программистам с опытом работы в UNIX или Linux освоиться в QNX Neutrino практически мгновенно.

Поставленные задачи

· Исследовать архитектуру и особенности ОСРВ, так как из нее вытекают некоторые проблемы работы системы, например, инверсия приоритетов.

· Выявить особенности написании программ: написание драйверов и программирование для GUI(написание кода в PhAB - Photon Application Builder), программирование в сетях.

Архитектура ОСРВ и требования к ней

ОСРВ бывают нескольких типов архитектур:

1. Монолитная ОС — ОС представляет собой набор модулей, взаимодействующих между собой, которые предоставляют входные интерфейсы для обращений к аппаратуре. Из-за сложного взаимодействия модулей возникает непредсказуемое поведение ОС.

2. Уровневая ОС, например MS-DOS. Прикладные программы в них могут напрямую обращаться к аппаратуре, а не только посредством ядра и резидентных сервисов. Преимущества — быстрый доступ прикладных приложений к аппаратуре, наибольшая предсказуемость по сравнению с монолитными ОС. Недостаток — отсутствие многозадачности. Проблема обработки обработки асинхронных событий сводилась к их буферизации, а затем последовательному опросу и обработке. Но соблюдение критических сроков обслуживания обеспечивалось высоким быстродействием комплекса по сравнению со скоростью протекания внешних процессов.

3. Одна из наиболее эффективных архитектур для построения СРВ является клиент-сервер архитектура. В такой архитектуре выносятся сервисы ОС на уровень пользователя в виде серверов, микроядро является диспетчером сообщений между пользовательскими программами и серверами — системными сервисами. Такая архитектура дает много преимуществ: повышается надежность ОС, так как каждый сервис является самостоятельным приложением, которое легко отладить и отследить ошибки; система лучше масштабируема, так как можно отключать ненужные сервисы, и это не повлияет на ее работоспособность; повышается отказоустойчивость, так каждый модуль может быть перезагружен без перезагрузки системы. QNX имеет клиент-серверную архитектуру.

Функциональные требования к ОСРВ

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

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

Диспетчеризация (scheduling) потоков — распределение ресурсов между несколькими задачами. Главный ресурс для распределения — процессор. В однопроцессорной системе по-настоящему параллельное вычисление невозможно. В многопроцессорной системе тоже возникает проблема разделения ресурсов, причина — одна шина. Поэтому при построении СРВ применяют группы вычислительных комплексов, объединенных общим управлением. Возможность работы с несколькими процессорами в пределах одного вычислительного комплекса и максимально прозрачное взаимодействие в пределах одной локальной сети нескольких комплексов является важной чертой ОСРВ, значительно расширяющей возможности ее применения.

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

Приоритет потока — целочисленное значение, на основании которого ОС принимает решение, когда предоставить потоку время процессора. Количество приоритетов определяется ОС. В QNX их 64, а в VxWorks — 256.