VxWorks

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

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

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

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

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

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

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

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

В сетевые средства 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/IPXDecnetAppleTalk), так и специализированный. ОС VxWorks поддерживает STREAMS версии UNIX System V.4.

Обсуждение закрыто.