Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Филинков_Денис_ИСТ-73_1.5см.docx
Скачиваний:
22
Добавлен:
25.09.2019
Размер:
1.24 Mб
Скачать

3.8.8 Безопасность и готовность систем за счёт гарантированного выделения процессорного времени.

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

Для решения данной проблемы операционная система QNX Neutrino поддерживает технологию адаптивной декомпозиции (Adaptive Partitioning), которая позволяет объединять приложения в безопасные разделы и выделять каждому разделу гарантированный бюджет памяти и процессорного времени. Благодаря этому подходу, память и процессор доступны ответственным процессам всегда, даже в условиях высокой вычислительной загрузки и атаки на отказ в обслуживании [9].

Кроме того, технология адаптивной декомпозиции компании QNX способна динамически перераспределять процессорное время простаивающих разделов между разделами, нуждающимися в дополнительных ресурсах процессора, то есть бюджеты разделов строго применяются только в условиях полной загрузки процессора. Таким образом, система сохраняет работоспособность при максимальной нагрузке, обеспечивает 100% использование процессора и при этом является безопасной за счёт гарантированного выделения ресурсов. Чтобы оценить преимущества адаптивной декомпозиции, достаточно сравнить её с традиционными методами планирования на основе разделов, в которых неиспользуемое процессорное время теряется, что вынуждает системных архитекторов выбирать более дорогие процессоры.

Рисунок 3.5 - Технология адаптивной декомпозиции

Благодаря технологии адаптивной декомпозиции, представленной на рисунке 3.5 [7] каждая программная подсистема получает гарантированный минимум процессорного времени даже при полной загрузке процессора

3.8.9 Модель среды исполнения с повышенной надёжностью.

Поскольку операционная система Linux является монолитной, большинство её драйверов, файловых систем и стеков протоколов привязано к ядру. По этой причине одна ошибка в программировании какого-либо из перечисленных компонентов способна вызвать неисправимый сбой ядра. Компоненты операционной системы QNX Neutrino работают в отдельных адресных пространствах с защитой памяти, благодаря чему им значительно сложнее повредить ядро или друг друга [7]. Таким образом, ОС QNX Neutrino обеспечивает ответственным приложениям и приложениям реального времени среду исполнения, которая по своему устройству надёжнее, чем операционная система Linux и значительно безопаснее, чем незащищённые ядра реального времени, на которых основан двухъядерный подход.

3.8.10 Динамическое обновление системных служб.

В микроядерной операционной системе можно динамически обновить практически любой компонент, будь то драйвер устройства, стек протоколов или приложение, не прерывая при этом работу других компонентов. Это позволяет с гораздо большей лёгкостью обеспечить коэффициент готовности системы, равный или превышающий 99,999%. На практике системы, основанные на технологиях компании QNX, нередко работают в течение 5-10 лет без перерыва, хотя в них регулярно устанавливаются новые приложения и системные компоненты [9].