Linux az űrben: így működteti a SpaceX rakétáit a nyílt forráskód – PingvinBázis blog 3.

2025. június 25-én, a reggeli órákban magyar idő szerint történelmi pillanatnak lehettek tanúi a magyar nézők: Farkas Bertalan után Kapu Tibor lett a második magyar űrhajós, aki – több halasztás után – végül sikeresen elindult a világűrbe. Az AX-4 küldetés részeként a SpaceX egyik Crew Dragon kapszulájával utazott, egy Falcon 9 rakéta fedélzetén.

A Falcon 9 hordozórakéta nemcsak hajtóművei és mérnöki megoldásai révén számít technikai áttörésnek, hanem azért is, mert fedélzeti számítógépes rendszere különleges megközelítést képvisel. Felmerül a kérdés: milyen operációs rendszer fut a rakéta irányítórendszerében, és hogyan garantálják vele a biztonságot?

A válasz meglepően hétköznapi – a technológiai háttér viszont annál innovatívabb. A PingvinBázis blog e számában közérthetően bemutatom, milyen operációs rendszert és architektúrát használ a SpaceX a Falcon 9 esetében, és röviden kitérünk a Crew Dragon, valamint a Starship rendszereire is.

Linux az űrben: így működteti a SpaceX rakétáit a nyílt forráskód – PingvinBázis blog 3.
Kép forrása: SpaceX

Valós idejű vezérlés testreszabott Linuxszal

A Falcon 9 fedélzeti számítógépeit egy speciális Linux alapú operációs rendszer vezérli. A Linuxot számos kritikus területen használják – a szuperszámítógépektől az ipari vezérlőrendszereken át az űrmissziókhoz szükséges eszközökig. A nyílt forráskódú Linux stabil, rugalmasan alakítható, és rengeteg fejlesztői eszköz támogatja, ami nagy előny egy olyan komplex rendszer esetében, mint egy rakéta fedélzeti szoftvere. Ezért is tökéletes választás a SpaceX számára.

A SpaceX egy lecsupaszított, azaz a szükségtelen elemeket mellőző Realtime Linux-verziót használ, amelyet kifejezetten az űrjármű valós idejű irányításra hangoltak. A rendszer a 3.2-es Linux kernelre épül, és a SpaceX saját, küldetés-specifikus módosításokat is végrehajtott rajta. Bár a legmélyebb részeiben egy ismerős operációs rendszer dolgozik, a fejlesztők gondoskodtak róla, hogy az megfeleljen a rakétairányítás szigorú időzítési és megbízhatósági követelményeinek.

Info
a valós idejű – real-time – Linux rendszer lényege, hogy garantálni tudja az időkritikus műveletek pontos végrehajtását

Fontos kiemelni, hogy a SpaceX által alkalmazott Linux verzió meglehetősen régi, de egy alaposan letesztelt, stabil kernel. A stabilitás előbbre való, mint a legújabb funkciók hajszolása, hiszen az űriparban a megbízhatóságon emberéletek, vagy az értékes rakomány épsége múlhat.

Többszörös redundancia és az Actor-Judge rendszer

A Falcon 9 rendszere három párhuzamosan működő számítógépet használ, amelyek egymást felügyelve garantálják a hibamentes működést. Ezt nevezzük hármas redundanciának, amit a SpaceX egy Actor-Judge (szereplő-bíró) nevű rendszerben valósít meg. A megoldás lényege, hogy nem bíznak egyetlen számítógép hibátlan működésében, hanem párhuzamosan több számítógép futtatja ugyanazt a vezérlőszoftvert, és összevetik az eredményeket. Így ha az egyik téved vagy meghibásodik, a másik kettő még mindig felül tudja bírálni – a rakéta pedig zavartalanul működhet tovább.

Három független fedélzeti számítógép dolgozik párhuzamosan a rakétán, mindhárom ugyanazokat a számításokat végzi el és ugyanazokat a döntéseket hozza meg. Egy számítógépen belül is két mag futtatja ugyanazt a kódot, hogy saját magát ellenőrizze. Ha eltérés van a két mag között, az adott gép nem küld parancsot tovább.

A mikrokontrollerek, amelyek a rakéta kritikus alrendszereit vezérlik, párhuzamosan kapják a parancsokat a három számítógéptől. Ha minden egyezik, végrehajtják, ha kettő egyezik, a többségi eredmény dönt. Ha nincs egyezés, újraszámolás következik. Egyetlen számítógép is elegendő a küldetés folytatásához, ha a másik kettő kiesik.

Ennek az architektúrának köszönhetően a SpaceX kihagyhatja a drága űrbiztosított hardvereket, hiszen a szoftveres redundancia képes a hibák kiszűrésére, beleértve a kozmikus sugárzás hatását is.

Hardver és technológia: hétköznapi processzorok szokatlan szerepben

A Falcon 9 számítógépes rendszereiben nem speciálisan űrre tervezett csipek dolgoznak, hanem megbízható, kétmagos x86 processzorok, amelyek nagyjából 1,6 GHz-es órajelen futnak – szakmai források szerint. Ezek nem tartoznak a legújabb generációs komponensek közé, de előnyük éppen a stabilitás és a beváltság. Az űriparban a kiszámíthatóság és a hosszú távú tesztelhetőség gyakran fontosabb szempont, mint a nyers számítási teljesítmény.

A három fedélzeti számítógép hat processzormagot jelent, amelyek jellemzően 10–50 Hz közötti frissítési ciklusban vezérlik a rakétát. Ez bőségesen elegendő a szükséges valós idejű számításokhoz, különösen egy olyan architektúrában, ahol a pontosság és a hibamentesség kiemelt fontosságú.

Bár a második fokozat és a Dragon űrhajó hosszabb ideig tartózkodik a világűrben, a SpaceX itt sem támaszkodik minden esetben hagyományos értelemben vett sugárzásálló (rad-hard) csipekre. A rendszer elsősorban szoftveres redundanciára és hibadetektálásra épít, hogy kezelni tudja a kozmikus sugárzásból adódó hibákat. Elképzelhető ugyanakkor, hogy bizonyos alacsony szintű vezérlőelemek esetében hardveres védelemmel is számolnak, bár ezek részletei nem nyilvánosak.

Az indítás előtt minden fedélzeti rendszert egy úgynevezett „asztali rakétán” tesztelnek. Ez egy szimulált környezet, amelyben a teljes számítógépes és elektronikai rendszert valós időben próbálják ki – beleértve a hibatűrést is. Csak a sikeres szimulációk után engedélyezik az éles indítást.

Crew Dragon kapszula – űrhajó vezérlés Linuxszal és JavaScripttel

A Crew Dragon űrhajó fedélzeti rendszere is a Falcon 9-hez hasonló Linux-alapú, redundáns rendszer, C++ nyelvű vezérlőszoftverrel. Az űrhajóban nincsenek hagyományos kezelőszervek, helyettük érintőképernyők működnek, melyek JavaScript-alapú webes interfészt futtatnak. A vezérlés viszont külön rendszeren, megbízható háttérszámítógépeken történik, amelyek ugyanazt az architektúrát követik, mint a rakétáé.

A Starship esetében is a 3.2-es real-time Linux-kernel az alap, a hármas redundancia és a szavazós mechanizmus itt is megmaradt. A hosszabb távú küldetések miatt valószínűsíthető a hardveres megerősítés, de a szoftveres filozófia továbbra is a stabilitáson, nem pedig a csúcsteljesítményen alapul.

Mindent összefoglalva…

A SpaceX fedélzeti rendszerei a nyílt forráskódú Linuxra épülnek, amelyet egy intelligens, redundáns architektúrával kombináltak. Ez a megközelítés nemcsak költséghatékony, hanem rendkívül megbízható is, amit a NASA is elismert az emberes űrrepülések engedélyezésével. A Falcon 9 és a Crew Dragon sikerei azt bizonyítják, hogy az open source technológia is képes helytállni az űr szigorú követelményei között.

"

A SpaceX megbízható munkagépe, a Falcon 9 rakéta – amely NASA űrhajósokat is szállított –, folyékony oxigénnel, rakéta-minőségű kerozinnal és Linuxszal működik.

– írta találóan a ZDNet cikke, utalva rá, hogy a nyílt forráskód immár az űriparban is nélkülözhetetlen szereplővé vált.

Források: A fenti bejegyzés hiteles információkon alapul szakmai cikkekből:

https://hackaday.com/2024/02/10/the-usage-of-embedded-linux-in-spacecraft/

https://www.coderskitchen.com/spacex-software-development-and-testing/

https://www.zdnet.com/article/from-earth-to-orbit-with-linux-and-spacex

https://os-system.com/blog/javascript-in-space-spacex-devs-have-shared-crewdragons-tech-stack/?utm_source=chatgpt.com