Теоретический вопрос №2. Обзор ChorusOS

Автор работы: Пользователь скрыл имя, 19 Июня 2013 в 10:59, контрольная работа

Описание работы

SCADA-система TRACE MODE содержит средства разработки операторского интерфейса (SCADA/HMI), программирования контроллеров (Softlogic), управления основными фондами (EAM), персоналом (HRM) и производственными процессами (MES).
Все программы, входящие в TRACE MODE, подразделяются на две группы:
инструментальную систему разработки
исполнительные модули (runtime).

Содержание работы

1 Теоретический вопрос №1. Характеристика и архитектура системы Trace Mode. 2
2 Теоретический вопрос №2. Обзор ChorusOS7
2.1 Название СРВ и стандарты 7
2.2 Назначение и область применения ChorusOS 7
2.3 Выполняемы функции. Функциональная архитектура 7
2.4 Архитектура ChorusOS 9
2.5. Технические характеристики 10
2.6 Характеристики ChorusOS 11
2.7 Сведения об использование 11
2.8 Электронная документация 12
3 Практическое задание 13
Список используемой литературы: 24

Файлы: 1 файл

контрольная.docx

— 482.77 Кб (Скачать файл)

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

 

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

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

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

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

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

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

 

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

Компания VenturCom создала расширение RTX(Real Time Extention) для операционной системы  Windows (NT, NT Embedded, 2000, XP, XP Embedded). Расширение RTX позволяет создавать приложения с детерминированным и очень малым временем реакции на внешние события и, кроме того, обеспечивает пользователя средствами и утилитами для по- строения и выполнения программ реального времени, а также средствами для измерения и "тонкой" настройки производительности, как аппаратных, так и программных средств. RTX глубоко интегрировано в ядро Windows и для обеспечения необходимых функций использует сервис Windows и WIN32 API.

Расширения реального  времени добавляют к Windows специфическую  для реального времени функциональность, а именно:

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

Взаимодействие процессов  реального времени и стандартных  процессов Win32 друг с другом.

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

Одно и то же приложение может использовать как стандартные  функции Win32, так и специфические  функции API реального времени (RTAPI), что  позволяет выделять критические  участки кода приложений Windows и контролировать время и надёжность их выполнения.

Контроль над работоспособностью и временем реакции системы. "Зависания" стандартных приложений Windows или "крах" системы не приводят к "зависанию" приложений реального времени.

Работа с быстрыми часами и таймерами высокого разрешения.

Прямой доступ к памяти и физическим устройствам. и т.д.

Рис. 3. Схема интеграции Windows и RTX

Продукт RTX состоит из пакета разработчика RTX SDK, предназначенного для  создания собственных приложений для  работы в среде RTX и подсистемы исполнения RTX Runtime, для обслуживания приложений RTX. Подсистема RTX Runtime устанавливается  на целевые системы, где предполагается запуск RTX-приложений. Пакет разработчика интегрирован со средой разработки Visual Studio от компании Microsoft и также включает в себя подсистему реального времени, поэтому разрабатываемые приложения RTX можно запус- кать и отлаживать непосредственно на локальном месте.

Подсистема, реализующая  функции системы реального времени, работает «рядом» с Windows. Обычные  задачи Windows выполняются в недетерминированной  среде, как и раньше. Один из вариантов  реализации подобного механизма  — разделение ресурсов между Windows и  подсистемой реального времени. Такая система очень хорошо работает в многоядерных архитектурах, где  под операционную систему Windows и  под систему реального времени  отводятся отдельные ядра.

RTX тесно интегрируется  с Windows (рис. 2), при этом RTX дополняет  стандартный HAL Windows своим расширением, RTX HAL Extension. На этом уровне, кроме организации доступа к аппаратуре, обрабатываются прерывания от таймера подсистемы реального време- ни. Непосредственно функциональность реального времени реализует слой RTSS, Real-Time SubSystem. Это ядро всей подсистемы реального времени. Здесь находится свой планировщик, который оперирует выполнением задач реального времени и предоставлением ресурсов задачам Windows-среды. Фактически любая задача RTSS имеет более высокий приоритет, нежели любая задача, выполняющаяся в Windows. Также этот слой полностью реализует API реального времени, Real-Time API — RTAPI, на основе которого создаются приложения подсистемы RTSS. Приложения реального времени, RTSS Process, выполняются на уровне ядра Windows и имеют те же привилегии ограничения, что и драйверы устройств.

RTKernel это расширение реального  времени для MS-DOS, работающий как  мощный планировщик многозадачного  режима. RTKernel была создана для  разработчиков программ- ного обеспечения,  желающих осуществлять профессиональный  процесс управления приложениями  на компьютерах с DOS или встроенных  системах. Особые внимание было  уделено удобному использованию  и отслеживанию жестких временных  характеристик исполнения. ОСРВ  очень компактно (около 16k код, 6k данных) и обеспечивает программистов  основными инструментами, необходимыми  для разработки эффективных приложений  реального времени. RTKernel предлагает  библиотеки, которые могут быть  использованы в прикладных программах  и ряд функций и процедур  для управления задачами, семафоры, почтовые ящики, прерывания и  т. д. Все RTKernel-задачи выполняются  в рамках одной программы. RTKernel-приложение  состоит из одного EXE-файл, содержащий  ядро и необходимых драй- веров. EXE-файл может быть выполнен  на любом компьютере под управлением  DOS. Хотя применение RTKernel позволяет  использовать возможности многозадачности  в приложениях реального времени.  Система обладает следующими  возможностями:

-выполнение неограниченного  количества задач одновременно;

-под задачу достаточно  отвести 500 байт;

-целевое переключение  выполняется между задачами с  учетом их приоритетов (всего  определено 64 приоритета) приблизительно  через 6 микросекунд для 486 процессоров  с частотой 33 МГц;

-использует планировщик  выполнения процессов по времени;

-обработка аппаратных  прерываний и различное отрабатывание  прерываний по скорости (от 0,1 до 55 мс);

-поддерживает до 36 последовательных  портов и FIFO буфер в 16550;

-выполняется на любом  компьютере.

Для разработчиков RTKernel-предоставляет  возможности использования задач  на C / C + + или функции и процедуры  Паскаля. При инициализации программы, работает только одна основная программа, которая является главной задачей. Хотя программа содержит систему  реального времени, он ведет себя как "нормальная", последовательная программа в процессе функционирования. Главная задача может запускать  дополнительные задачи с использованием ядра API вызовов. Эти задачи в дальнейшем выполняться параллельно с основной задачей. Каждая задача имеет приоритет  между 1 и 64 и свой собственный стек. Большее число указывает на больший  приоритет. Все переменные, объявленные  в данной процедуре задачи или  функции, используют стек, выделенный для этой задачи. Все задачи могут  получить доступ к глобальным данным без ограничений.

 

Рис. 4. RTKernelСтруктура программы

 

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

Для выполнения задач сбора  больших объемов данных и управления подходят ОСРВ Qnx и RTKernel, но организация  графически удобного интерфейса и работа в сети хорошо реализуется в Qnx и RTX Windows. По результатам представленных возможностей более подходит для реализации перечисленных функций ОСРВ Qnx.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Список используемой литературы:

1. Материалы по программной  системе Trace Mode http://www.tracemode.com

2. Богачев К.Ю. Операционные  системы реального времени. М., 2001.

3. А. Исаев, Л.Акиншин.Windows IT Pro : Windows изнутри. Система реального времени или

Windows? — http://www.osp.ru/win2000/2009/12/13001334/

4. RTKernel - Real-Time Multitasking Kernel for DOS. — http://www.on-time.com/rtkerneldos.htm

5. Сулейманова А.М. Системы  реального времени: учебное пособие/

Уфимск. гос. авиац. техн. ун-т. – Уфа, 2004. – 292 с.

6. Древс Ю.Г. Системы  реального времени: технические  и программные

средства – М.: МИФИ, 2010. – 320 с.

7. Никитин А.И. Общее  программное обеспечение систем  реального време-

ни. – Киев: Наукова думка, 1980.

 

 

 

 

 

 

 

 


Информация о работе Теоретический вопрос №2. Обзор ChorusOS