ЖУРНАЛ СТА 3/2009

П РОГ РАММНОЕ ОБ Е СП Е Ч Е НИ Е / СИС Т ЕМЫ Р Е АЛ Ь НОГО В Р ЕМЕ НИ печивать отклик на внешние события, например команды системы управления электропитанием или сигналы, переда- ваемые по шине CAN. Конечно, до того как загрузилась ОС, у программиста нет тех богатых функ- циональных возможностей и механиз- мов, которые эта ОС предоставляет. Тем не менее, некоторые операции, критич- ные ко времени отклика, можно осу- ществлять и даже получать при этом до- ступ к оборудованию. Речь идёт о воз- можности приступить к обработке критичных сигналов через десятки мил- лисекунд после подачи питания на ЦПУ. Важная особенность технологии за- ключается в том, что после окончания загрузки ОС обработку запросов может продолжить полноценный драйвер без задержек времени или потерь данных. М ЕХАНИЗМ ФОРМИРОВАНИЯ РАСПРЕДЕЛЁННОЙ ВЫЧИСЛИТЕЛЬНОЙ СРЕДЫ Это традиционный и чрезвычайно эф- фективный механизм ОС РВ семейства QNX. В QNX Neutrino он основан на протоколе четвёртого уровня модели ISO OSI, получившем название Qnet. Уникальность этого механизма заклю- чается в том, что Qnet, по сути дела, свя- зывает в единую сетевую инфраструк- туру непосредственно ядра копий QNX Neutrino, выполняющихся на разных ЭВМ сети. Это означает, что с точки зре- ния приложений и системных сервисов АС выполнение происходит на одной ЭВМ, как это схематично показано на рис. 2. То есть при старте Qnet про- граммные компоненты АС автоматиче- ски становятся сетевыми приложениями без добавления какого-либо специ- ального сетевого программного кода. ЭВМ под управлением QNX Neutrino, объединённые Qnet, фактически пред- ставляют собой псевдоединую виртуаль- ную суперЭВМ. Почему «псевдо»? По- тому что ОЗУ каждого из узлов сети Qnet сохраняет независимость, то есть опе- ративная память узлов является некоге- рентной. Сетевые возможности обычных (несе- тевых) приложений в сети Qnet хорошо иллюстрирует такой пример: мы можем, работая за терминалом узла А, запустить на ЦПУ узла Б программу, которая хра- нится в файловой системе узла В, и при этом указать данной программе, чтобы она в качестве своей «родной» файло- вой системы использовала файловую систему узла Г, исходную информацию считывала из устройства ввода-вывода на узле Д, а в качестве управляющей консоли использовала одну из виртуаль- ных консолей узла Е. Кстати, применяемая в QNX Neutrino графическая оболочка Photon micro- GUI – это набор взаимодействующих программ, предоставляющих различные сервисы (управление видеоадаптером, управление устройствами ввода, управ- ление сервером шрифтов, управление рабочим столом и т.д.). При использова- нии Qnet можно создавать весьма инте- ресные сетевые конфигурации графиче- ских средств. И напоследок следует сказать, что су- ществует несколько способов защиты информации в сети Qnet. К ним отно- сятся отображения идентификаторов пользователей, защита сетевых сообще- ний от несанкционированной модифи- кации, использование различных мето- дов взаимной идентификации узлов и т.д. М ЕХАНИЗМ ПОДДЕРЖКИ РЕЗЕРВИРОВАНИЯ ФИЗИЧЕСКИХ КАНАЛОВ СВЯЗИ В КЛАСТЕРЕ Надёжность функционирования Qnet обеспечивается с помощью резервиро- вания физических линий связи. Для каждого логического соединения про- цесса-клиента с процессом-сервером может быть определён один из трёх ва- риантов выбора физического канала [1]: 1. С автоматической балансировкой на- грузки (loadbalance) . В этом случае Qnet самостоятельно принимает решение, по какой из доступных физических линий передавать пакеты. Для выбора адаптера Qnet анализирует время от- клика удалённого узла на запросы, по- сланные по разным физическим ли- ниям, и использует ту линию, которая является наиболее быстрой в данный момент времени. Этот способ исполь- зуется Qnet по умолчанию. 2. С предпочтением (preferred) . В этом случае задаётся, какой из сетевых адаптеров предпочтителен для пере- дачи информации. Если предпочти- тельный адаптер недоступен, то Qnet будет использовать остальные адап- теры, автоматически балансируя на- грузку между ними. 3. Эксклюзивный (exclusive) . Позволяет задавать передачу данных строго че- рез определённый адаптер. Если адап- тер недоступен, Qnet не будет переда- вать данные вообще, даже если с уда- лённым узлом можно связаться через другие адаптеры. Вариант выбора физической линии для того или иного логического соеди- нения можно задавать на разных этапах жизненного цикла АС: при разработке, при установке, при эксплуатации. Из- менение варианта не требует переком- пиляции программ, что особенно важно для сертифицированного программного обеспечения. М ЕХАНИЗМ ОБЕСПЕЧЕНИЯ БАЛАНСИРОВКИ НАГРУЗКИ НА СЕРВИСЫ МеханизмыQnet позволяют элегантно решать проблему нехватки вычисли- тельных ресурсов в случаях, когда в про- цессе эксплуатации АС реальная на- грузка превышает пределы, предусмот- ренные при проектировании АС. В таких случаях в сетевую АС, объеди- нённую Qnet, могут быть добавлены до- полнительные ЭВМ, на которые пере- 88 www.cta.ru CTA 3/2009 ... Стек ТСР/IP Графическая оболочка Photon Мультимедиа Приложение 1 Приложение 2 Узел Б Узел A Узел N Прозрачная сеть Qnet Рис. 2. Qnet (протокол 4-го уровня модели ISO OSI) объединяет ресурсы локальной сети в единую виртуальную ЭВМ © СТА-ПРЕСС

RkJQdWJsaXNoZXIy MTQ4NjUy