Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



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

1. Общие сведения.

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

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

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

Говорят, что система работает в реальном времени, если время выполнения программы не превышает допустимого времени реагирования.

Различают системы двух основных типов - системы жесткого реального времени и мягкого.

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

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

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

Объекты, которые обслуживаются, имеют уникальные характеристики, и причем обслуживать их нужно не позже заданного времени

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

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

2. Основные параметры ОСРВ

Время реакции системы. Иногда это время подменяют временем реагирования на прерывание. Но последнее время не учитывает то, что в цепочку обработки события входят датчики, первичные преобразователи (усилители, оцифровщики), интерфейсная схема и только потом контроллер прерываний. Кроме этой цепочки и структура системы может влиять на время. Например, если процессор имеет КЭШ-память и вдруг в момент аварии КЭШ-память начинает перезаписывать данные в ОЗУ, тратя драгоценное время.

Время реагирования системы чрезвычайно зависит как от объекта, от обрамления системы, так и от внутренне структуры процессора.

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

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

К другим параметрам относятся размер ОС, возможность работы ОС из ПЗУ и другие.

3. Механизмы реального времени

Самое главное это опрос - диспетчеризация, и приоритеты процессов.

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

В ОСРВ есть готовые диспетчеры с заранее определенными алгоритмами и характеристиками.

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

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

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

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

4. Структура ОСРВ

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

При обслуживании задачи реагирования на прерывания запрещены. То есть флажки устанавливаются, а обслуживания нет.

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

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

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

5. Разновидности ОСРВ

Различают множество разновидностей ОСРВ и их подразделяют на множество типов. Одним из типов являются системы с ядром реального времени. Пример такой системы это QNX. Ядро реального времени занимает малый размер - 8 Кб. То есть размещается в простейшей схеме ПЗУ. Это ядро выполняет диспетчеризацию и работает с внешними системными процессами. Эти системные процессы грубо можно представить как драйвер устройств в компьютере. Они отличают за файловую систему, за общение с сетью, за общение с удаленными процессами. QNX система существует уже около 20-30 лет и в настоящее время она используется в очень надежных системах.

Системы с макроядром называются исполнительными системами реального времени. То есть макроядро составляется пользователем из инструментария предлагаемого ОС. Пример ОС - vxWorks. В подобных системах сборка, компиляция ОСРВ осуществляется на эмуляторах. И после предварительно отладки загружается в целевую систему. Подобный порядок действий в настоящее время используется в большинстве ОСРВ и ОСРВ в настоящее время больше делится на Unix-подобные, Linux-подобные и Windows-подобные.

Windows-подобные используют много средств из ОС компьютера и добавлены механизмы реального времени. Но все такие системы не получили большого распространения.





Дата публикования: 2015-01-23; Прочитано: 690 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.012 с)...