1.1.3. Обзор систем реального времени
На сегодняшний день существует большое количество коммерческих ОСРВ. Есть ряд бесплатных (или условно бесплатных) СРВ и систем, имеющих статус исследовательских или университетских проектов. В России хорошо представлены только несколько коммерческих систем (QNX, OS-9, VxWorks ). QNX на сегодня является самой распространенной ОСРВ в России. Многие популярные в Европе и США ОСРВ до сих пор практически не представлены на российском рынке. Дадим краткое описание некоторых систем реального времени.
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 и других. Возможно обращение к различным сетевым администраторам через один кабель. Операционная система QNX объединяет всю сеть персональных компьютеров в единый набор ресурсов с абсолютной прозрачностью доступа к ним. Узлы могут добавляться и исключаться из сети, не влияя на целостность системы. Сетевая обработка данных в QNX является настолько гибкой, что вы можете объединить в одну сеть любой разнородный набор Intel совместимых компьютеров соединенных через Arcnet, Ethernet, Token Ring или через последовательный порт, к которому также может быть подключен модем. Причем возможно участие компьютера одновременно в нескольких сетях, и если одна из них окажется перегруженной или выйдет из строя, то QNX автоматически будет использовать другие доступные сети без потери информации. Файловая система QNX полностью соответствует стандарту POSIX. Эти отличия в основном сказываются на ее живучести, то есть на целостности данных, хранимых на диске, и на производительности. 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 является практически отсутствие версий для платформ, отличных от Intel.
OS-9
OS-9 – одна из наиболее традиционных операционных систем реального времени c 70-х годов. Первая версия системы была написана фирмой Microware Systems Corp. еще для процессора Motorola 6809. В дальнейшем основные идеи, заложенные в систему, стали опорными точками при создании многих известных сейчас систем этого класса и послужили исходным материалом при создании стандарта POSIX 1003.
OS-9 является многозадачной и многопользовательской, модульной и переносимой операционной системой для компактных встраиваемых приложений реального времени.
Продукты OS-9 фирмы Microware включают в себя высокотехнологичное системное программное обеспечение РВ и инструментальные средства разработки для интеллектуальных устройств, ориентированных на следующие рынки:
Промышленные встраиваемые системы.
Системы телекоммуникации.
Рынок потребительской электроники.
Программные средства OS-9 поставляются пользователям в виде:
Комплексных лицензируемых пакетов для OEM.
Пакетов поддержки аппаратных вычислительных плат, устройств и систем.
Системное програмное обеспечение реального времени.
OS-9 относится к классу UNIX подобных операционных систем реального времени и предлагает к использованию многие привычные элементы среды UNIX. Модульность системы означает, что она может быть масштабирована для удовлетворения нужд, как маленьких встроенных систем, так и больших сетевых приложений. Все функциональные компоненты OS-9, включая ядро, иерархические файловые менеджеры, систему ввода/вывода и средства разработки, реализованы в виде независимых модулей. Комбинируя эти модули, разработчик может создавать системы с разной конфигурацией от миниатюрных автономных ПЗУ ориентированных ядер до полномасштабных многопользовательских систем разработки. Как правило, разработка программ ведется в полнофункциональных конфигурациях. После того как будет отлажен код программы реального времени, отсоединяются модули разработки и ввода вывода, и полученный код готов к исполнению под управлением ядра в целевой системе.
Все модули OS-9 могут быть размещены в ПЗУ. Кроме того, они все позиционно независимые. В результате любые системные и прикладные модули могут добавляться или удаляться из системы в процессе ее функционирования без какой-либо повторной компиляции или компоновки. OS-9 обеспечивает выполнение всех основных функций операционных систем реального времени типа управления задачами, памятью, межзадачного обмена информацией и синхронизации задач.
Компания Microware стала в 1994 году первым производителем программного обеспечения реального времени, который был сертифицирован по ISO9001.
OS-9 имеет самый широкий набор файловых менеджеров по сравнению с другими ОСРВ. Базовые файловые менеджеры OS-9 предназначены для организации обмена информацией между процессами и обеспечивают приложениям OS-9 доступ к различным последовательным устройствам типа принтеров и терминалов, а также к устройствам внешней памяти, таким как диски (жесткие, гибкие, электронные и оптические) и ленты. Сетевые файловые менеджеры обеспечивают доступ к самым разным сетевым устройствам по протоколу TCP/IP. Файловые менеджеры также поддерживают различные высокоуровневые сетевые протоколы и протоколы передачи файлов.
Модульная структура OS-9 позволяет разработчику выбирать именно те функциональные блоки, которые требуются данному приложению. Любая из опций легко может быть добавлена в систему для обеспечения соответствия изменившимся требованиям к системе. Для поддержки таких сложных приложений, как телекоммуникации, мультимедиа и системы выдачи видеоданных по запросу, фирма Microware разработала ряд дополнительных файловых менеджеров.
Файловый менеджер управления стеком протоколов поддерживает несколько типов коммуникационных протоколов типа X.25 и LAP-B. Он обеспечивает независимую от сети архитектуру для динамической сборки и разработки (stacking and unstacking) модулей протокола и драйверов устройств. В автономной встроенной системе такие приложения и стеки протокола могут быть как резидентными в устройстве, так и загружаться в устройство через сеть.
Пользовательский интерфейс мультимедиа-приложения MAUI содержит расширенный набор протоколов API для соответствия требованиям высокопроизводительных мультимедиа-протоколов либо протоколов пользователя. С данным интерфейсом могут общаться такие являющиеся промышленным стандартом пакеты, как Apple QuickDraw и QuickTime, Macromedia Director, Oracle Media Objects и Sybase Gain.
Файловый менеджер для приложений мультимедиа MPFM, соответствующий спецификациям MPEG, рассчитан на использование в различных приложениях мультимедиа, включающих интерактивное телевидение, образование, обучение и выдачу видеоинформации по запросу.
Основные характеристики OS-9:
- многозадачная (65535 процессов, 65535 уровней приоритета);
- многопользовательская (256 пользователей);
- переносимость приложений (ANSI C/C++, POSIX 1003.1, TCP/IP(NFS,RPC), X Windows X11.R6(OSF Motif)), JAVA;
- 100% размещение в ПЗУ системы и приложений пользователя;
- объектно-ориентированный модульный дизайн;
- полностью вытесняемое детерминированное ядро с минимальным временем реакции на прерывание;
- многоуровневая, основанная на приоритетах обработка прерываний;
- развитые сетевые средства (Arcnet, Ethernet, OMNInet, X.25, ISDN T1/E1, ATM NFM, TCP/IP, IPX Profibus, CAN, MIL STD 1553…);
- графические оконные интерфейсы – GUI;
- резидентные и кросс-средства разработки, прогрессивная технология высоко оптимизирующего ANSI C/C++ компилятора;
- поддержка HOST-систем (IBM PC(MS Windows 3.xx, 95, 98, 2000, NT), IBM RS6000/AIX, Sun4/SunOS/Solaris, HP9000 S/700, SGI IRIS/IRIX);
- широкая поддержка сторонних разработчиков программного обеспечения;
- широкая поддержка разработчиков аппаратных средств промышленной автоматизации;
- программные продукты для мобильной беспроводной коммуникации, устройств с минимальным потреблением энергии, мультимедиа);
- специальные программные средства и лицензионная политика для OEM;
- более 5 млн. установленных копий;
- более 800 OEM-партнеров.
VxWorks/Tornado4
Операционная система реального времени VxWorks и инструментальная среда Tornado фирмы Wind River Systems предназначены для разработки ПО встроенных компьютеров, работающих в системах жесткого реального времени. Операционная система VxWorks является системой с кросс-средствами разработки прикладного программного обеспечения, разработка ведется на инструментальном компьютере (host) в среде Tornado для последующего исполнения на целевой машине (target) под управлением VxWorks.
VxWorks поддерживает целевые архитектуры (targets):
Motorola 680x0 и CPU32, PowerPC;
Intel 386/486/Pentium, Intel 960;
Spare, Mips R3000/4000;
AMD 29K, Motorola 88110;
HP PA-RISC;
Hitachi SH7600;
DEC Alpha.
Инструментальные платформы, поддерживаемые для Tornado (hosts):
Sun SPARCstation (SunOS и Solaris);
HP 9000/400,700 (HP-UX);
IBM RS6000 (AIX);
Silicon Graphics (IRIX);
DEC Alpha (OSF/1);
PC (Windows).
Поддерживаемые интерфейсы host-target:
host-target Ethernet;
RS232;
внутрисхемный эмулятор ICE (In-Circuit Emulator);
кросс-шина (backplane).
Операционная система VxWorks построена, как и положено ОС жесткого реального времени, по технологии микроядра, т.е. на нижнем непрерываемом уровне ядра выполняются только базовые функции планирования задач и их управления коммуникацией/синхронизацией. Все остальные функции операционной системы более высокого уровня (управление памятью, вводом/выводом, сетевые средства и т.д.) базируются на простых функциях нижнего уровня, что позволяет обеспечить быстродействие и детерминированность ядра, а также легко строить необходимую конфигурацию операционной системы.
В многозадачном ядре wind применен алгоритм планирования задач, учитывающий приоритеты и включающийся по прерываниям. В качестве основного средства синхронизации задач и взаимоисключающего доступа к общим ресурсам в ядре wind применены семафоры. Имеется несколько видов семафоров, ориентированных на различные прикладные задачи: двоичные, целочисленные, взаимного исключения и POSIX.
Все аппаратно-зависимые части VxWorks вынесены в отдельные модули. Этот комплект конфигурационных и инициализационных модулей называется (Board Support Package, BSP) и поставляется для стандартных компьютеров (VME-процессор, PC или Sparcstation) в исходных текстах. Разработчик нестандартной машины может взять за образец BSP наиболее близкий по архитектуре стандартный компьютер и перенести VxWorks на свою машину путем разработки собственного BSP с помощью BSP Porting Kit.
Базовые сетевые средства VxWorks: UNIX-networking, SNMP и STREAMS.
VxWorks была первой операционной системой реального времени, в которой реализован протокол TCP/IP с учетом требований реального времени. С тех пор VxWorks поддерживает все сетевые средства, стандартные для UNIX: TCP/UDP/ICMP/IP/ARP, Sockets, SLIP/CSLIP/PPP, telnet/rlogin/rpc/rsh, ftp/tftp/bootp, NFS (клиент и сервер).
Реализация SNMP-агента с поддержкой как MIB-I, так и MIB-II предназначена для применения VxWorks в интеллектуальном сетевом оборудовании (хабы, мосты, маршрутизаторы, повторители) и других устройствах, работающих в сети.
STREAMS – стандартный интерфейс для подключения переносимых сетевых протоколов к операционным системам, реализован в VxWorks как в версии SVR3, так и SVR4. Таким образом, в VxWorks можно инсталлировать любой протокол, имеющий STREAMS-реализацию, как стандартный (Novell IPX/SPX, DECNET, Apple-Talk и пр.), так и специализированный. Wind River Systems анонсировала (1994) программу WindNet, по которой ведущие фирмы-производители программных средств в области коммуникаций интегрировали свои программные продукты с VxWorks.
На сегодняшний день – это сетевые протоколы Х.25, ISDN, ATM, SS7, Frame Relay и OSI; CASE-средства разработки распределенных систем на базе стандартов ROOM (Real-Time Object Oriented Modelling) и CORBA (Common Object Request Broker Architecture); менеджмент сетей по технологиям MBD (Management By Delegation) и CMIP/GDMO (Common Management Information Protocol/Guidelines for Definition of Managed Objects).
Мониторинг и отладка в реальном масштабе времени: WindView. Обычные отладчики, позволяющие исследовать состояние программ и данных в точках останова, являются статическими средствами отладки. Возможности исследования динамики исполнения программ и изменения данных предоставляют специальные средства отладки в реальном масштабе времени, которые трассируют интересующие пользователя события и накапливают их в буфере для последующего анализа.
Трассировку системных событий (переключения задач, запись в очередь сообщений, установка семафора и т. д.) позволяет вести динамический анализатор WindView, который отображает накопленные в буфере события на временной диаграмме аналогично экрану логического анализатора.
Дисплей WindView предоставляет управляемый доступ к разнообразной информации о динамике событий в системе реального времени: переключение контекста, захват и освобождение семафоров, посылка и прием сообщений из очереди, а также истечение заданного интервала времени. События могут быть помечены либо временными метками микросекундного диапазона, либо последовательными номерами.
В последнее время высокопроизводительные микропроцессоры, а с ними и операционные системы реального времени, все чаще используются в так называемых “глубоко встроенных” (deeply embedded) применениях (автомобильная электроника, офисная и бытовая техника, измерительные и медицинские приборы и др.). К таким компьютерным системам предъявляются два основных требования: малые габариты и низкая стоимость, поэтому глубоко встроенные микропроцессорные системы ставят две проблемы на пути применения серийных ОСРВ: небольшие объемы используемой памяти и отсутствие “лишних” интерфейсов, по которым можно было бы связать целевую и инструментальную машины на этапе разработки встроенного ПО.
Специально для систем с сильно ограниченным объемом памяти компания Wind River Systems разработала редуцированное ядро WindStream, которое требует для работы не более 8 Кб ПЗУ и 2 Кб ОЗУ. При этом для WindStream применим весь спектр инструментальных средств VxWorks, включая WindView.
В качестве интерфейса между инструментальной и встроенной целевой машинами можно использовать внутрисхемные эмуляторы ICE (In-Circuit Emulators), например, НР64700, которые включаются в гнездо микропроцессора целевой системы, не имеющей Ethernet, или RS232 для связи с инструментальной машиной.
Экономичной альтернативой внутрисхемным эмуляторам являются так называемые ROM-эмуляторы, включаемые в гнездо ПЗУ микропроцессора целевой системы, например, NetROM фирмы XLNT Designs. К Ethernet-разъему эмулятора NetROM подключается инструментальная машина, стандартный Ethernet-драйвер VxWorks заменяется драйвером NetROM и так на целевой машине появляется виртуальный Ethernet.
Инструментальная среда Tornado имеет открытую архитектуру, что позволяет другим фирмам-производителям инструментальных средств разработки ПО реального времени интегрировать свои программные продукты с Tornado. Пользователь может подключать к Tornado свои собственные специализированные средства разработки, а также расширять возможности инструментальных средств фирмы Wind River Systems.
В стандартную конфигурацию Tornado входят ядро VxWorks и системные библиотеки, GNU C/C++ Toolkit, дистанционный отладчик уровня исходного языка CrossWind, оболочка WindSh, конфигуратор BSP WindConfig и др.
Существует множество программных продуктов интегрированных с Tornado производства других фирм.
IA-SPOX
Это многозадачное ядро реального времени, разработанное компанией Spectron Microsystems, было, по-видимому, первой успешной попыткой соединения таких понятий, как Windows и жесткое реальное время. IA-SPOX спроектировано в виде набора виртуальных драйверов (VxD), которые работают совместно с ядром Windows 2000 на нулевом уровне привилегий процессора (Ring 0). Пользовательские программы, работающие на третьем уровне (Ring 3), могут вызывать функции и процессы реального времени, а также обмениваться данными с ними. Именно на IA-SPOX базировалась объявленная в 1994 году инициатива Intel по реализации мультимедиа-функций программным путем без использования специальных процессоров обработки сигнала. IA-SPOX показало свою эффективность в программной реализации синтеза звука, высокоскоростной модемной связи и решения других задач, требующих быстрой и детерминированной реакции системы.
RTX
Фирма VenturCom разработала подсистему реального времени RTX (Real-Time Extensions) для Windows NT при поддержке Microsoft. Microsoft передала лицензию на исходные тексты такого компонента Windows NT, как Уровень Абстракции Аппаратуры (HAL, Hardware Abstraction Level), который в основном и определяет характеристики ОС по обработке прерываний. RTX добавляет дополнительные вызовы к интерфейсу прикладного программирования (RTAPI, Real-Time API), а также загружает модифицированный HAL, который изолирует аппаратные прерывания от ядра Windows NT. RTX предоставляет для системы таймер реального времени с расширением 1мс и уменьшает время отклика. RTX обеспечивает для процессов доступ к физическим адресам памяти и портов ввода/вывода, а также специальные методы работы со страничной памятью, исключающие свойственные Windows NT задержки. Кроме того, предлагаются интерфейсы, замещающие функции WIN32, ответственные за планировку и синхронизацию задач, межзадачный обмен сообщениями, работу с аппаратными прерываниями и т.п. Самое интересное, что для этого не нужны изменения Windows NT и это не отразится на работоспособности существующих программ.
Для разработчиков встраиваемых систем VenturCom предлагает версию Windows NT, которая требует менее 10 Мбайт ПЗУ и 8 Мбайт ОЗУ. Подкачка страниц виртуальной памяти при этом запрещена, а в качестве дополнительных драйверов предлагаются драйверы Null-Display и Null-Input, позволяющие системе работать без дисплея и клавиатуры.
Falcon
После того как Intel передала права на эту ОСРВ компании RadiSys, последняя неустанно трудилась над интеграцией полученного продукта с платформой Windows NT. Фирма выбрала стандартный путь лицензирования у Microsoft исходных текстов уровня HAL, с их последующим изменением под требования жесткого реального времени.
К стандартным функциям WIN32 добавляются новые функции, оптимизированные для работы в реальном времени. Само ядро реального времени на базе iRMX сосуществует с ядром Windows NT и отвечает за выполнение критических по быстродействию процессов. Windows NT вместе со всеми стандартными приложениями в этом случае является наименее приоритетным процессом, который получает управление только в случае, если все задачи реального времени находятся в неактивном состоянии. Подсистема реального времени может продолжать функционировать даже в случае полного зависания Windows NT.
Hyperkernel
Подсистема реального времени для Windows NT, которая предлагается фирмой Imagination Systems. Как и в других системах, Hyperkernel позволяет сочетать высокоскоростные задачи управления, требующие детерминированного времени отклика, и менее критичные приложения типа ПО операторского интерфейса. Microsoft и в этом случае предоставила исходные тексты HAL-уровня и разрешила распространение модифицированных версий.
RT-Linux
RT-Linux – это операционная система, в которой небольшое ядро реального времени сосуществует с Posix-like ядром Linux. Основная цель – сделать доступными сложные службы и оптимизированное поведение системы в стандартных ситуациях, для системы с разделением времени и в то же время выполнять задачи реального времени. В прошлом операционные системы реального времени примитивны – простые программы, которые предлагали пользователю чуть больше, чем просто библиотека основных функций. Но в наше время пользователи требуют доступ к TCP/IP, графическому дисплею и системе окон, базам данных и другим службам, которые не являются ни примитивными, ни простыми. Одно из решений – добавить non-real-time службы к базовому ядру реального времени, что и было проделано в VXworks и немного по-другому в микроядре QNX. Вторая возможность – модифицировать стандартное ядро и сделать его полностью прерываемым.
RT-Linux организован третьим способом, в котором простое ядро реального времени запускает обычное ядро как одну из задач реального времени с самым низким приоритетом, используя виртуальную машину для того, чтобы сделать стандартное ядро полностью прерываемым.
В RT-Linux все прерывания обслуживаются ядром реального времени, а затем, передаются стандартному ядру, но только в том случае, если нет необходимости запускать одну из задач реального времени. Для того чтобы минимизировать количество изменений в стандартном ядре, этот механизм реализован при помощи эмулирования ICH (Interrupt Control Hardware). Ядро реального времени и пользовательские задачи Linux могут обмениваться данными через неблокируемые очереди и сегменты разделяемой памяти.
С точки зрения программиста очереди выглядят как стандартные последовательные устройства UNIX, доступ к которым возможен при помощи системных вызовов POSIX read/write/open/ioctl. Разделяемая память доступна через системный вызов mmap.
RT-Linux использует Linux для загрузки, доступа к большинству устройств, работы с сетью, файловыми системами, управлением процессами Linux и загрузки модулей ядра, что дает возможность легко модифицировать систему реального времени.
Программа реального времени состоит из двух частей: задачи, которая представляет собой модуль ядра и обыкновенный UNIX/Linux процесс и заботится об обработке данных, доступу к дисплею и сети, и о любых других функциях, не требующих таких жестких временных рамок.
На практике оказалось, что идея RT-Linux очень удачна. В самом худшем случае запаздывание прерываний на 486/33Mhz PC оказалось менее 30 мкс, что близко к аппаратному пределу. Наиболее часто используемая конфигурация RT-Linux – примитивные задачи реального времени со статически распределяемой памятью без ее защиты, простым планировщиком с фиксированными приоритетами без защиты от нереализуемых планов, аппаратным запретом прерываний, разделяемой памятью – механизм синхронизации задач реального времени и ограниченный набором операций над FIFO-очередями, подсоединенными к обычным процессам Linux.
Ядро Linux позволяет в динамике загружать и выгружать модули ядра, сделав отдельные части ядра реального времени в виде модулей, легко изменять ядро реального времени. Уже написаны альтернативные планировщики и модуль семафоров. Во время работы системы можно загрузить модуль с задачами реального времени, затем выгрузить стандартный планировщик и загрузить, например, EDF планировщик. Можно пробовать разные комбинации модулей, пока не будет найдена оптимальная.
Этот вариант Linux позволяет выполнять задачи в реальном времени. Это достигается путем вставки ядра реального времени между стандартным ядром Linux и аппаратными прерываниями и позволяет избавиться от главной причины непригодности Linux для задач реального времени – большого запаздывания прерываний.
С точки зрения RT-Linux, Linux – одна из задач реального времени, имеющая самый низкий приоритет, может быть прервана, когда нужно. Такая структура накладывает некоторые ограничения на задачи реального времени. Они не могут легко использовать различные драйверы Linux, не имеют доступ к сети и т. д., но зато могут обмениваться данными с стандартными задачами Linux.
Простые очереди FIFO реализованы для обмена данными между процессами реального времени и процессами Linux. Типичное приложение состоит из двух частей – задачи реального времени, непосредственно работающей с аппаратурой и обыкновенно задачи Linux, которая выполняет остальные операции, такие как сохранение данных на диск, пересылка их по сети, работа с пользователем (GUI) и т. д.
Самый короткий период для периодически вызываемых задач реального времени в RT-Linux на Pentium 120 – менее 150 мкс. Задачи, вызываемые по прерыванию, могут иметь намного меньший период.
Ядро реального времени не защищает от перегрузок. Если одна из задач реального времени полностью занимает процессор, ядро Linux, имея самый низкий приоритет, не получит управления и система повиснет. Задачи реального времени запускаются в адресном пространстве ядра с привилегиями ядра и могут быть реализованы, например, при помощи модулей Linux.
Необходимо отметить, что компания LinuxWorks начала поставки встраиваемой ОС BlueCat Linux для комплекта разработчика ПО Intel Internet Exchange Architecture Software Developers Kit (Intel IXA SDK) 2.0, предназначенного для семейства сетевых процессоров Intel IXP1200. ОС BlueCat Linux распространяется бесплатно совместно с Intel IXA SDK 2.0.
VxWorks давно стала де-факто стандартом для подавляющего большинства систем, использующих встроенные ОС. Флэш-память вычислительной системы IXP1200 содержит загрузчик ядра VxWorks. Для разработчиков это упрощает задачу написания новых программ. Кроме того, уже реализована возможность работы сетевого процессора под управлением ОС Linux (с расширениями реального времени). Осуществляется программная поддержка некоторыми производителями ОС Linux (например, LinuxWorks и т.д.).
- Автоматизированные информационно-управляющие системы Учебное пособие
- Оглавление
- Часть I. Автоматизированные информационно-управляющие системы Основные понятия
- Глава 1. Информационно-управляющие системы реального времени §1.1. Особенности информационно-управляющих систем реального времени
- 1.1.1. Определение и основные характеристики информационно-управляющих систем реального времени
- 1.1.2. Операционные системы реального времени
- 1.1.3. Обзор систем реального времени
- §1.2. Построение информационно-управляющих систем реального времени на базе операционной системы qnx
- §1.3. Scada – системы
- §1.4. Scada – система trace mode
- 1.4.1. Обзор системы trace mode
- 1.4.2. Функциональная структура пакета
- 1.4.3. Обзор внедрения системы trace mode
- §1.5. Программно-технический комплекс DeltaV
- 1.5.1. Обзор системы DeltaV
- 1.5.2. Концепции системы DeltaV
- 1.5.3. Программные приложения DeltaV
- §1.6. Программно-технический комплекс Квинт
- 1.6.1. Описание
- 1.6.2. Структура программно-технического комплекса Квинт
- 1.6.3. Архитектура
- 1.6.4. Контроллеры
- 1.6.5. Рабочие станции
- 1.6.6. Сети
- 1.6.7. Система автоматизированного проектирования асу тп
- 1.6.8. Примеры внедрения
- §1.7. Системы автоматизации фирмы Siemens8
- 1.7.1. Состав программно-технического комплекса Totally Integrated Automation
- 1.7.2. Примеры автоматизации технологических процессов9
- §1.8. Системы автоматизации фирмы авв10
- 1.8.1. Основные направления деятельности
- 1.8.2. Системы управления, предлагаемые авв Автоматизация в России
- Глава 2. Обеспечивающие подсистемы информационно-управляющих систем и их характеристики §2.1. Программное обеспечение управления процессами
- 2.1.1. Реализация языков программирования стандарта мэк 6-1131/3 в системе trace mode
- 2.1.2. Описание языков программирования
- 2.1.3. Реализация регуляторов и объектов управления в scada-системе TraceMode
- §2.2. Программное обеспечение секвенциально-логического управления
- 2.2.1. Программируемые логические контроллеры
- 2.2.2. Языки программирования логических контроллеров
- 2.2.3. Пример реализации секвенциально-логических алгоритмов в trace mode
- §2.3. Средства идентификации и оптимизации
- 2.3.1. Идентификация характеристик технологических объектов
- 2.3.2. Идентификация характеристик технологических объектов с использованием стандартных методов Excel
- 2.3.3. Решение задачи оптимизация технологических объектов
- §2.4. Средства интеллектуального анализа данных
- 2.4.1. Общие представления о Data Mining13
- 2.4.2. Задачи Data Mining
- 2.4.3. Классы систем Data Mining
- 2.4.4. Основные этапы Data Mining
- Глава 3. Проектирование информационно-управляющих систем §3.1. Основные проблемы, системный подход и последовательность разработки
- §3.2. Адаптация информационно-управляющих систем к области применения
- §3.3. Информационные технологии проектирования иус
- §3.4. Концепции информационного моделирования
- Часть II. Примеры автоматизированных информационно-управляющих систем в управлении энергетической эффективностью технологических процессов
- 1. Оперативное управление технологическими процессами с прогнозом показателей энергетической эффективности16
- 2. Оперативное управление потоками энергетических ресурсов в производственных сетях с учетом динамики их аккумулирования19
- 3. Автоматизированная система диспетчерского управления теплоснабжением зданий на основе полевых технологий20
- 4. Паспортизация промышленных потребителей топливно-энергетических ресурсов с использованием средств автоматизации21
- 5. Оперативное управление экономичностью водяных тепловых сетей на основе макромоделирования22
- Подсистема автоматизированного анализа режимов теплоснабжения
- Методика анализа режимов тепловых сетей на основе макромоделирования
- Программное обеспечение анализа режимов тепловых сетей на основе макромоделирования
- 6. Оперативное регулирование экономичности горения в энергетических котлах24
- 7. Автоматизированный мониторинг тепловой экономичности оборудования электрических станций 27
- Резервы тепловой экономичности котлов
- Показатели энергетических ресурсов турбоагрегатов
- Резервы тепловой экономичности турбоагрегатов
- Оптимальное использование пара
- 8. Оптимизация нагрузки параллельно работающих турбоагрегатов по данным эксплуатации при неполных исходных данных28
- Постановка задачи оптимизации
- Решение задачи оптимизации
- Программа «тг-пар»
- Пример работы программы
- 9. Автоматизированная информационная система мониторинга остаточного ресурса энергетического оборудования30
- Методика оценки обобщенного остаточного ресурса энергетического оборудования
- Алгоритм оперативной оценки обобщенного остаточного ресурса энергооборудования с учетом состояния металла
- Программное обеспечение аис «Ресурс»
- 10. Автоматизированное управление процессами в охладительных установках электрических станций35
- Факторы, влияющие на охлаждение
- Устройство и основные характеристики градирен
- Оптимизация работы башенных градирен
- 11. Автоматизированная компрессорная установка41
- Математическое описание объекта управления
- Анализ вариантов установки пароструйного компрессора для подачи пара в деаэраторы энергокорпуса
- Автоматизированная система управления пароструйным компрессором
- 12. Лингвистический подход к оптимизации управления вельц-процессом45
- Алгоритм выделения области Парето-оптимальных режимов в информационной базе данных
- Нечеткие зависимости (лингвистические правила) в управлении процессом вельцевания
- 13. Энергетический менеджмент производства огнеупоров48
- Приложение. Обзор промышленных сетей
- 1. Протокол передачи данных modbus50
- 2. Протокол передачи данных bitbus
- 3. Протокол передачи данных anbus
- 4. Протокол передачи данных hart
- 5. Протокол передачи данных profibus52
- 5.1. Независимые от поставщика взаимодействия между промышленными объектами (Fieldbus Communication).
- 5.2. Семейство profibus
- 5.3. Основные характеристики profibus-fms и profibus-dp
- 5.3.1. Архитектура протокола profibus
- 5.3.2. Физический Уровень (1) протокола profibus
- 5.4.1. Прикладной Уровень (7)
- 5.4.2. Коммуникационная модель
- 5.4.3. Объекты коммуникации
- 5.4.4. Сервисные функции fms
- 6. Полевая шина foundation Fieldbus53