VxWorks

VxWorks
VxWorks
VxWorks.png
Логотип VxWorks в ASCII-графике
Разработчик

Wind River Systems

Семейство ОС

UNIX-подобная

Последняя версия

6.9 — февраль 2011 г.[1]

Тип ядра

Микроядро

Лицензия

EULA

Состояние

Актуальное

Веб-сайт

www.windriver.com

VxWorks — операционная система реального времени (ОСРВ), разрабатываемая компанией Wind River Systems (США) (приобретена компанией Intel 17 июля 2009 г.), ориентированная на использование во встраиваемых компьютерах, работающих в системах жёсткого реального времени. VxWorks является системой с кросс-средствами разработки прикладного программного обеспечения. Иначе говоря, разработка происходит на инструментальном компьютере, называемом host, для последующего применения его на целевой машине — target.

Как и большинство других ОС реального времени, VxWorks включает в себя многозадачное ядро с вытесняющим планировщиком и быстрым откликом на прерывания, средства межпроцессного взаимодействия и синхронизации, а также файловую систему и сетевую подсистему (стек протоколов TCP/IP). В комплект поставки входят средства для кросс-компиляции, мониторинга производительности (WindView), удалённой символьной отладки, а также эмуляции различных процессоров. Дополнительно поставляется значительное количество различных стеков протоколов, графических подсистем и др. как от самой Wind River Systems, так и от третьих фирм. Множество поддерживаемых VxWorks встраиваемых платформ является одним из самых обширных среди операционных систем реального времени.

4 июня 2009 года компания Intel объявила о планах приобрести Wind River Systems и VxWorks.[2] 17 июля 2009 года поглощение компании было завершено [3]

Содержание

История

Название VxWorks, как считается, получилось из игры слов с названием ОС VRTX, созданной компанией Ready Systems (сейчас этот продукт принадлежит Mentor Graphics). В начале 1980-х VRTX была достаточно новым и сырым продуктом, она работала не слишком хорошо. VRTX имела размер всего 4 КБ, и её нельзя было использовать как полноценную операционную систему. Компания Wind River приобрела права на распространение расширенной версии VRTX под названием VxWorks. Доработки и расширения, внесённые компанией WindRiver, позволили создать систему, которая работала (например, VXWorks имела файловую систему и интегрированную среду разработки). Таким образом, название VxWorks может означать англ. VRTX now Works («VRTX теперь работает») или англ. VRTX that Works («VRTX, которая работает»).

Когда стало ясно, что Ready Systems может разорвать контракт на распространение VRTX, в Wind River было разработано собственное ядро операционной системы, которое заменило VRTX. Базовая функциональность нового ядра VxWorks была такой же, как у VRTX.

Архитектура

VxWorks имеет архитектуру клиент-сервер и, как и большинство ОС жёсткого реального времени, построена по технологии микроядра. На самом нижнем непрерываемом уровне ядра (WIND Microkernel) выполняются только базовые функции планирования задач и управления коммуникацией/синхронизацией между задачами. Все остальные функции ОСРВ более высокого уровня — управление памятью, сетевые средства и т. д. — реализуются через простые функции нижнего уровня. За счёт такой иерархической организации достигается быстродействие и детерминированность ядра системы, также это позволяет легко строить необходимую конфигурацию операционной системы.

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

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

Ядро VxWorks обладает следующими свойствами[4]:

  • количество задач ограничивается только памятью;
  • имеет 256 уровней приоритетов задач;
  • планирование задач организовано двумя способами: вытеснение по приоритетам и циклическое;
  • взаимодействие задач происходит через очереди сообщений, семафоры, события и каналы (для взаимодействия между процессами), сокеты и удалённые вызовы процедур (для сетевого взаимодействия), разделение памяти (используется для разделения данных) и сигналы (для управления исключительными ситуациями);
  • обеспечивается несколько видов семафоров для управления критическими системными ресурсами — двоичные, вычислительные и взаимоисключающие с приоритетным наследованием;
  • возможно детерминированное переключение контекста.

Планирование

В VxWorks обеспечиваются и механизмы планирования, основанные на POSIX[5], и собственные механизмы планирования (wind scheduling). Оба варианта обладают вытесняющим и циклическим планированием. Различие заключается в том, что алгоритмы POSIX-планирования применяются попроцессно, а wind scheduling применяется на уровне всей системы[4].

Все задачи системы и приложения в VxWorks используют одно адресное пространство, что может привести к нарушению стабильности работы системы в случае неисправности какого-либо приложения. Решение этой проблемы достигается установкой отдельно предоставляемого компонента VxVMI[6], который даёт возможность каждому процессу использовать собственное виртуальное пространство.

Прерывания

Для достижения быстрой обработки внешних прерываний, программы обработки прерываний (ISRs — interrupt service routines) в VxWorks работают в специальном контексте вне контекстов потоков, что даёт преимущество во времени, которое обычно тратится на переключение контекстов. С-функция, которую пользователь присоединяет к вектору прерывания, на самом деле не является фактической ISR. Прерывания не могут напрямую обращаться к С-функциям. Вместо этого в таблице векторов прерываний, которая вызывается аппаратно, запоминается адрес ISR. ISR выполняет начальную обработку (подготовку стека и сохранение регистров), а потом вызывается С-функция, которая была присоединена пользователем[4].

Сетевые средства

VxWorks обладает следующими сетевыми средствами[7]:

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

  • IP multicasting уровня 0,1 или 2;
  • long fat pipe;
  • CIDR (Classless Inter-Domain Routing);
  • DHCP (Dynamic Host Configuration Protocol) в конфигурациях сервер, клиент и Relay агент;
  • DNS client (Domain Naming System);
  • SNTP (Simple Network Time Protocol).

VxWorks поддерживает следующие протоколы маршрутизации:

  • RIPv1/v2 (Routing Information Protocol)
  • OSPF (Open Shortest Path First) версии 2.

В стандартную поставку VxWorks входит протокол RIP, протокол OSPF поставляется как дополнительный продукт.

VxWorks поддерживает протокол SNMP (Simple Network Management Protocol) как версии v1, так и версии v2c. Компилятор MIB (Management Information Base) поддерживает объекты MIB-II и расширения.

Стандартным интерфейсом для подключения переносимых сетевых протоколов к операционным системам является интерфейс STREAMS. Под VxWorks можно инсталлировать любой протокол, имеющий STREAMS-реализацию: как стандартный (Novell SPX/IPX, Decnet, AppleTalk, SNA, …), так и специализированный. ОС VxWorks поддерживает STREAMS версии UNIX System V.4.

Дополнительные сетевые возможности: программа WindNet

В 1994 году Wind River Systems была анонсирована программа WindNet, по которой ряд фирм-производителей программных средств в области коммуникаций интегрировали свои программные продукты с VxWorks, тем самым обеспечив поддержку (это неполный перечень)[5]:

  • сетевых протоколов: Х.25, ISDN, АТМ, 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).

Файловая система

В VxWorks поддерживаются следующие файловые системы[8]:

  • MS-DOS-Compatible File System: DosFS
  • Raw File System: RawFs
  • Target Server File System: TSFS
  • Network File System: NFS
  • ISO 9660 (CDROM File System)
  • Tape File System: TapeFs
  • CIFS/SMB
  • TrueFFS

Поддержка симметричного и асимметричного мультипроцессинга

Мультипроцессорная система реального времени, с точки зрения программного обеспечения, бывает двух видов: асимметричная ASMP (Asymmetrical MultiProcessing) и симметричная SMP (Symmetrical MultiProcessing). При асимметричном мультипроцессинге ASMP каждый микропроцессор, а в случае многоядерного микропроцессора — каждое процессорное ядро исполняет свой собственный экземпляр ОС, а за распределение процессов (потоков, задач) по процессорам отвечает разработчик прикладного ПО. В таком случае многопроцессорная система сложна в программировании, но обладает предсказуемостью (детерминированостью) характеристик реального времени.

При симметричном мультипроцессинге SMP прикладной программист видит многопроцессорную систему как виртуальную однопроцессорную, что значительно упрощает разработку ПО, но нет 100 % гарантии предсказуемости исполнения из-за того что нагрузка между процессорами распределяется не вручную, а автоматически.

До появления на рынке встраиваемых микропроцессоров многоядерных устройств потребность в симметричном мультипроцессинге практически отсутствовала. Сложность разработки ПО для слабосвязанных многопроцессорных систем была невелика, и простоту программирования ставили на второе место после предсказуемости поведения системы реального времени. Поэтому в версиях VxWorks 5.x и 6.x вплоть до версии 6.5 поддерживался только асимметричный мультипроцессинг, реализованный в виде библиотеки VxMP(поставляется как дополнительный продукт), обеспечивающей коммуникацию между процессорами через объекты в разделяемой памяти. По мере появления встраиваемых многоядерных микропроцессоров с сильно связанными процессорными ядрами на кристалле на первое место выдвинулась простота разработки ПО, что привело к необходимости поддерживания встраиваемыми ОС реального времени симметричного мультипроцессинга.

С версии 6.6, вышедшей в ноябре 2007 года, VxWorks начала поддерживать симметричный мультипроцессинг SMP[9]. Поддержка SMP-систем включена в интегрированную среду разработки Wind River Workbench for VxWorks[10] и Workbench for On-Chip-Debugging. Поддержка SMP-систем в VxWorks поставляется как дополнительная компонента. Поддерживаются следующие многоядерные микропроцессоры:

  • ARM11 MPCore(ARMv6)
  • Broadcom MIPS BCM1480
  • Cavium OCTEON CN38xx
  • Freescale MPC8641D
  • Intel Dual-Core Xeon LV
  • Intel Core Duo T2400
  • Raza XLR 732

Использование

Представление художника: аппарат Mars Reconnaissance Orbiter на орбите Марса (используется система VxWorks)
  • Phoenix Mars Lander — аппарат НАСА, предназначенный для изучения Марса.
  • Зонды Spirit, Opportunity и Curiosity, а также аппарат Mars Reconnaissance Orbiter используют VxWorks на платформе POWER. Система используется и в других космических миссиях, например Deep Impact.
  • Планируется использование в новейших авиалайнерах Boeing 787 и Boeing 747-8.
  • Коммуникационное оборудование многих компаний (например, Nortel, 3COM, Alcatel и др.).
  • Linksys WRT54G (ver.5,6,…), NetGear WGR614 (ver. 5,6,7)
  • Некоторые PostScript-принтеры.
  • Медицинское оборудование компании Siemens AG (в частности, магнитно-резонансные томографы).
  • Системы хранения ETERNUS DX компании Fujitsu
  • Последние системы интерфейсов BMW iDrive
  • Система управления робототехническими комплексами компании KUKA.
  • Система управления роботами компании ABB
  • Множество других применений во встраиваемых системах с высокими требованиями к надёжности и времени отклика.
Поддерживаемые целевые архитектуры (targets) Поддерживаемые инструментальные платформы (hosts) Поддерживаемые интерфейсы
  • host-target Ethernet,
  • RS232,
  • ICE (In-Circuit Emulator),
  • кросс-шина (backplane)

Критика

Минка Николова, интервью InternetNews.com[11]:

Под Linux есть великолепные новые пакеты, которые мы можем при необходимости интегрировать в наши сетевые коммутаторы. Платформа VxWorks стара и в ней сейчас мало что происходит. Пакеты, которые предоставляет VxWorks, на самом деле, не самые новые и не самые лучшие. Всё постепенно движется в сторону Linux.

Конкурирующие операционные системы

Краткое сравнение операционных систем реального времени

Оригинальная таблица: Сводные таблицы характеристик свойств ОСРВ

ОСРВ Архитектура Среда разработки POSIX Мах. число задач
VxWorks Клиент-сервер, микроядро Tornado, Workbench POSIX 1003.1, .1b, .1c (включая pThreads) ограничивается только объёмом памяти
QNX Клиент-сервер, микроядро и взаимодействующие процессы QNX Momentics IDE для Windows, Solaris, QNX4, QNX6 (до версии Neutrino 6.3.2 включительно), Linux POSIX 1003.1-2001, с потоками и расширенным. РВ 4095 процессов, в каждом процессе до 32767 потоков
LynxOS[12][13] монолитное ядро[14] Luminosity на базе среды Eclipse POSIX 1003.1a/b/c, 1003.1-2003 ограничено памятью

Примечания

  1. Wind River Advances Multicore Leadership With Introduction of Latest VxWorks Real-Time Operating System. Архивировано из первоисточника 28 января 2012. Проверено 5 апреля 2009.  (англ.)
  2. Intel strikes back at ARM, buys embedded OS maker Wind River — Ars Technica. (англ.)
  3. Intel Corporation today announced the successful completion of its acquisition of Wind River Systems Inc.  (англ.)
  4. 1 2 3 Статья «Операционные системы реального времени» И. Б. Бурдонов, А. С. Косачев, В. Н. Пономаренко п. 2.1. VxWorks
  5. 1 2 Статья «VxWorks: Операционная система реального времени и комплекс инструментальных средств разработки ПО РВ», А. В. Демьянов п. Дополнительные сетевые возможности: программа WindNet, п. Поддержка стандартов POSIX
  6. VxWorks Facilities: An Overviewп. Virtual Memory (Including VxVMI Option)
  7. Статья: «Операционные системы реального времени» И. Б. Бурдонов, А. С. Косачев, В. Н. Пономаренко п. 5. Сводные таблицы характеристик свойств ОСРВ табл. 2
  8. VxWorks / Tornado II FAQ
  9. VxWorks 6.6 SMP, Symmetric Multiprocessing Technology for Multicore
  10. pdf: Wind River Workbench
  11. Alcatel-Lucent Networking Embraces Linux, NAC
  12. Статья: «LynxOS — операционная система реального времени в стандарте POSIX», Золотарёв С. В., Калядин А. Ю.
  13. новостная статья
  14. статья: «Взгляд на мир операционных систем реального времени в 2006 году С. В. Золотарёв» п. «Монолитное или микроядро?»

Список литературы

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Полезное


Смотреть что такое "VxWorks" в других словарях:

  • VxWorks — Basisdaten Entwickler Wind River …   Deutsch Wikipedia

  • VxWorks — Famille Temps réel, Type UNIX Type de noyau Noyau monolithique État du projet En développement Plates formes x86, MIPS, PowerPC, SH 4, ARM Entreprise&# …   Wikipédia en Français

  • VxWorks — Infobox OS name = VxWorks caption = developer = Wind River Systems source model = kernel type = Micro kernel supported platforms = x86, MIPS, PowerPC, SH 4, ARM, StrongARM, xScale ui = family = Real time operating systems released = birth year… …   Wikipedia

  • VxWorks — La Mars Reconnaissance Orbiter usa VxWorks. VxWorks es un sistema operativo de tiempo real, basado en Unix, vendido y fabricado por Wind River Systems. Como la mayoría de los sistemas operativos en tiempo real, vxWorks incluye kernel multitarea… …   Wikipedia Español

  • RTOSVisor — ist eine Software der Firma acontis technologies, um gleichzeitig mehrere Echtzeitbetriebssysteme (RTOS, Real Time Operating System) und andere Betriebssysteme (z. B. Windows und Linux) auf einem Computer mit Multicore Prozessor betreiben zu …   Deutsch Wikipedia

  • WRT54G — Der WRT54G ist ein Router (10/100) der Firma Linksys (seit 2001 ein Tochterunternehmen von Cisco), der aus einem integrierten Vier Port Switch und einem Wireless Access Point besteht. Das Gerät ist geeignet, eine Internetverbindung mit mehreren… …   Deutsch Wikipedia

  • WRT54GL — Der WRT54G ist ein Router (10/100) der Firma Linksys (seit 2001 ein Tochterunternehmen von Cisco), der aus einem integrierten Vier Port Switch und einem Wireless Access Point besteht. Das Gerät ist geeignet, eine Internetverbindung mit mehreren… …   Deutsch Wikipedia

  • WRT54GS — Der WRT54G ist ein Router (10/100) der Firma Linksys (seit 2001 ein Tochterunternehmen von Cisco), der aus einem integrierten Vier Port Switch und einem Wireless Access Point besteht. Das Gerät ist geeignet, eine Internetverbindung mit mehreren… …   Deutsch Wikipedia

  • Comparison of platform virtual machines — Platform virtual machines are software packages which emulate the whole physical computer machine, often giving multiple virtual machines on one physical platform. The table below compares basic information about platform virtual machine (VM)… …   Wikipedia

  • Mercury Instruments — Mercury Instruments, Inc. provides high performance embedded, real time data processing, communication and storage solutions. Mercury provides embedded solutions through delivery of specialty technology, reference design, know how, system… …   Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»