ISSN 1991-3087
Рейтинг@Mail.ru Rambler's Top100
Яндекс.Метрика

НА ГЛАВНУЮ

Требования к операционным системам реального времени

 

Горбунов Владимир Владимирович,

аспирант Пензенского государственного университета.

 

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

Основная задача системы реального времени - получение правильных результатов за определенный крайний срок. Следовательно, вычислительная правильность системы зависит от двух составляющих: логической правильности результатов, и правильности выбора времени[2].

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

Для этого должны выполняться следующие требования.

Ограничение времени отклика. После наступления события реакция на него гарантированно должна последовать до предустановленного крайнего срока. Отсутствие такого ограничения рассматривается как серьезный недостаток программного обеспечения.

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

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

 

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

 

Мультипрограммность и мультизадачность.

Требование 1. Операционная система должна быть мультипрограммной и мультизадачной (многопоточной — multi-threaded), а также активно использовать прерывания для диспетчеризации.

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

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

 

Приоритеты задач.

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

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

 

Наследование приоритетов.

Требование 3. Должна существовать система наследования приоритетов.

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

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

 

Синхронизация процессов и задач.

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

 

Предсказуемость.

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

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

• максимальное время выполнения каждого системного вызова (оно должно быть предсказуемо и не должно зависеть от числа объектов в системе)[1].

 

Литература

 

1.                  Гордеев А.В. Операционные системы. 2-е изд. / СПб.: Питер, 2004. – 415с.: ил.

2.                  Бурдонов И. Б., Косачев А. С., Пономаренко В. Н. Операционные системы реального времени/ Институт системного программирования РАН, 2006. – 98с.: ил.

 

Поступила в редакцию 14.09.2012 г.

2006-2019 © Журнал научных публикаций аспирантов и докторантов.
Все материалы, размещенные на данном сайте, охраняются авторским правом. При использовании материалов сайта активная ссылка на первоисточник обязательна.