Читаем Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С полностью

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

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

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

Операционные системы реального времени могут быть классифицированы по степени риска, связанного с невыполнением задачи за установленное ограниченное время обработки. Если система не завершает назначенную задачу за ограниченное время, то происходит сбой в работе ОСРВ. Даже удачное завершение задачи с запаздыванием должно считаться сбоем. Например, если мы рассматриваем ОСРВ, корректирующую направление полета ракеты, то будет считаться сбоем, если вычисления не будут закончены достаточно быстро, чтобы воздействовать на ход ракеты. По критичности ограничений, налагаемых на время отклика, системы ОСРВ можно разделить на следующие категории [8]:

• Жесткая система реального времени: система, где выход момента окончания вычислений за установленные временные рамки ведет к сбою системы;

• Твердая система реального времени: система, в которой небольшой выход за установленный предельный интервала может допускаться;

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

ОСРВ выполняет все действия, связанные с задачей, включая следующее:

• Управление задачей, включая планирование и диспетчеризацию;

• Связь между задачами (межзадачная связь);

• Управление системой памяти;

• Управление системой ввода–вывода (I/O);

• Синхронизация;

• Управление обработкой ошибок;

• Управление cообщениями.

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

Далее в настоящей главе мы рассмотрим эти понятия.

Вопросы для самопроверки

Вопрос: Что такое задача?

Перейти на страницу:

Похожие книги

C# 4.0: полное руководство
C# 4.0: полное руководство

В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки. Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

Герберт Шилдт

Программирование, программы, базы данных
Программирование. Принципы и практика использования C++ Исправленное издание
Программирование. Принципы и практика использования C++ Исправленное издание

Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие. Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток. Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».

Бьёрн Страуструп , Ирина Сергеевна Козлова , Бьерн Страуструп , Валерий Федорович Альмухаметов

Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT