Характеристики операционных систем реального времени. Операционные системы реального времени. Стандарты операционных систем реального времени

Вайбер на компьютер 22.03.2019
Вайбер на компьютер

Раздел обновляется ежедневно. Всегда свежие версии самых лучших бесплатных программ для повседневного использования в разделе Необходимые программы . Там практически все, что требуется для повседневной работы. Начните постепенно отказываться от пиратских версий в пользу более удобных и функциональных бесплатных аналогов. Если Вы все еще не пользуетесь нашим чатом , весьма советуем с ним познакомиться. Там Вы найдете много новых друзей. Кроме того, это наиболее быстрый и действенный способ связаться с администраторами проекта. Продолжает работать раздел Обновления антивирусов - всегда актуальные бесплатные обновления для Dr Web и NOD. Не успели что-то прочитать? Полное содержание бегущей строки можно найти по этой ссылке .

Словарь терминов

Внешняя скорость передачи данных (от 25.0 до 600 Мб/с)
Скорость, с которой осуществляется передача данных из буфера жесткого диска в оперативную память компьютера. Определяется типом и пропускной способностью интерфейса жесткого диска.

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

Время наработки на отказ (от 20000 до 5000000 ч)
Время безотказного функционирования жесткого диска. Производители обычно приводят среднюю статистическую наработку на отказ, измеряемую в сотнях тысяч часов работы. Понятно, что чем выше этот показатель, тем лучше. Изготовители принимают особые меры для повышения надежности, оснащая контроллер диска специальными средствами самодиагностики, обнаружения ошибок, "скрытия" дефектных секторов и т. п. Такие технологии, как S.M.A.R.T. (технология самотестирования, анализа и отчетности), позволяют прогнозировать надвигающийся отказ диска.

Емкость (от 1 до 6000 Гб)
Физический объем жесткого диска, т.е. количество байт данных, которое может уместиться на жестком диске. Емкость является главным параметром жесткого диска и определяется рядом факторов - поверхностной плотностью записи, размером и количеством дисковых пластин. Физический объем HDD определен изначально и состоит из объема, занятого служебной информацией, и объема, доступного пользовательским данным.

Интерфейс Ethernet
Подключение жесткого диска по интерфейсу Ethernet.
Ethernet - самая распространенная технология для построения локальных сетей. Жесткий диск с интерфейсом Ethernet превращается в настоящий сетевой диск. Доступ к данным на диске могут получить все пользователи, подключенные к локальной сети.

Интерфейс FireWire
Подключение жесткого диска по интерфейсу FireWire.
FireWire - высокоскоростной последовательный интерфейс. Используется для подключения внешних жестких дисков. Обладает превосходной пропускной способностью, позволяя передавать информацию со скоростью до 400 Мбит/с. Обеспечивает непрерывный поток данных, который необходим при работе с видеоматериалом.

Интерфейс IDE
Подключение жесткого диска по интерфейсу IDE.
IDE - параллельный интерфейс передачи данных. Используется в старых моделях настольных компьютеров и ноутбуков. Обладает максимальной пропускной способностью 133 Мб/с. В настоящее время практически везде заменен на интерфейс SATA.

Интерфейс SATA/150
Подключение жесткого диска по интерфейсу SATA/150.
SATA (Serial ATA) - последовательный интерфейс передачи данных, который практически везде заменил старый интерфейс IDE. Используется для подключения внутренних жестких дисков в ноутбуках и настольных системах. По сравнению с IDE SATA/150 обеспечивает более высокий уровень помехозащищенности и большую пропускную способность (до 150 Мб/сек).

Интерфейс SATA/300
Подключение жесткого диска по интерфейсу SATA/300.
SATA/300 (или Serial ATA II) - последовательный интерфейс передачи данных, дальнейшее развитие интерфейса SATA/150 (см."Интерфейс SATA/150"). Главное отличие от предыдущей версии состоит в удвоении скорости передачи данных (до 300 Мб/с) и поддержке технологии NCQ (см. "Поддержка NCQ"). Помимо этого в новом стандарте появилась возможность "горячего" подключения/отключения жесткого диска, возможность подключения к одному порту до 15 устройств.

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

Интерфейс USB
Подключение жесткого диска по интерфейсу USB.
USB - универсальный последовательный интерфейс передачи данных. Обладает пропускной способностью 12 Мбит/сек для USB 1.1 и 480 Мбит/сек для USB 2.0. Практически во всех современных моделях жестких дисков используется версия USB 2.0.
Интерфейс USB является стандартом для внешних жестких дисков. В настоящее время USB-устройства стремительно завоевывают все больший сектор рынка, подкупая потребителя простотой подключения и установки.

Интерфейс eSATA
Подключение жесткого диска по интерфейсу eSATA.
eSATA (external SATA) - последовательный интерфейс передачи данных, аналогичен интерфейсу SATA-300, предназначен для подключения внешних устройств, например, жестких дисков.

Количество HDD (от 1 до 5)
Количество жестких дисков, которые используются в устройстве хранения данных.
Некоторые внешние накопители могут включать не один жесткий диск, а несколько. Это позволяет увеличить суммарную емкость устройства и организовать дисковый массив. См. "Поддержка Raid 0", "Поддержка Raid 1" .

Объем буфера (от 1.0 до 64 Мб)
Современные жесткие диски обязательно имеют оперативную память, которую называют кэшем или буфером. Это память, предназначенная для хранения данных, обращение к которым происходит наиболее часто. Данные при этом считываются не с дисковой пластины, а из буфера, что обеспечивает более высокую скорость передачи данных. В настоящее время стандартом считается буфер объемом 8 Мб, более "продвинутые" модели имеют 16 и даже 32 Мб.

Объем флэш-памяти (256 Мб)
Объем флэш-памяти, установленной в накопителе.
Флэш-память (энергонезависимая перезаписываемая твердотельная память) устанавливается в гибридных накопителях (см. "Гибридный накопитель").
Флэш-память используется при записи небольшого объема данных в гибридный накопитель, при этом основная механика жесткого диска "отдыхает". Чем больше объем флэш-памяти, тем реже будет происходить запись на магнитные пластины жесткого диска и тем меньше будет потребляться энергии.

Скорость вращения (от 3600 до 15000 rpm)
Параметр, характеризующий скорость вращения шпинделя жесткого диска. Чем больше этот параметр, тем быстрее происходит процесс обращения к информации, хранящейся на винчестере. В настольных компьютерах, как правило, используются жесткие диски IDE со скоростью вращения либо 5400 об/мин, либо 7200 об/мин. IDE-диски для ноутбуков имеют скорость вращения 4200 или 5400 об/мин для бюджетных моделей и 7200 об/мин для "продвинутых". Для SCSI-дисков минимальная скорость вращения пластин - 7200 об/мин, обычно скорость вращения пластин такого рода дисков составляет 10000 или 15000 об/мин. Следует учесть, что при возрастании скорости вращения, увеличивается температура корпуса жесткого диска, и диски со скоростью 7200 об/мин и выше требуют либо применения корпуса с продуманной конструкцией, обеспечивающий отвод тепла, либо дополнительного охлаждения диска внешним вентилятором.

Скорость записи (от 7 до 200 Мб/с)
Скорость, с которой осуществляется запись данных на накопитель.

Скорость записи - важный параметр для SSD-дисков. У разных моделей он может отличаться в десятки раз. Технология изготовления твердотельных накопителей стремительно развивается, и SSD-винчестеры уже работают быстрее HDD.
Высокая скорость записи позволит уменьшить время копирования файлов и увеличит общую производительность системы.

Скорость чтения (от 11 до 250 Мб/с)
Скорость, с которой осуществляется чтение данных с накопителя.
Для твердотельных (SSD) накопителей производители часто указывают скорость записи и скорость чтения данных, в то время как для "классических" жестких дисков обычно указывается только внутренняя скорость обмена данными.
Скорость чтения - важный параметр для SSD-дисков. У разных моделей он может отличаться в десятки раз. Технология изготовления твердотельных накопителей стремительно развивается, и SSD-винчестеры уже работают быстрее HDD.
Высокая скорость чтения позволит уменьшить время загрузки операционной системы или время копирования файла, увеличит общую скорость работы компьютера.

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

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

Среднее время задержки (Latency) (от 1.99 до 8.3 мс)
Время, за которое требуемые данные позиционируются под головками чтения/записи. Определяется производителем как время поворота диска на 180 градусов и зависит от скорости вращения шпинделя жесткого диска. Чем выше скорость вращения дисков, тем меньше значение времени задержки.

Твердотельный накопитель
Твердотельный накопитель, или SSD (Solid State Disk) - устройство для хранения данных, в котором используется твердотельная память (обычно построенная на микросхемах флэш-памяти).
Твердотельный накопитель может полностью заменить обычный HDD (Hard Drive Disk) с магнитным диском: его интерфейс и установочные размеры полностью соответствуют общепринятым стандартам. SSD-диск обладает определенными преимуществами, которые выгодно отличают его от HDD. Он работает бесшумно, не боится механических воздействий, в большинстве случаев обеспечивает более высокую скорость передачи данных. Область применения этого устройства - мобильные компьютеры и высоконадежные серверные системы. Основной недостаток твердотельных дисков - высокая цена.

Ударостойкость при работе (от 2 до 1500 G)
Уровень чувствительности жесткого диска к ударам в рабочем состоянии. Измеряется в единицах допустимой перегрузки, которую может выдержать винчестер. Чем показатель выше, тем лучше защищен диск от внешних воздействий.
Этот параметр очень важен, если предполагается использовать диск в качестве переносного, так как задеть работающий мобильный диск очень легко.
При стационарном использовании этот параметр не столь существенен, но все же представляет интерес, потому что в рабочем состоянии жесткий диск меньше всего защищен от внешнего воздействия (чувствительность к ударам в работающем состоянии в 5-10 раз выше, чем чувствительность в нерабочем состоянии).

Ударостойкость при хранении (от 75 до 2000 G)
Уровень чувствительности жесткого диска к ударам в нерабочем состоянии. Измеряется в единицах допустимой перегрузки. При выключенном приводе головки чтения/записи отведены на безопасную позицию, при этом их повреждение и повреждение дисковых пластин менее вероятно. Чем показатель выше, тем лучше защищен диск от внешних воздействий. Этот параметр важен, если предполагается использовать диск в качестве переносного.

Уровень шума простоя (от 17 до 40 дБ)
Уровень шума, создаваемого жестким диском в состоянии покоя, т.е. когда не выполняются никакие операции. Источником шума при простое являются вращающиеся диски винчестера. Существуют модели жестких дисков с системой гидродинамических подшипников, которые позволяют существенно снизить вибрацию и шум устройства.

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

Шифрование данных
Наличие в накопителе специального модуля для шифрования данных.
Шифрование данных происходит перед тем, как они записываются на магнитные пластины. Перед загрузкой компьютера происходит аутентификация. Если пользователь не знает пароля, то он не получит доступа к данным на диске. В случае, если ноутбук с таким накопителем или сам накопитель окажется в руках злоумышленника, он не получит доступа к зашифрованной информации.
Процесс шифрования происходит независимо от центрального процессора и совершенно незаметно для пользователя.
Жесткие диски с шифрованием данных имеют более высокую цену, по сравнению с обычными. Такие накопители могут использоваться для хранения конфиденциальной информации.

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

Чаще всего можно встретить измерение скорости передачи данных в килобитах/секунду (Кб/сек; Кбит/сек) либо в мегабитах (Мб/сек; Мбит/сек). Размер файлов, как правило, всегда указывается в байтах, Кбайтах, Мбайтах и Гбайтах.

Поскольку 1 байт – это 8 бит, на практике это будет означать, что если скорость вашего интернет-соединения равна 100 Мбит/сек, то компьютер за секунду может принять либо передать не более 12.5 Mb информации (100/8=12.5).Проще это можно объяснить, таким образом, если вы хотите скачать видео, объем которого 1.5 Gb, то у вас на это уйдет всего 2 минуты.

Естественно вышеперечисленные расчеты сделаны в идеальных лабораторных условиях. К примеру, реальность может быть совсем иная:

Здесь мы видим три числа:

  1. Ping – это число означает время за которое передаются Сетевые пакеты. Чем меньше значение этого числа, тем лучше качество интернет-соединения (желательно, чтобы значение было меньше 100ms).
  2. Далее идет скорость получения информации (входящая). Вот эту именно цифру и предлагают при подключении интернет-провайдеры (вот именно за это число "Мегабиты" вам и приходится платить свои кровно заработанные доллары/гривны/рубли и т.д.).
  3. Остается третье число, означающее скорость передачи информации (исходящая). Оно естественно будет меньше скорости получения данных, вот об этом провайдеры обычно умалчивают (хотя, по сути, большая исходящая скорость требуется редко).

От чего зависит скорость интернет соединения

  • Скорость интернет соединения зависит от тарифного плана, который устанавливает провайдер.
  • На скорость также влияет технология канала передачи информации и загруженность Сети другими пользователями. Если общая пропускная возможность канала будет ограничена, то чем больше пользователей находится в Сети и чем больше они скачивают информации, тем больше падает скорость, поскольку остается меньше "свободного места".
  • Также имеется зависимость от , к которым вы обращаетесь. К примеру, если на момент загрузки сервер может отдавать пользователю данные, со скоростью менее 10 Мбит/сек, то даже если у вас подключен максимальный тарифный план, большего вы не добьетесь.

Факторы, которые также влияют на скорость интернета:

  • При проверке, скорость сервера, к которому вы обращаетесь.
  • Настройка и скорость Wi-Fi роутера, если вы подключены через него к локальной Сети.
  • В момент проверки все работающие на компьютере программы и приложения.
  • Брандмауэры и антивирусы, которые работают в фоновом режиме.
  • Настройки вашей операционной системы и самого компьютера.

Как увеличить скорость интернета

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

Если вы используете Wi-Fi, который не защищен паролем, то к нему обычно подсоединяются другие пользователи, которые не прочь использовать халявный трафик. Обязательно установите пароль для подключения к Wi-Fi.

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

Вот эти действия, в некоторых случаях, помогают увеличить скорость интернета:

Если у вас подключено высокое интернет-соединение, а скорость оставляет желать лучшего – увеличьте пропускную скорость порта. Сделать это достаточно просто. Зайдите в "Панель управления" далее в «Система» и в раздел "Оборудование", после этого кликните по "Диспетчеру устройств". Находите «Порты (COM либо LPT)», затем разворачиваете их содержимое и отыскиваете "Последовательный порт (СОМ 1)".

После этого кликаете правой кнопкой мышки и открываете "Свойства". После этого откроется окошко, в котором нужно перейти в графу "Параметры порта". Отыскиваете параметр "Скорость" (бит в секунду) и кликаете на цифру 115200 – далее О.К! Поздравляем! Теперь у вас пропускная скорость порта увеличена. Поскольку по молчанию установлена скорость – 9600 бит/сек.

Для увеличения скорости также можно попробовать отключить планировщик пакетов QoS: Запускаем утилиту gpedit.msc (Пуск - Выполнить или Поиск - gpedit.msc). Далее: Конфигурация компьютера - Административные шаблоны - Сеть - Планировщик пакетов QoS - Ограничить резервируемую пропускную способность - Включить - выставить 0%. Нажимаем "Применить" и перезагружаем компьютер.

(Real Time Operating Systems - RTOS) относятся к программным средствам и предназна­чены для обслуживания цифровых систем в тех случаях, когда:

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

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

Принцип работы ОСРВ

При поступлении запроса производится проверка на входные данные для решения задачи. При их наличии задача начинает вы­полняться. ЕСЛИ необходимые входные данные отсутствуют, то ОСРВ переходит к следующей задаче (при наличии запроса на ее выполнение). Для получения входных данных и запуска соответствующей задачи используются прерывания. Запуск задачи обычно производится путем ее пересылки из очереди ожидающих задач в очередь задач, предназначенных для выполнения.

Каждая задача имеет входную очередь сообщений, которые она может обра­батывать только в течение отведенного интервала времени или при запросе на прерывание. Если ответ занимает слишком много времени, то задача поме­щается обратно в очередь выполняемых команд, и управление передается следу­ющей задаче.

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

Требования к ОСРВ.

Современные ОС PB должны удовлетворять следующим требованиям:

● малое время отклика (получение результата);

● реализация многозадачного режима с гибким механизмом приоритетов;

● малый объем памяти (достаточный для размещения в резидентной памяти прикладной системы);

● наличие сервисных функций и средств поддержки для разработки приклад­ных программ и ряд других.

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

Типы ОСРВ

Можно выделить два типа ОСРВ:

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

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

Система мягкого реального времени.

Этот вид систем рассмотрим на при­мере системы OS–9 фирмы Microwave Systems . В качестве инструментально­го компьютера OS –9 использует IBM – PC , работающие в среде Windows , или рабо­чие станции Sun, HP, IBM RS /6000 с операционными системами типа UNIX . Характерные особенности OS –9:

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

● гибкость структуры, обеспечивающая реконфигурацию системы и расширение ее функциональных возможностей. Функциональные компоненты OS–9:

● ядро реального времени (OS –9 kernel);

● общие средства ввода/вывода (I / O man);

● файловые менеджеры;

● средства разработки программ.

Функциональные компоненты OS –9 выполнены в виде автономных модулей, которые могут удаляться или добавляться с помощью простых команд, не требу­ющих повторной компиляции или перекомпоновки. Комбинируя модули, можно создавать целевые операционные системы с различными функциональными воз­можностями.

Рассмотрим Перечисленные выше функциональные компоненты.

Ядро реального времени

Система содержит два вида ядер:

● ядро Atomic , реализующее минимальное количество сервисных функций (ди­станционную загрузку, связь с локальной сетью, управление ведомыми микро­контроллерами). Ядро применяется в системах, встраиваемых в различную аппаратуру, имеет малый объем (24 Кбайт) и обеспечивает минимальное вре­мя отклика (3 мкс при тактовой частоте 25 МГц);

● ядро Standard , обеспечивающее выполнение широкого набора функций сер­виса и разработки прикладных программ, для реализации которых требуется больший объем памяти (до 512К байт ПЗУ и 38К байт ОЗУ). Путем изменения функциональных модулей ядра можно реализовать системы различной слож­ности и назначения: от встраиваемых в аппаратуру контроллеров с резидент­ным программным обеспечением и простейшими средствами ввода/вывода до сложно функциональных систем класса рабочих станций с развитой сете­вой поддержкой и обеспечением разнообразных функций сервиса, включая мультимедиа.

Система OS –9 предоставляет пользователю возможность выбора ядра в зави­симости от функционального назначения системы. Общие средства ввода/вывода. Физический интерфейс OS –9 с разно­образными внешними устройствами обеспечивается большим набором драйве­ров, созданных как фирмой Microwave Systems , так и многочисленными разработ­чиками аппаратуры, использующей эту операционную систему для конкретных приложений. Файловые менеджеры. К ним относятся модули, управляющие логичес­кими потоками данных. Каждый из модулей имеет определенное функциональное назначение и спецификацию. Файловые менеджеры можно разделить на три группы:

стандартные менеджеры, предназначенные для выполнения таких базовых функций обмена с внешними устройствами как организация очереди поступа­ющих команд, управление байтовым и блочным последовательным обменом и обменом с прямым доступом к памяти;

● сетевые и коммуникационные менеджеры, обеспечивающие работу OS –9 с различными сетями и обмен данными по каналам связи с наиболее распро­страненными стандартами протоколов обмена;

● менеджеры графического интерфейса и работы с мультимедиа–приложениями. Средства разработки программ. В составе OS –9 имеется пакет про­грамм (BSP) для поддержки плат развития, который обеспечивает совместную работу OS–9 с целым рядом SBC (Single Board Computer - одноплатный компью­тер). Совместное использование BSP и OS–9 позволяет сконфигурировать целе­вую систему для конкретного приложения.

Система OS–9 содержит средства поддержки программирования: компилято­ры Ultra C/C++, текстовый редактор ЕМ ACS , три вида (в том числе символьных) отладчиков, набор утилит для организации контроля и сборки программных продуктов. Помимо этого имеется большой набор (совместимых с OS –9) средств поддержки программирования, которые разработаны другими фирмами. FasTra к. Среда FasTrak постав­ляется совместно с OS–9 и предоставляет пользователю наиболее полный комп­лект средств программирования и отладки. Часть программных средств FasTrak инсталлируется на инструментальном компьютере, а часть - на целевой системе пользователя. Среда FasTrak интегрирует все средства, необходимые для под­держки проектирования/отладки целевых систем. Версия среды FasTrak для ра­боты на инструментальном компьютере IBM – PC содержит:

● текстовый редактор, располагающий средствами перекодировки клавиатуры, что позволяет вести редактирование в удобном для пользователя формате;

● компиляторы Ultra C/C++;

● отладчики, обеспечивающие два режима отладки: пользовательский - для создания прикладных программ, и системный - для обслуживания прерыва­ний, системных вызовов и обращения к ядру реального времени;

● средства интерфейса с логическими анализаторами фирмы.

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

Фирма Microware Systems поставляет ряд системных пакетов, ориентирован­ных на различные сферы приложения:

● Wireless OS –9 - для разработки устройств беспроводной связи: сотовых те­лефонов, пейджеров, портативных цифровых ассистентов (PDA);

● Internet OS –9 - для разработки устройств с доступом к сети Internet ;

Digital Audio / Video Interactive Decoder (DAVID) OS –9 - для разработки распре­деленных систем цифрового интерактивного телевидения.

Система жесткого реального времени

Особенности этого вида систем рассмотрим на примере системы VxWorks фирмы WindRiver Systems , предназна­ченной для работы с семействами микропроцессоров многих производителей. Система VxWorks инсталлируется на отлаживаемой целевой системе и работает совместно с интегрированной средой разработки Tornado , функционирующей на инструментальном компьютере. В качестве инструментального компьютера исполь­зуются IBM – PC , работающие в среде Windows , или рабочие станции SUN, HP и др. Краткое описание системы VxWorks. Нижним уровнем иерархической организации системы служит микроядро реального времени, выполняющее базо­вые функции планирования задач и управления их связью и синхронизацией. Ми­нимальный набор модулей ядра занимает 20–40К байт памяти. Все остальные функции - управление памятью, вводом/выводом, сетевым обменом и другие, реализуются дополнительными модулями. Для поддержки графических приложе­ний VxWorks располагает графическим интерфейсом VX–Windows.

При ограничен­ном объеме памяти целевой системы можно воспользоваться графической биб­лиотекой RTGL, которая содержит базовые графические примитивы, наборы шрифтов и цветов, драйверы типовых устройств ввода и графических контролле­ров. В состав VxWorks входят также различные средства поддержки разнообраз­ных сетевых протоколов. Трассировку заданных событий и их накопление в бу­ферной памяти для последующего анализа выполняют в реальном времени спе­циальные средства отладки, а трассировку системных событий - динамический анализатор WindView . Анализатор WindView работает аналогично логическому анализатору, отображая на экране временные диаграммы переключения задач, записи в очередь сообщений и другие процессы. Монитор данных Stethoscope позволяет анализировать динамическое изменение пользовательских и систем­ных переменных, включая в себя также профилировщик процедур. В составе VxWorks имеется:

● пакет программ для поддержки плат развития;

● симулятор VxSim , позволяющий моделировать на инструментальном компью­тере многозадачную среду VxWorks и интерфейс с целевой системой, а также разрабатывать и отлаживать программное обеспечение без подключения це­левой системы.

Для комплексной отладки целевых систем VxWorks обеспечивает интерфейс со схемными эмуляторами и эмуляторами ПЗУ. Интегрированная среда разработки Tornado . В состав Tornado вхо­дит система VxWorks 5.3, включающая ядро реального времени и системные биб­лиотеки, средства программирования, высокоуровневый отладчик и ряд других средств системы. Дополнительные средства среды Tornado обеспечивают управ­ление процессом отладки, визуализацию состояния целевой системы, другие сервисные функции. Открытая архитектура среды Tomado позволяет пользовате­лю подключать собственные специализированные инструментальные средства и расширять возможности стандартных средств.

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

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

1. Введение: Особенности операционных систем реального времени

1.1. Процессы, потоки, задачи

1.2. Планирование, приоритеты

1.3. Память

1.4. Прерывания

1.5. Часы и таймеры

1.6. Стандарты ОСРВ

1.6.1. POSIX

1.6.2. DO-178B

1.6.3. ARINC-653

1.6.4. OSEK

1.6.5. Стандарты безопасности

1.7. Настраиваемость операционных систем

2. Краткие характеристики наиболее распространенных ОСРВ

2.1. VxWorks

2.2. QNX Neutrino RTOS

2.3. RTEMS

2.4. ChorusOS

2.5. Расширения реального времени для Windows NT

2.5.1. RTX для Windows NT

2.5.2. INtime

2.5.3. Microsoft Windows Embedded

2.6. TinyOS

2.7. OSEK/VDX

2.8. OSE RTOS

2.9. Contiki

2.10. pSOS

2.11. INTEGRITY

2.12. LynxOS

2.13. Microware OS-9

2.14. GRACE-OS

2.15. C EXECUTIVE

2.16. CMX-RTX

2.16.1. CMX-TINY+

2.17. Inferno

3. ОС, разработанные специально для портативных устройств

3.1. ITRON

3.2. Windows CE

3.3. JavaOS

3.4. Jbed

3.5. Nucleus RTOS

3.6. EMERALDS

3.7. CORTEX

3.8. DeltaOS

3.9. Palm OS

3.10. Symbian OS (EPOC)

4. Настраиваемость операционных систем

4.1. Адаптация, осуществляемая человеком

4.1.1. Статическая адаптация, инициированная проектировщиком

4.1.2. Динамическая адаптация, инициированная администратором

4.2. Адаптация, инициированная приложением

4.2.1. Адаптация с уровня приложения

4.2.2. Адаптация на уровне ядра

4.3. Автоматическая адаптация

5. Сводные таблицы характеристик свойств ОСРВ

Приложение А. Перечень сокращений

Приложение B. Терминология

Литература

Список ОСРВ, упоминающихся в данном тексте, печати и в Сети

1. Введение: Особенности операционных систем реального времени

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

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

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

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

Мартин Тиммерман сформулировал следующие необходимые требования для ОСРВ :

    ОС должна быть многозадачной и допускающей вытеснение (preemptable),

    ОС должна обладать понятием приоритета для потоков,

    ОС должна поддерживать предсказуемые механизмы синхронизации,

    ОС должна обеспечивать механизм наследования приоритетов,

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

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

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

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

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

Рассмотрим концептуальные абстракции операционной системы через призму требований к системам реального времени.

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

Федеральная администрация по авиации США - одна из авторитетных организаций, отвечающих за безопасность полетов - предъявляет жесткие требования к коммерческим операционным системам реального времени, принятым для эксплуатации (особенно это касается гражданской авиации, где от их работы зависят жизни сотен пассажиров). Среди них:

  • требования «жесткого» реального времени; детерминированное поведение при различных нагрузках на систему, необходимое в ответственных приложениях и системах повышенной готовности;
  • высокая «живучесть», чтобы при отказе какой-либо части программного обеспечения другая часть продолжала нормально функционировать;
  • строгие требования по качеству, что подразумевает соответствие различным отраслевым, национальным и международным стандартам;
  • требования по надежности; вероятность сбоя в программе должна быть очень маленькой;
  • требования по безопасности и секретности данных ; в системе должны быть предусмотрены средства защиты наиболее важной информации.

Система регламентации требований

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

Стандарт DO-178 - Software Consideration in Airborne Systems and Equipment Certification. Разработан и поддерживается ассоциацией Radio Technical Commission for Aeronautics (RTCA, www.rtca.org ). Стандартом определено пять уровней серьезности отказа, для каждого из которых указывается набор требований к программному обеспечению, призванных гарантировать работоспособность всей системы в целом при возникновении отказов данного уровня:

уровень A - защита от сбоев, приводящих к катастрофическим последствиям;

уровень B - защита от сбоев, приводящих к опасным последствиям;

уровень C - защита от сбоев, приводящих к большим последствиям;

уровень D - защита от сбоев, приводящих к минимальным последствиям;

уровень E - защита от сбоев, не приводящих ни к каким последствиям.

Стандарт ED-12B. Европейский аналог DO-178B. Определяется ассоциацией The European organization for civil aviation equipment (EUROCAE, www.eurocae.org).

RTCA DO-248B - Final Annual Report For Clarification Of DO-178B. Пояснительный документ к DO-178B. Его основные темы включают такие разделы, как ранее разработанное программное обеспечение, коммерческие программные продукты, процессы верификации, исторические справки, автоматизированные средства и др.

Стандарт DO-254 - Design Assurance Guidance for Airborne Electronic Hardware. Разработан и поддерживается ассоциацией RTCA. Документ создан для того, чтобы помочь производителям самолетов и поставщикам авиационного электронного оборудования гарантировать, что их электронное оборудование безопасно выполняет требуемые функции. Документ регламентирует процессы жизненного цикла аппаратных средств и описывает пути обеспечения нужных свойств изделий с целью их сертификации в соответствии с предъявляемыми требованиями.

ARINC 653 - Avionics Application Software Standard Interface. Разработан компанией ARINC в 1997 году и определяет универсальный программный интерфейс APEX (APplication/EXecutive) между операционной системой бортового компьютера и прикладным программным обеспечением. Требования интерфейса определяются таким образом, чтобы разрешить прикладным программам контролировать диспетчеризацию, связь и состояние внутренних обрабатываемых элементов. В качестве одного из основных требований для операционных систем реального времени в авиации ARINC 653 вводит архитектуру изолированных (partitioning) виртуальных машин.

Общие критерии для оценки секретности информационных технологий (Common Criteria for Information Technology Security Evaluation) . Набор требований и условий секретности (www.commoncriteria.org ), одобренный Агентством национальной безопасности США и Национальным институтом стандартов и технологий США, а также соответствующими органами в других странах (в данный момент еще 13 стран, кроме США). В 1999 году «Общие критерии» получили статус международного стандарта ISO 15408.

MILS - Multiple Independent Levels of Security/Safety. Развивается усилиями заинтересованных организаций, таких, как Исследовательская лаборатория ВВС США, компания Lockheed Martin, Агентство национальной безопасности США и др. Проект MILS делает возможной математическую верификацию программного ядра системы путем уменьшения функциональности за счет предъявления к системам четырех обязательных групп требований (Information Flow, Data Isolation, Period Processing, Damage Limitation). MILS-архитектура представляет собой систему с изолированными разделами, каждый из которых включает ядро, программное обеспечение промежуточного слоя и приложение (рис. 1).

Рис. 1. MILS-архитектура

POSIX - Portable Operating System interface for unIX. Определяет переносимый интерфейс операционной системы на уровне исходных текстов. Основная спецификация разработана как IEEE 1003.1 и одобрена как международный стандарт ISO/IEC 9945-1:1990. С точки зрения операционных систем реального времени наибольший интерес представляют три стандарта: 1003.1a (OS Definition), 1003.1b (Realtime Extensions) и 1003.1c (Threads).

Концепция изолированных разделов

По многим аспектам регламентирующие документы пересекаются, дополняя друг друга. В результате многочисленных исследований в качестве основной была принята концепция изолированных разделов . Удовлетворение требованиям жесткой изоляции должно быть «доказано» поставщиками программных решений в соответствии с методологией сертификации, изложенной в DO-178B. Существуют различные подходы к реализации изолированных разделов, однако сегодня принята архитектура, соответствующая ARINC 653, которая определяет поддержку изолирования для операционной системы реального времени и в качестве языка описания использует Cи и Ada-95.

С точки зрения пользователя, ARINC 653 представляет собой спецификацию интерфейса APEX (APplication/EXecutive) и не определяет его реализацию. Так, некоторые поставщики программных средств реализуют диспетчеризацию с помощью одноуровневого диспетчера, другие с помощью двухуровневого, когда первый уровень управляет разделами, а второй - процессами внутри каждого раздела. Такая ситуация с поддержкой ARINC 653 влечет за собой трудности при сертификации программных продуктов, соответствующих только ARINC 653 - один и тот же API может отображаться на различные подходы к реализации. Как следствие, появилось множество сильно отличающихся операционных систем реального времени, которые, однако, соответствуют спецификации ARINC 653.

На рис. 2 показана архитектура системы с несколькими изолированными разделами, каждый из которых представляет собой самостоятельное приложение. Все данные и программный код в каждом разделе собираются вместе и выполняются в пользовательском режиме. Компоненты «модульная операционная система» (Module Operating System, MOS) и «пакет поддержки платы» (Board Support Package, BSP) выполняются в режиме супервизора. Дополнительно может существовать один специальный раздел с некоторыми специальными возможностями, такими, как средства ввода-вывода и переключения режимов.

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

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

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

Программный код. Для некоторых областей памяти MOS устанавливает в режиме супервизора) атрибут «только выполнение». Это означает, что приложения в пользовательском режиме не могут разрушить область кода.

Прерывания. Прерывания являются асинхронными событиями, которые требуют особой внимательности с точки зрения обеспечения изолированности разделов. Важно, чтобы они не «посягали» на время и память в другом разделе. Одним из возможных источников прерывания являются таймеры, которые управляют диспетчеризацией событий как внутри POS, так и внутри MOS.

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

Другим источником прерываний являются внешние устройства ввода/вывода. В соответствии с требованиями ARINC 653, для устройств с синхронной передачей данных рекомендуется использовать алгоритм опроса устройства. Однако некоторые устройства требуют обработки прерываний. Эти прерывания должны обрабатываться MOS и затем передаваться в POS в момент активизации раздела. Очевидно, что при этом могут возникать временные задержки и даже потеря информации, и, следовательно, разработчик должен это учитывать.

ARINC 653 определяет не только требования по изолированию разделов, но и механизмы взаимодействия между ними. Введены следующие функции взаимодействия между разделами:

обмен сообщениями путем установления канала связи, который должен быть заранее описан в конфигурационной таблице системы;

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

Стандарт DO-178B

Стандарт DO-178B описывает технику и методы, гарантирующие целостность и надежность программного обеспечения, охватывая все этапы его жизненного цикла - планирование, разработку требований, проектирование, кодирование, интеграцию и тестирование.

Планирование согласно DO-178B должно включать следующие планы: план для программных аспектов сертификации; план программного проекта; план верификации программного обеспечения; план управления конфигурацией программного обеспечения; план гарантии качества программного обеспечения. На протяжении всего жизненного цикла должно быть обеспечено соответствие стандарту DO-178 в области формулировки требований, проектирования, кодирования, верификации и документирования. Должны быть разработаны требования к программному обеспечению (требования высокого уровня), проект программного обеспечения (требования и архитектура), программный код в исходном и объектном виде. Каждый из разработанных компонентов должен быть верифицирован по разнообразным критериям. Верификация требований высокого уровня к программному обеспечению включает в себя проверку следующих условий: требования соответствуют системным требованиям и доступны для анализа вместе с системными требованиями; требования являются точными и согласованными; требования совместимы с аппаратными средствами и, следовательно, должны быть подтверждены результатами.

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

В стандарте определены три уровня структурного тестирования кода:

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

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

Сертификация на соответствие DO-178B должна проводиться так называемыми «назначаемыми инженерными представителями», которые назначаются Федеральной администрацией по авиации США для проверки данных, используемых при сертификации. Разработчик стремится пройти сертификацию своего программного обеспечения в соответствии с DO-178B для того, чтобы получить разрешение на использование своего программного обеспечения (в том числе операционной системы реального времени) в авиации. Разрешение относится не только к программному обеспечению, но и ко всему изделию (проекту) в целом. Для того чтобы начать процесс сертификации, разработчик должен вначале «открыть» проект и получить от ФАА официальный номер проекта или присоединиться к уже существующему проекту с уже выданным номером. Для «открытия» проекта надо получить сертификат типа или дополнительный сертификат типа. Как правило, сертификат типа присваивается самолету, и все оборудование на нем поставляется именно с этим сертификатом. Дополнительный сертификат типа дается дополнительному оборудованию на самолете, в том числе программному обеспечению.

«Общие критерии» для оценки секретности

«Общие критерии» определяют уровни гарантии секретности Evaluation Assurance Level (EAL) и оценивают не только безопасность и надежность продуктов, но и процессы их разработки и поддержки, гарантирующие быстрое решение проблем. Применительно к операционным системам требования «Общих критериев» подробно изложены в . Выделены семь уровней гарантии секретности :

EAL1 (functionally tested) - применим там, где требуется минимальная конфиденциальность, но обеспечение секретности не рассматривается как важное требование;

EAL2 (structurally tested) - применим при тех обстоятельствах, где разработчики или пользователи требуют средний уровень гарантированной секретности в отсутствии полной информации о всех процедурах разработки;

EAL3 (methodically tested and checked) - применим там, где разработчики или пользователи требуют средний уровень гарантированной секретности и требуют исчерпывающего исследования операционной системы и этапов ее разработки, но не прибегая к существенной переработке ОС;

EAL4 (methodically designed, tested and reviewed) - применим при тех обстоятельствах, где разработчики или пользователи требуют высокий уровень гарантированной секретности операционной системы и требует специальной доработки уже существующей ОС для обеспечения этих требований;

EAL5 (semi formally designed and tested) - применим там, где разработчики или пользователи требуют высокий уровень гарантированной секретности операционной системы и строгого подхода к проектированию, так чтобы эти свойства были заложены уже на этапе проектирования, используя специальные средства обеспечения секретности;

EAL6 (semi formally verified, designed and tested) - применим там, где существует высокий уровень опасных ситуаций и где оправданы высокие затраты на защиту от несанкционированного доступа;

EAL7 (formally verified, designed and tested) - должен применяться в приложениях с очень высокой ценой в случае несанкционированного доступа.

Уровень EAL подтверждается специальной лабораторией Common Criteria Testing Lab.

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

Система LynxOS-178

Основу LynxOS-178 составляет операционная система реального времени LynxOS v.3, которая выполняется в изолированном разделе. LynxOS v.3 сертифицирована на соответствие стандарту POSIX 1003.1-1996 на платформе Intel и PowerPC.

Ключевое свойство LynxOS-178 - поддержка нескольких полностью разделенных по времени, памяти и ресурсам разделов в соответствии с требованиями ARINC 653. LynxOS-178 (версия 2.0) поддерживает: до 16 разделов (виртуальных машин), включая корневой раздел; до 64 процессов; до 51 нити внутри каждого процесса; диспетчеризацию потоков внутри раздела в реальном времени; функции межпроцессного взаимодействия внутри раздела.

Каждый раздел полностью изолирован, что делает невозможным распространение сбоев между разделами.

С помощью LynxOS-178 фиксированные разделы обслуживаются как виртуальные машины LynxOS. Каждый прикладной процесс оперирует внутри его собственной среды операционной системы, как если бы он работал на своем собственном процессоре. Это применимо ко всем ресурсам процессора и именованным пространствам. Эта абстракция защищает разработчика прикладной системы от дополнительных усилий при программировании сложной системы. Управление разделами контролируется с помощью Таблицы конфигурации виртуальных машин (Virtual-Machine Configuration Table, VCT) и является обязательным в среде LynxOS-178, позволяя разработчику приложений сконцентрироваться на разработке приложений, а не на организации разделения системы. Кроме того, LynxOS-178 поддерживает разделение систем, совместимых с RTCA DO-255, что разрешает выполнять программное обеспечение с различными уровнями безопасности по DO-178B в разных разделах (виртуальных машинах). Это означает, что операционная система может выполнять приложение с уровнем A (по DO-178B) на одной виртуальной машине и приложение с уровнем C на другой, причем оба приложения работают на одном и том же процессоре в рамках одной и той же системы.

Версия LynxOS-178 в составе различных изделий (например, самолет Bombardier Challenger 300 компании Rockwell Collins) сертифицирована по стандарту DO-178B, а архитектура самой операционной системы (рис. 3 ) соответствует требованиям ARINC 653.

LynxOS-178 обеспечивает следующие группы системных сервисов в соответствии с ARINC 653: Partition Management - управление разделами, Process Management - управление процессами, Time Management - управление временем, Interpartition Communication - взаимодействие процессов в различных разделах (Sampling Port Services и Queuing Port Services), Intrapartition Communication - взаимодействие процессов внутри одного раздела (Buffer Services, Blackboard Services, Semaphore Services, Event Services), Health Monitoring - контроль работоспособности операционной системы или оборудования.

В 2006 году должен быть выпущен прототип операционной системы, отвечающий EAL7; разрабатывается новое ядро LynxSecure, совместимое с требованиями MILS, которое будет содержать всего 8 тыс. строк исходного кода и будет соответствовать требованиям EAL7.

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

Литература
  1. Commercial Off-The-Self Real-Time Operating System and Architectural Consideration. Final Report, U.S. Federal Aviation Administration, DOT/FAA/AR-03/77, February 2004.
  2. Partitioning in Avionics. Architecture: Requirements, Mechanics, and Assurance. Final Report, National Aeronautics and Space Administration, DOT/FAA/AR-99/58, NASA/CR-1999-209347, March 2000.
  3. Study of Commercial Off-The-Self (COTS) Real-Time Operating System (RTOS) in Aviation Application. Final Report, U.S. Federal Aviation Administration, DOT/FAA/AR-02/118, December 2002.
  4. Evaluation of real time operating systems - the role of standards. Avionic Systems Standardization Committee (ASSC), Doc No: ASSC/330/2/141, March 1997.
  5. G. Mayers, The art of Software Testing. John Wiley & Sons, 1979.
  6. COTS Security Protection Profile - Operating Systems (CSPP-OS), NISTIR 6985, April 2003.
  7. Common Criteria for Information Technology Security Evaluation. Part 3: Security Assurance Requirements. August 1999, Version 2.1, CCIMB-99-033.

Сергей Золотарев ([email protected]) - сотрудник компании «РТСофт» (Москва).

Дозаправщик стратегических бомбардировщиков дальнего действия KC-135 Stratotanker было решено модернизировать, чтобы обеспечить соответствие международным нормативам Global Air Traffic Management и требованиям стандарта DO-178B. Аппаратура Integrated Processing Center, разработанная компанией Rockwell Collins, предоставляет вычислительные и сетевые функции, которые могут использоваться для выполнения множества различных задач (обеспечение миссии, управление полетом, поддержка дисплеев). Базовая функциональность расширяется, что позволяет реализовывать дополнительные приложения. Обмен данными с другим оборудованием осуществляется по «авиационной» версии сети Ethernet. Внутри Integrated Processing Center имеется несколько сменных линейных модулей Line Replaceable Module. Сертифицированная операционная система реального времени LynxOS-178 работает на вычислительном модуле Common Computing Module и на концентраторе ввода-вывода Input/Output Concentrator Module.

Самолет-танкер KC-767, в котором также работает операционная система LynxOS-178, готов вывести воздушную заправку в ВВС США на новый уровень и отправить на покой старые заправщики KC-135E, состоящие на вооружении уже более четырех десятилетий. Новое судно не только вместительнее, но и надежнее, что делает его пригодным для более широкого круга операций. Фактически KC-767 - это четыре разных самолета в одном. Ярус, где находится кабина экипажа, легко оборудуется для перевозки пассажиров или грузов без ущерба для функциональности танкера. Причем можно сделать и так, чтобы в зависимости от ситуации судно было то пассажирским, то грузовым, то перевозчиком смешанного типа.

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



Рекомендуем почитать

Наверх