VxWorks

VxWorks

A VxWorks kezdőképernyője ASCII grafikában
Fejlesztő Wind River Systems
OS család UNIX-szerű
Első kiadás 1987
legújabb verzió 7 ( 2014 . március [ 1 ] )
Támogatott platformok x86
Kernel típusa mikrokernel
Engedély Használati feltételek
Állapot Tényleges
Weboldal VxWorks RTOS
 Médiafájlok a Wikimedia Commons oldalon

A VxWorks  a Wind River Systems ( USA ) által kifejlesztett valós idejű operációs rendszer , amelyet kemény valós idejű rendszerekben futó beágyazott számítógépekben való használatra terveztek . A VxWorks egy olyan rendszer, amely kereszteszközökkel rendelkezik az alkalmazásszoftverek fejlesztéséhez. Más szóval, a fejlesztés egy host nevű műszeres számítógépen történik, amelyet később egy célgépen – célon – használnak.

A legtöbb más valós idejű operációs rendszerhez hasonlóan a VxWorks is tartalmaz egy többfeladatos kernelt megelőző ütemezővel és gyors reagálással a megszakításokra , folyamatok közötti kommunikációs és szinkronizálási lehetőségeket , valamint fájlrendszert és hálózati alrendszert ( TCP/IP protokoll verem ). . A csomag tartalmaz eszközöket keresztfordításhoz , teljesítményfigyeléshez ( WindView ), távoli szimbolikus hibakereséshez és különböző processzorok emulációjához . Ezen túlmenően jelentős számú különböző protokollverem, grafikus alrendszer stb. érkezik magától a Wind River Systems-től és harmadik felektől. A VxWorks által támogatott beágyazott platformok készlete az egyik legkiterjedtebb a valós idejű operációs rendszerek között.

2009. június 4-én az Intel bejelentette a Wind River Systems és a VxWorks felvásárlásának tervét. [2] 2009. július 17-én lezárult a cég átvétele [3] .

Történelem

A "VxWorks" név szójáték a VRTX OS néven , amelyet a Ready Systems hozott létre (jelenleg a Mentor Graphics tulajdona ). Az 1980-as évek elején a VRTX meglehetősen új és nyers volt, és nem működött túl jól. A VRTX mindössze 4 KB méretű volt, és nem használható teljes operációs rendszerként. A Wind River megszerezte a VRTX VxWorks nevű továbbfejlesztett változatának terjesztésének jogát. A WindRiver fejlesztései és bővítései lehetővé tették egy működő rendszer létrehozását (például a VXWorks fájlrendszerrel és integrált fejlesztői környezettel rendelkezett ). Így a VxWorks név angolt jelenthet .  A VRTX most működik („VRTX most működik”) vagy angol nyelven.  VRTX, amely működik ("VRTX, amely működik").

Amikor világossá vált, hogy a Ready Systems felmondhatja a VRTX terjesztési szerződést, a Wind River saját operációs rendszer kernelt fejlesztett ki a VRTX leváltására. Az új VxWorks mag alapvető funkciói ugyanazok voltak, mint a VRTX-é.

Építészet

A VxWorks kliens-szerver architektúrával rendelkezik , és a legtöbb kemény valós idejű operációs rendszerhez hasonlóan mikrokernel technológiával készült . A legalacsonyabb szünetmentes kernel szinten (WIND Microkernel) csak a feladatütemezés és a feladatok közötti kommunikáció/ szinkronizálás kezelésének alapvető funkciói valósulnak meg. Az összes többi magasabb szintű RTOS funkció – memóriakezelés, hálózatépítés és így tovább – egyszerű, alacsonyabb szintű funkciókon keresztül valósul meg. Az ilyen hierarchikus felépítésnek köszönhetően a rendszermag sebessége és meghatározottsága elérhető, és ez megkönnyíti az operációs rendszer szükséges konfigurációjának felépítését is.

A VxWorks konfigurálható súlyos hardverkorlátozott rendszerekhez, valamint fejlett funkcionalitással rendelkező rendszerekhez. A rendszer egyes moduljai maguk is skálázhatók. A rendszer felépítésénél letilthatunk bizonyos rendszerfunkciókat, amelyekre pillanatnyilag nincs szükségünk, illetve adott kernelszinkronizációs objektumokat is eltávolíthatunk, ha nincs rájuk szükség.

De annak ellenére, hogy a rendszer konfigurálható, nem mondható, hogy komponens megközelítést valósít meg, hiszen minden modul az alapmagra épül, és más környezetben nem használható.

A VxWorks mag a következő tulajdonságokkal rendelkezik [4] :

Tervezés

A VxWorks POSIX alapú [5] ütemezési mechanizmusokat és natív szél ütemezési mechanizmusokat is biztosít. Mindkét lehetőség rendelkezik megelőző és ciklikus tervezéssel. A különbség az, hogy a POSIX ütemezési algoritmusokat folyamatonként alkalmazzák, míg a szélütemezést rendszerszinten [4] .

A VxWorks összes rendszerfeladata és alkalmazása ugyanazt a címteret használja, ami a rendszer instabilitásához vezethet, ha valamelyik alkalmazás meghibásodik. A probléma megoldását egy külön biztosított VxVMI [6] komponens telepítésével érik el , amely lehetővé teszi, hogy minden folyamat a saját virtuális terét használja.

Megszakítja

A külső megszakítások gyors kezelésének elérése érdekében a VxWorks megszakítási szolgáltatási rutinjai ( ISR  ) speciális környezetben futnak a szálkontextusokon kívül, ami kihasználja a kontextusváltásra általában fordított időt. A felhasználó által a megszakítási vektorhoz csatolt C függvény valójában nem a tényleges ISR. A megszakítások nem férhetnek hozzá közvetlenül a C függvényekhez. Ehelyett az ISR címe a megszakítási vektor táblában van tárolva, amelyet a hardver hív meg. Az ISR elvégzi a kezdeti feldolgozást (a verem előkészítése és a regiszterek mentése), majd meghívja a felhasználó által csatolt C függvényt [4] .

Hálózati lehetőségek

A VxWorks a következő hálózati lehetőségekkel rendelkezik [7] :

A VxWorks hálózati eszközök olyan funkciókat is tartalmaznak, amelyek az internethez csatlakozó eszközök fejlesztéséhez szükségesek:

A VxWorks a következő útválasztási protokollokat támogatja:

A VxWorks alapfelszereltsége a RIP, az OSPF opcionális termékként kapható.

A VxWorks támogatja az SNMP (Simple Network Management Protocol) v1 és v2c protokollt. A MIB (Management Information Base) fordító támogatja a MIB-II objektumokat és bővítményeket.

A hordozható hálózati protokollok operációs rendszerekhez való csatlakoztatásának szabványos interfésze a STREAMS interfész. A VxWorks alatt bármilyen STREAMS-megvalósítással rendelkező protokollt telepíthet: szabványos ( Novell SPX / IPX , Decnet , AppleTalk , SNA , ...) és speciális protokollokat is. A VxWorks OS támogatja a STREAMS UNIX System V.4 rendszert.

További hálózati szolgáltatások: WindNet program

1994-ben a Wind River Systems bejelentette a WindNet programot, amelynek keretében számos kommunikációs szoftvercég integrálta szoftvertermékeit a VxWorks-szel, ezzel támogatást nyújtva (ez nem a teljes lista) [5] :

Fájlrendszer

A VxWorks a következő fájlrendszereket támogatja [8] :

Szimmetrikus és aszimmetrikus többfeldolgozás támogatása

A valós idejű többprocesszoros rendszer szoftveres szempontból kétféle lehet: aszimmetrikus ASMP ( angolul  Asymmetrical MultiProcessing ) és szimmetrikus SMP ( angol  Symmetrical MultiProcessing ). Az ASMP aszimmetrikus többfeldolgozásnál minden mikroprocesszor, többmagos mikroprocesszor esetén pedig minden processzormag saját operációs rendszer példányát hajtja végre, az alkalmazásszoftver fejlesztője pedig felelős a folyamatok (szálak, feladatok) processzorok közötti elosztásáért. Ebben az esetben a többprocesszoros rendszer nehezen programozható, de megjósolható (determinisztikus) valós idejű jellemzőkkel rendelkezik.

Az SMP szimmetrikus többprocesszoros feldolgozásnál az alkalmazásprogramozó a többprocesszoros rendszert virtuális egyprocesszoros rendszernek tekinti, ami nagymértékben leegyszerűsíti a szoftverfejlesztést, de nincs 100%-os garancia a végrehajtás kiszámíthatóságára, mivel a processzorok közötti terhelés elosztása nem manuálisan történik. hanem automatikusan.

A többmagos beágyazott mikroprocesszorok megjelenése előtt nem volt szükség szimmetrikus többfeldolgozásra. A lazán csatolt többprocesszoros rendszerek szoftverfejlesztésének bonyolultsága alacsony volt, és a programozás egyszerűsége a második helyre került a valós idejű rendszerek viselkedésének kiszámíthatósága után. Ezért a VxWorks 5.x és 6.x verzióiban a 6.5-ös verzióig csak az aszimmetrikus többfeldolgozást támogatták, amelyet VxMP könyvtárként valósítottak meg (opcionális termékként), amely kommunikációt biztosít a processzorok között a megosztott memóriában lévő objektumok révén. A beágyazott többmagos mikroprocesszorok megjelenésével, amelyek egy chipen magasan csatolt processzormagokat tartalmaznak, előtérbe került a szoftverfejlesztés egyszerűsége, ami miatt szükség volt beágyazott valós idejű operációs rendszerekre a szimmetrikus többfeldolgozás támogatásához.

A 2007 novemberében kiadott 6.6-os verzió óta a VxWorks elkezdte támogatni az SMP [9] szimmetrikus többfeldolgozást . Az SMP-rendszerek támogatását a Wind River Workbench for VxWorks [10] és a Workbench for On-Chip-Debugging IDE tartalmazza . A VxWorks SMP-rendszereinek támogatása opcionális szolgáltatásként érhető el. A következő többmagos mikroprocesszorok támogatottak:

Használat

Támogatott célarchitektúrák (célok) Támogatott hangszerplatformok (gazdagépek) Támogatott interfészek

Összehasonlítás néhány valós idejű operációs rendszerrel

A VxWorks-t más valós idejű operációs rendszerekkel hasonlították össze [11] .

RTOS Építészet Fejlesztőkörnyezet POSIX Max. feladatok száma
VxWorks Kliens-szerver, mikrokernel Tornado, Workbench, Qt Creator Commercial [12] POSIX 1003.1, .1b, .1c (beleértve a pThreadeket is) csak a memória korlátozza
QNX Kliens-szerver, mikrokernel és interakciós folyamatok QNX Momentics IDE, Qt Creator (közösségi és kereskedelmi) a 3.0 verzió óta [13] , Solaris, QNX4, QNX6 (a Neutrino 6.3.2-ig bezárólag) POSIX 1003.1-2001, menetes és kiterjesztett. RV 4095 folyamat, mindegyik legfeljebb 32767 szálat dolgoz fel
LynxOS [14] [15] monolit kernel [16] A fényerő az Eclipse környezeten alapul POSIX 1003.1a/b/c, 1003.1-2003 memória korlátozza

Jegyzetek

  1. A Wind River a legújabb VxWorks Real-Time operációs rendszer bevezetésével többmagos vezető szerepet hoz a piacra . Letöltve: 2009. április 5. Az eredetiből archiválva : 2012. január 28..  (Angol)
  2. Az Intel visszavág az ARM-nek, megvásárolja a beágyazott operációs rendszereket gyártó Wind Rivert . Archiválva : 2009. június 7. a Wayback Machine -nél  – Ars Technica. (Angol)
  3. Az Intel Corporation ma bejelentette, hogy sikeresen befejezte a Wind River Systems Inc. felvásárlását. Az eredetiből archiválva : 2011. november 18.  (Angol)
  4. 1 2 3 "Valós idejű operációs rendszerek" cikk I. B. Burdonov, A. S. Kosachev, V. N. Ponomarenko  (hozzáférhetetlen link) 2.1. VxWorks
  5. 1 2 Cikk „VxWorks: Valós idejű operációs rendszer és valós idejű szoftverfejlesztési eszköztár”, A. V. Demyanov Archiválva : 2006. október 11. a Wayback Machine -n o További hálózati funkciók: WindNet program, o POSIX szabványok támogatása
  6. VxWorks létesítmények: Áttekintés  (hivatkozás nem érhető el) . Virtuális memória (beleértve a VxVMI opciót)
  7. Cikk: "Valós idejű operációs rendszerek" I. B. Burdonov, A. S. Kosachev, V. N. Ponomarenko  (elérhetetlen link) 5. o.. Összefoglaló táblázatok az RTOS tulajdonságok jellemzőiről Táblázat. 2  (lefelé irányuló kapcsolat 2015. 07. 11. óta [2672 nap])
  8. VxWorks/Tornado II GYIK . Letöltve: 2009. január 10. Az eredetiből archiválva : 2010. február 7..
  9. VxWorks 6.6 SMP, Symmetric Multiprocessing Technology for Multicore Az eredetiből archiválva 2009. február 12-én.
  10. pdf: Wind River Workbench (hivatkozás nem érhető el) . Hozzáférés dátuma: 2009. január 10. Az eredetiből archiválva : 2007. október 16. 
  11. Az RTOS tulajdonságainak összefoglaló táblázatai Archiválva : 2009. május 6.
  12. VxWorks Notes - Qt-dokumentáció (lefelé irányuló kapcsolat) . Letöltve: 2015. szeptember 17. Az eredetiből archiválva : 2015. szeptember 28.. 
  13. Célplatformok – Qt-dokumentáció . Letöltve: 2015. szeptember 17. Az eredetiből archiválva : 2015. október 8..
  14. Cikk: "LynxOS - valós idejű operációs rendszer a POSIX szabványban", Zolotarev S. V., Kalyadin A. Yu. (hozzáférhetetlen link) . Letöltve: 2009. január 13. Az eredetiből archiválva : 2009. január 5.. 
  15. hírcikk  (elérhetetlen link)
  16. cikk: „S. V. Zolotarev pillantása a valós idejű operációs rendszerek világába 2006-ban”  (elérhetetlen link) o. „Monolit vagy mikrokernel?”

Irodalom

Linkek