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

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

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

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

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

8.2. Что является целью ОСРВ?

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

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

Все события обрабатываются как бы одновременно (хотя мы должны снова подчеркнуть, что это не соответствует действительности, так как мы используем для обработки только одно устройство — последовательный процессор).

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

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

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

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