encyklopedia.space

VxWorks

VxWorks jest komercyjnym, zamkniętym systemem operacyjnym czasu rzeczywistego (RTOS) przeznaczonym dla systemów wbudowanych. Został opracowany przez amerykańską firmę Wind River Systems i od swojego powstania jest wykorzystywany w szerokim spektrum zastosowań, od lotnictwa i obrony po przemysł motoryzacyjny, medycynę oraz elektronikę konsumencką.

Historia

Projekt VxWorks rozpoczął się w 1985 roku w Palo Alto w Kalifornii jako część programu Badania i Rozwój firmy Wind River Systems. Pierwsza wersja, oznaczona jako VxWorks 1.0, została wydana w 1992 roku. System szybko zdobył popularność dzięki niewielkiemu rozmiarowi, wysokiej wydajności oraz zdolności do działania na wielu architekturach procesorów, w tym MIPS, PowerPC, ARM i x86.

W kolejnych latach powstały kolejne wersje, m.in. VxWorks 5.x (w 1998 roku), VxWorks 6.x (w 2004 roku) oraz najnowszy VxWorks 7 (premierowo zaprezentowany w 2014 roku), który wprowadził architekturę modularną oraz szereg udoskonaleń w zakresie bezpieczeństwa i wsparcia dla najnowszych procesorów.

Charakterystyka techniczna

Architektura

VxWorks jest oparty na jądrze monolitycznym, które zapewnia:

  • Deterministyczny harmonogram z priorytetami preemptive (przerywanie wyższego priorytetu).
  • Obsługę wielu procesorów (SMP – symetryczne przetwarzanie wieloprocesorowe).
  • System plików czasu rzeczywistego (RTFS) oraz wsparcie dla systemu plików FAT.
  • Modułowy stos protokołów sieciowych (TCP/IP, IPv6, UDP, DHCP, TLS/SSL).
  • Zintegrowane środowisko debugowania (Wind River Workbench).

Jądro i planowanie

Planowanie zadań odbywa się wg algorytmu priorytetowego ze stałym priorytetem (fixed‑priority preemptive scheduling). System umożliwia:

  • Priorytety liczbowe (0‑255).
  • Mechanizmy synchronizacji: semafory, muteksy, kolejki wiadomości, zdarzenia.
  • Obsługę przerwań w czasie rzeczywistym (ISR – obsługa przerwań).

Wsparcie języków programowania

Podstawowym językiem jest C, ale dostępne są także biblioteki umożliwiające programowanie w C++ oraz w niektórych wersjach w Ada i Python (przez warstwę interpretatora).

Bezpieczeństwo

Wersja VxWorks 7 wprowadziła szereg funkcji bezpieczeństwa, w tym:

  • Model uprawnień oparty na POSIX i SELinux (SELinux‑like Access Control).
  • Wsparcie dla kryptografii (AES, SHA‑2, RSA) oraz protokołów TLS/DTLS.
  • Mechanizmy aktualizacji oprogramowania w trybie OTA.

Zastosowania

Dzięki skalowalności i niezawodności VxWorks jest wykorzystywany w wielu krytycznych systemach:

  • Lotnictwo i kosmonautyka: systemy sterowania lotem, satelity, misje NASA (np. Mars Rover).
  • Obrona i wojsko: radary, systemy naprowadzania, taktyczne radia.
  • Motoryzacja: systemy infotainment, kontrola silnika, układy bezpieczeństwa (ABS, ESP).
  • Przemysł: sterowniki PLC, robotyka, systemy SCADA.
  • Medicina: urządzenia diagnostyczne, pompy infuzyjne, monitorowanie pacjentów.
  • Elektronika konsumencka: inteligentne telewizory, routery, drony.

Wersje i wydania

Podstawowe linie produktowe to:

  • VxWorks 5.x – pierwsza generacja z rozszerzonym wsparciem dla protokołów sieciowych.
  • VxWorks 6.x – wprowadzenie wsparcia dla 64‑bitowych procesorów i zwiększona kompatybilność z POSIX.
  • VxWorks 7 – modularny system oparty na komponentach, większe bezpieczeństwo i integracja z chmurą (IoT).

Licencjonowanie i dostępność

VxWorks jest dostępny na licencji komercyjnej. Model cenowy obejmuje:

  • Licencje per jednostkę sprzętową (per‑device).
  • Licencje per‑core (dla wielordzeniowych procesorów).
  • Opcje wsparcia technicznego (standard, premium).

Konkurencja

Na rynku RTOS VxWorks konkuruje m.in. z:

  • FreeRTOS – otwarto‑źródłowy system o małym rozmiarze.
  • QNX – system mikrojądrowy o wysokiej niezawodności.
  • ThreadX – RTOS firmy Express Logic (obecnie część Microsoft).
  • Integrity RTOS – rozwiązanie firmy Green Hills Software.

Przyszłość

Rozwój VxWorks koncentruje się na integracji z technologiami chmurowymi (Edge Computing), zwiększeniu wsparcia dla architektur RISC‑V oraz dalszym podnoszeniu poziomu bezpieczeństwa poprzez certyfikacje DO‑178C (lotnictwo) i IEC 61508 (przemysł).

Bibliografia i materiały dodatkowe

W encyklopedycznych artykułach pokrewnych można znaleźć szczegółowe informacje: