Сетевая операционная система реального времени QNX

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

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 28.05.2014
Размер файла 155,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

МИНОБРНАУКИ РОССИИ

Федеральное государственное автономное образовательное

учреждение высшего профессионального образования

«ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»

Факультет автоматики и вычислительной техники

Кафедра систем автоматического управления

Индивидуальная работа

по дисциплине

«Системы реального времени»

на тему:

«Сетевая операционная система реального времени QNX»

Выполнила:

студентка группы МГА-22

Емельянова Ф.В.

Проверил:

Заргарян Ю.А.

Таганрог 2012

1. Обзор систем реального времени QNX

На сегодняшний день существует более ста коммерческих ОСРВ. Есть множество бесплатных (или условно бесплатных) СРВ и систем, имеющих статус исследовательских или университетских проектов. К сожалению, в России хорошо представлены только несколько коммерческих систем (QNX, OS-9, VxWorks ). QNX на сегодня является самой распространенной ОСРВ в России. К объективным причинам этого можно отнести засилье у нас архитектуры x86 фирмы Intel, к субъективным - наличие нескольких компаний, занимающихся дистрибуцией QNX. Многие популярные в Европе и США ОСРВ до сих пор практически не представлены на российском рынке. Дадим краткое описание некоторых систем реального времени.

Операционная система QNX является разработкой канадской компании QNX Software System Ltd.. Впервые система появилась на рынке в 1981 году. Среди пользователей QNX значатся такие компании, как Du Pont, Eastman Kodak, General Mills, General Motors, Motorola, Texaco.

Операционная система QNX представляет собой гибрид 16/32-битовой операционной системы, которую пользователь может конфигурировать по своему усмотрению. Время, необходимое для полной инсталляции системы, включая сетевые средства, составляет всего 10-15 минут, после чего можно начинать работу. Нетребовательность системы к ресурсам проявляется уже в том, что система с необходимой и достаточной средой разработки в виде компилятора Watcom C/C++ (основной компилятор для QNX) умещается в 10 Мбайт.

Система построена по технологии FLEET [Fault-tolerance (отказоустойчивая), Load-balancing (регулирующая нагрузку), Efficient (эффективная), Extensible (расширяемая), Transparent (прозрачная)]. Эта технология выражается в следующих принципах. QNX является ОСРВ на основе микроядра (размером около 10 Кбайт). В качестве основного средства взаимодействия между процессами система использует передачу сообщений. Благодаря этому в 32-битовой среде возможно взаимодействие процессов с 32 и 16-битовым кодом. Причем сообщения передаются между любыми процессами, не зависимо от того, находятся ли процессы на одном компьютере или на разных узлах сети. Пользователь, работая на одном из узлов сети, может иметь доступ к любым ресурсам остальных узлов, включая порты, файловую систему и задачи. Пользователю нет никакой необходимости вникать в сетевой протокол, который, кстати, не является тайной, вплоть до его структуры. Он содержит пакеты, которые применяются также и для передачи сообщений. Сетевой администратор распознает эти пакеты и переправляет их микроядру, которое, в свою очередь, переправляет их в шину локальных сообщений. QNX способна распознавать не только пакеты сообщений QNX-процессов. Вы можете легко обращаться к сетевому администратору для передачи таких пакетных протоколов, как TCP/IP, SMB и других. Возможно обращение к различным сетевым администраторам через один кабель. Операционная система QNX объединяет всю сеть персональных компьютеров в единый набор ресурсов с абсолютной прозрачностью доступа к ним. Узлы могут добавляться и исключаться из сети, не влияя на целостность системы. Сетевая обработка данных в QNX является настолько гибкой, что вы можете объединить в одну сеть любой разнородный набор Intel совместимых компьютеров соединенных через Arcnet, Ethernet, Token Ring или через последовательный порт, к которому также может быть подключен модем. Причем возможно участие компьютера одновременно в нескольких сетях, и если одна из них окажется перегруженной или выйдет из строя, то QNX автоматически будет использовать другие доступные сети без потери информации. Файловая система QNX полностью соответствует стандарту POSIX. Программист, поработавший в UNIX, не заметит никаких отличий в работе. Хотя внутри файловая система значительно отличается от таковой в UNIX. Эти отличия в основном сказываются на ее живучести, то есть на целостности данных, хранимых на диске, и на производительности. QNX обеспечивает работу с различными типами файловых систем: POSIX, Embedded (FLASH, ROM, SROM), CD-ROM (с поддержкой стандарта ISO 9660 и его расширения Rock Ridge), DOS (доступ ко всем носителям информации в формате DOS), NFS (доступ к различным типам удаленных файловых систем), SMB (прозрачный доступ к Windows 2000 или NT-серверам).

В настоящее время вряд ли какая-нибудь операционная система сможет посоревноваться с QNX по количеству различных графических интерфейсов. Если ваши желания превышают ваши финансовые возможности, вы можете создавать графические приложения с помощью библиотечных функций, поставляемых вместе с компилятором Watcom C. Если вы хотите иметь совершенный графический интерфейс для ограниченной в ресурсах встраиваемой системы, то Photon - компактный (256К) оконный пакет, поддерживающий стандарт Motif, - это то, что вам нужно. Photon - это принципиально новая оконная графическая система, которая по своему подходу к реализации графического интерфейса коренным образом отличается от всех существовавших ранее систем. Если же ваши программы охватывают широкий спектр графических интерфейсов, значит, ваш выбор падет на X Window System.

Кроме того, для QNX разработано множество баз данных (db_Vista, Watcom SQL, Faircom C-tree, OnCmd и др.), которые по производительности часто превосходят аналоги под управлением других операционных систем. В Российской промышленности QNX можно встретить чаще чем любую другую ОСРВ. Кроме описанных ранее причин, это объясняется еще и наличием достаточного количества программного обеспечения под QNX (драйверы и т.д.) для различного оборудования, представленного на российском рынке.

Одним из недостатков QNX является практически отсутствие версий для платформ, отличных от Intel.

сетевой операционный драйвер ядро

2. Построение ИУС реального времени на базе операционной системы QNX

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

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

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

Уникальная эффективность, модульность и простота системы QNX определяется следующими параметрами:

· архитектурой ядра,

· взаимодействием между процессами посредством сообщений.

2.1 Архитектура ядра системы QNX

Система QNX состоит из небольшого ядра (микроядра) и набора взаимодействующих процессов. Микроядерная ОС построена на основе миниатюрного ядра, обеспечивающего минимальные службы для произвольной группы взаимодействующих процессов, которые, в свою очередь, обеспечивают функциональность более высокого уровня. Система не имеет иерархической структуры, в ней процессы, имеющие равную значимость, взаимодействуют друг с другом и со своим ядром. Архитектура ОС QNX Neutrino представлена на рис. 2.1. Как видно из рисунка, имеется некоторая «программная шина», которая позволяет динамически присоединять или отсоединять модули ОС по мере необходимости.

Рис. 2.1. Архитектура Операционной системы QNX Neutrino

2.2 Ядро системы QNX

Ядро является «сердцем» любой операционной системы. В некоторых системах на ядро возложено такое количество функций, что, по сути дела, оно само является операционной системой.

В системе QNX ядро является действительно ядром. Прежде всего, как и подобает ядру операционной системы реального времени, оно имеет небольшой размер - менее 8 кбайт. На ядро ОС QNX возложено выполнение только двух основных функций:

1. Передача сообщений (ядро QNX реализует передачу всех сообщений между всеми процессами во всей системе);

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

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

2.3 Системные процессы

Все функции, выполняемые ОС QNX, за исключением функций ядра, реализуются стандартными процессами. В типичной конфигурации системы QNX имеются следующие системные процессы:

· администратор процессов (Proc),

· администратор файловой системы (Fsys),

· администратор устройств (Dev),

· сетевой администратор (Net).

2.4Системные процессы и процессы пользователя

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

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

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

Предположим, вы написали сервер базы данных. Как следует классифицировать эту программу?

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

2.5 Драйверы устройств

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

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

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

2.6 Связь между процессами

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

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

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

2.7 Операционная система с передачей сообщений

QNX стала первой коммерческой ОС данного класса, в которой IPC основан на принципе передачи сообщений. Именно благодаря глобальному использованию передачи сообщений во всей системе, ОС QNX обладает присущей ей мощностью, простотой и элегантностью.

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

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

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

2.8 QNX как сеть

В основе собственной сети ОС QNX Neutrino лежит протокол Qnet, который реализуется в виде сети сильносвязанных доверяемых машин. Этот протокол позволяет машинам эффективно обмениваться ресурсами с минимальными накладными расходами. В сети Qnet вы можете пользоваться стандартными утилитами (cp, mv,…), которые будут рассмотрены далее, для управления файлами в любом месте сети, как если бы эти файлы находились на вашей собственной машине. Кроме того, протокол Qnet не выполняет аутентификацию удаленных запросов, так как файлы защищаются обычными правами доступа, применяемыми для пользователей и пользовательских групп. Вы можете не только иметь доступ к файлам, но и запускать или останавливать процессы (в том числе различные администраторы) на любой машине в сети Qnet.

Возможности распределенных вычислений в сети Qnet позволяют эффективно выполнять следующие задачи:

· использовать удаленную файловую систему,

· масштабировать приложения с невероятной легкостью,

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

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

· разбивать приложения на несколько процессов, выполняющих разные функции (при этом процессы координируют свою работу с помощью механизма обмена сообщениями),

· использовать собственную службу удаленного вызова процедур сети Qnet.

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

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

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

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

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

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

Каждому узлу сети QNX присвоен номер, являющийся его идентификатором. Этот номер служит единственным признаком, позволяющим определить, работает ли QNX как сеть или как однопроцессорная ОС.

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

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

Средство построения Real Flex

На базе сетевой операционной системы реального времени QNX построен специализированный пакет программ для построения АСУ ТП с использованием стандартных вычислительных техник. Базовый пакет Real Flex (средство построения) представляет собой весь необходимый набор средств для создания программного обеспечения средств АСУТП. С его помощью реализуется выполнение нескольких функций.

1. Сбор и обработка данных в реальном времени. Real Flex поддерживает несколько типов устройств управления процессами:

· логический программируемый контроллер (PLC);

· одноконтурные контроллеры (SLC);

· удалённые терминальные устройства (TRU);

· разнообразные анализаторы;

· измерительные приборы.

На одном компьютере могут работать до 16 драйверов ввода-вывода, и одновременно с работой драйверов осуществляется обработка данных. Real Flex позволяет определить время сканирования для каждого устройства ввода-вывода. Сканированные и диагностические данные отображаются в виде сводок. Значение данных обновляется при возникновении исключительных ситуаций, а проверка ошибок осуществляется при каждой операции ввода-вывода.

2. Создание и редактирование баз данных (БД).

В системе Real Flex существует таблица базы данных, которая интерактивно расширяется в темпе реального времени.

3. Обработка сообщений.

Процессор Real Flex обеспечивает пять уровней приоритета сигнала:

· прямой доступ к последнему возникшему сигналу;

· индивидуальный или полный запрет сигналов;

· формирование сводок по текущим активным сигналам и их предыстории;

· выбор элементов сигнала (события по заданному критерию), их распечатка по запросу или по заданному расписанию;

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

4. Создание диаграмм анализа состояния и конфигурации систем.

В этой части Real Flex поддерживает высокоскоростной анализ состояния системы в реальном времени с учётом предыстории. На одном экране дисплея может быть выведено до восьми диаграмм состояния.

5. Графические построения. Система Real Flex обеспечивает проектирование и конструирование практически любых графических образов.

6. Редактирование символов, в том числе и создание пользователями своих символов.

7. Создание отчетов. Real Flex предусматривает создание и печать отчета в стандартной форме, создание заказного отчета по требованиям заказчика.

В стандартную форму отчета входит:

· сводка коммуникаций;

· сводка активных тревог;

· сводка сигналов событий;

· сводка устройств управления процессами;

· сводка выбранных сигналов событий.

Кроме базового пакета Real Flex существует ряд других программ, например:

· BJScan, обеспечивающей взаимодействие по каналам связи;

· LunFlex, являющейся версией Real Flex для функционирования на узле локальной сети;

· Failever, управляющей горячим резервированием;

· Renflex, обеспечивающей доступ удалённого пользователя к данным реального времени станции Real Flex;

· Temflex, предоставляющей возможность работы с окнами Real Flex удаленному пользователю;

· RealFlex/DDE Bridge, управляющей обменом данными между программами Real Flex и Windows Bridge.

Рис. 2.2. Схема построения пакета Real Flex

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

Используемая литература

1. Казаринов Л.С., Попова О.В., Барбасова Т.А. Автоматизированные информационно-управляющие системы

Размещено на Allbest.ru


Подобные документы

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

    реферат [1,0 M], добавлен 22.03.2016

  • Классификация систем реального времени. Ядра и операционные системы реального времени. Задачи, процессы, потоки. Преимущества и недостатки потоков. Свойства, планирование, синхронизация задач. Связанные задачи. Синхронизация с внешними событиями.

    реферат [391,5 K], добавлен 28.12.2007

  • Операционная система NetWare фирмы Novell. Сетевые операционные системы LAN Meneger, Windows NT и LAN Server. Сетевая операционная система Windows NT Advanced Server. Сетевая операционная система Lantastic. Компоненты сетевой операционной системы.

    контрольная работа [34,3 K], добавлен 02.11.2004

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

    контрольная работа [428,8 K], добавлен 09.03.2013

  • Характеристика устройств реального времени: принципы их создания, виды, практическое применение к операционным системам для персональных компьютеров. Основные свойства системы LynxOS, поддержка приложений, сетевые возможности. Средства кросс-разработки.

    реферат [33,1 K], добавлен 02.12.2013

  • Операционная система в роли связующего звена между аппаратурой компьютера и выполняемыми программами. Управление процессами операционной системы. Операционная система Windows. Различные виды Windows для определенных задач пользователей, их отличия.

    реферат [28,5 K], добавлен 23.01.2012

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

    курсовая работа [35,6 K], добавлен 10.05.2011

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

    курсовая работа [263,1 K], добавлен 15.02.2005

  • Устройство ноутбука, его основные отличия от персонального компьютера. Требования, предъявляемые к переносным компьютерам. Преимущества и недостатки операционной системы Windows. Современная операционная система как сложный комплекс программных средств.

    контрольная работа [33,8 K], добавлен 14.11.2013

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

    презентация [693,8 K], добавлен 11.10.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.