Artikel top billede

(Foto: Computerworld)

Linux i rummet

Efter en vaklende start er Linux blevet langt mere etableret inden for rumfart. Vi ser på systemets succes indtil nu og på dets fremtidsudsigter.

Af Torben Okholm, Alt om Data

Denne artikel er oprindeligt bragt på Alt om Data. Computerworld overtog i november 2022 Alt om Data. Du kan læse mere om overtagelsen her.

Hvorfor bruger astronauter Linux? Fordi man ikke kan åbne Windows i verdensrummet. Men sandheden er, at himmelrummet ikke myldrer med Linux-computere. Det ændrer sig, og derfor vil vi se på, hvordan Linux er ved at blive en vigtig faktor inden for rumforskning.

Og det bringer os fra NASAs supercomputere her på Jorden over bærbare computere i kredsløb på den internationale rumstation (ISS) og flyvekontrol-computere på SpaceX’ affyringsramper og raketter til en enkeltkort-computer, der styrer en helikopter, som flyver på Mars.

Hvorfor og hvorfor ikke

Vi vil se på, hvor og hvordan Linux bliver brugt inden for rumforskning, og vi belyser også, hvorfor de bliver brugt. Migrationen af Linux til det ydre rum er dog et nyere fænomen, der stadig har en beskeden udbredelse.

Derfor vil vi også undersøge, hvad der har holdt Linux tilbage og i vid udstrækning stadig gør det. Vi vil afdække chancerne for, at Linux tappert vil begive sig derud i det uendelig univers, hvor intet operativsystem før har været.

Vi vil undersøge, hvor Linux bliver brugt inden for rumforskning. Men først må vi beskæftige os med rumbaserede computerplatforme og finde ud af, hvordan de har haft indflydelse på vores foretrukne operativsystem.

Tag for eksempel ISS, der blev opsendt for 20 år siden. Dengang var Linux klassens nye dreng, og der var ingen, der seriøst overvejede dette system. Og en opgradering til Linux i dag er næppe inden for mulighedernes rækkevidde. Meget af den indbyggede computerhardware kan ikke understøtte moderne distroer, og opgradering af hardware og software ville være en kostbar og risikofyldt strategi.

Men selv langt senere rummissioner har undladt at inddrage Linux. Mars-køretøjet Perseverance landede på den røde planet i februar 2021, og det formodes at blive ved med at undersøge Mars i ganske lang tid endnu.

Men dets indbyggede hovedcomputer bruger en PowerPC 750-processor – en chip, der blev lanceret i 1997. For at være helt nøjagtig bruger det en variant af den 32-bit-PowerPC 750, der hedder RAD750, og det bringer os frem til en vigtig pointe. Processorer klarer sig ikke særlig godt i verdensrummet.

Det landede først i 2021, men Marskøretøjet Perseverances hovedprocessor bygger på den ærværdige PowerPC 750-processor. Det er ikke sært, at den ikke kører Linux.

På grund af den stråling, som de konstant bliver udsat for, er de meget mere udsatte for svipsere eller sågar katastrofale og permanente nedbrud end deres slægtninge på Jorden. Af den årsag er de processorer, man bruger i rummet, som regel strålingshærdede, således at de kan modstå de trængsler, der hører til livet uden for Jordens atmosfære.

Disse specialiserede processorer er ikke billige. En enkelt RAD750 koster angiveligt 1,4 millioner kroner – man tør slet ikke tænke på udviklingsomkostningerne. Konsekvensen er derfor, at producenterne kun sjældent udvikler en ny strålingshærdet chip, og de fleste chips bliver aldrig lavet i en strålingshærdet variant.

Det er endnu en grund til, at computerhardware i rummet er forældet, og at forekomsten af Linux-installationer er beskeden. Men tingene er ved at ændre sig, som vi skal se, når vi vender blikket mod den såkaldte Spaceborne-supercomputer ombord på ISS-rumstationen.

I kredsløb om Jorden

Der verserer nogle hårdnakkede historier om, at alle laptops i ISS gik over til Linux i 2013, men virkeligheden er mere nuanceret, og det erfarede vi, da vi talte med Dan Duncavage, der er systemmanager i NASAs ISS Avionics and Software Office.

“Naturligvis har rumstationen mange beregningsenheder. De fleste af dem er meget specialiserede og fungerer som de luftfartssystemer, man kan finde i et passagerfly eller et militærfly.”

Han siger det ikke ligeud, men disse missionskritiske systemer bruger ikke Linux. Når vi imidlertid kommer bag om disse centrale systemer, finder vi en mere varieret situation, fortæller Duncavage.

“Der findes en undergruppe af bærbare og små computere, som bruger Linux. En håndfuld af de bærbare bliver brugt af mandskabet som deres kommandointerface til de centrale flyvesystemer. De bygger på en specialiseret Linux-kerne. Flyelektronik-interfacet og mandskabets brugerfladesoftware er alle specialkonstruerede til disse funktioner, og de sidder oven på den Linux-kerne.”

“Hertil kommer flere bærbare pc’er og IoT-enheder, der udgør det, som hedder Station Support Computer System (SSC). Det svarer til det, som virksomheder ville kalde en missionskritisk it-infrastruktur, og det understøtter alt fra e-mail til højt specialiserede eksperimentelle interfaces plus hele mandskabets helbredsovervågning. Desuden styrer systemet det enestående motionsudstyr. Hovedparten af SSC-notebooksene er Windows 10-klienter, mens IoT-enhederne kører på Debian Linux. De øvrige bærbare bliver fordelt på eksperiment-specifikke applikationer og internationale partnere. Nogle af dem er Windows, andre er Linux fra forskellige distributioner.”

Ombord på ISS finder man Honey, Queen og Bumble. Tilsammen udgør disse frit flyvende robotter Astrobee-systemet. De skal hjælpe astronauterne med at reducere den tid, de bruger på rutineopgaver, således at de kan fokusere mere på de ting, som kun mennesker kan gøre.

Raspberry pI sendes op i rummet

Det ser ikke sådan ud, men denne Astro Pi, der er med på ISS, rummer Raspberry Pi-hardware og giver unge mennesker mulighed for at se deres kode fungere i kredsløb om Jorden.

Et initiativ fra European Space Agency i samarbejde med The Raspberry Pi Foundation giver unge Astro Pi-kodere mulighed for at se deres applikationer køre ombord på den internationale rumstation – på Python Linux-styresystemet. Astro Pi-platformen består af en RPi 4, en sensor-HAT og et HQ Camera.

Men den ligner ikke nogen tidligere Raspberry Pi-baseret platform, som man kan se på fotografiet. Omhyggelig afprøvning var påkrævet, før Astro Pi kunne få lov til at komme ombord på ISS. Først skulle den kunne modstå de enorme vibrationer, der forekommer ved opsendelsen.

Dernæst måtte dens overfladetemperatur ikke overstige 45 grader af hensyn til astronauternes sikkerhed. Den måtte ikke have nogen skarpe kanter, og det skulle kunne bevises, at den ikke ville interferere med andet udstyr på ISS, og at dette udstyr ikke ville interferere med Pi.

To eksemplarer fra den seneste generation af Astro Pi blev bragt om bord på ISS i december 2021, hvor de skulle erstatte de foregående Astro Pi-enheder, der havde tilbragt seks år i kredsløb. Efter en testperiode, der er udført af astronauter i rummet, er disse maskiner klar til at afvilke de studerendes programmer.

Deltagerne består af hold af unge mennesker på 19 år eller derunder fra ESA-medlemslandene plus Slovenien, Canada, Litauen, Letland og Malta, og de vindende bidrag bliver taget i brug i maj 2022, mens udfordringerne fra 2022/23 bliver præsenteret i september.

Som NASA udtrykker det: “Robotterne er beregnet til at løse opgaver som lagerføring, dokumentation af de eksperimenter, som astronauterne udfører med deres indbyggede kameraer – og i samarbejde flytte last rundt på stationen. Desuden fungerer systemet som en forskningsplatform, der kan udstyres og programmeres til at foretage eksperimenter i mikrotyngdekraft – hvilket er med til at vise os, hvordan robotter kan være til gavn for astronauter i rummet.”

Og ja: Deres kontrolcomputere kører Linux; to af deres tre ARM-baserede computere kører Ubuntu/ROS, mens den tredje er udstyret med Android 7.1. Vi har altså set Linux-baserede laptops og flyvende robotter i kredsløb om Jorden, men en langt stærkere Linux-maskine ankom til ISS i 2017 med henblik på en årelang mission.

Disse flydende robotter på ISS udgør Astrobee System. De hjælper menneskene ombord med basale opgaver, og de kører Linux.

Den hedder Spaceborne Computer, og den er blevet beskrevet som en supercomputer. Dens formål var at udforske alternativer til den kendte strålingshærdning, der skal beskytte computere mod konsekvenserne af strålingspåvirkning.

Man forventer, at det vil bane vejen for mere opdaterede og kraftigere processorer, end dem man bruger i øjeblikket. Og det er nødvendigt til fremtidige langvarige bemandede missioner, for eksempel til Mars.

Spaceborne Computer er en kommercielt tilgængelig supercomputer, der bliver udviklet og produceret af Hewlett Packard Enterprise (HPE). Den har systemer af HPE Apollo 40-klassen med en højhastighedsforbindelse, der kører på et Linux-operativsystem, som er open source. Ifølge HPE rummer Spaceborne Computer beregnings-enheder af samme klasse som Pleiades, der er en af NASAs stærkeste supercomputere.

Som et alternativ til brugen af strålingshærdede processorer har man udviklet en softwareløsning til at reducere negative virkninger af stråling, når det gælder driftssikkerhed. Under perioder med høj stråling blev strømforbruget og dermed computersystemets operationshastighed nedsat.

Formålet var at afgøre, om systemerne stadig kan fungere. Konklusionen var positiv. Under sin demonstrationsmission udførte Spaceborne Computer mere end en billion beregninger pr. sekund (en teraflop) i 207 dage uden at kræve en genstart.

Vi har endnu til gode at se Linux anvendt til NASAs missionskritiske opgaver, men det ændrer sig også, og det kommer ISS til gode. Indtil rumfærgerne blev pensioneret i 2011, fragtede de astronauter og forsyninger til ISS. Det samme gjorde den russiske Sojuz og nogle få andre fartøjer.

I en kort periode måtte USA have et lift til ISS med det russiske fartøj, men i 2012 kom kapitalismens magt ind i billedet. Rumfart var ikke længere forbeholdt statsejede rumorganisationer. Nu fik ISS også forsyninger via opsendelser fra SpaceX og Northrop Grumman Space Systems. Og rumfartøjet SpaceX Dragon og dets Falcon-løfteraket var særlig interessante.

 

Bærbare ombord på ISS kører forskellige operativsystemer, og Linux står for mandskabets interface til de centrale flyvesystemer.

iser vejen, følger SpaceX efter. Men det er ikke en rigtig antagelse, og valget af styresystemer er en vigtig faktor. NASAs kommende SLS-rumfartøj bruger et specielt Boeing-styresystem i flyvekontrol-computeren, og Orion-fartøjet bruger et realtids- operativsystem ved navn Integrity-178B fra Green Hills Software, men det ser ud til, at SpaceX satser solidt på Linux.

 

Der er dog ikke tale om almindelig Linux, og det er bestemt ikke nogen distro, som man kan vælge til sin pc. SpaceX har afvist at tale med os, og der slipper ikke mange oplysninger ud, men det er almindeligt kendt, at Falcon 9-raketten bruger en reduceret version af Linux, som kører på x86-processorer, og flyvekontrolsoftwaren er skrevet i C++.

Flyvningerne simuleres i supercomputere

Du har sikkert bemærket, at NASA er opsat på at få astronauter på Månen for første gang siden Apollo 17 i 1972. Programmet kaldes Artemus, og det er baseret på rumfartøjet Orion, som opsendes med den nye raket Space Launch System (SLS). I betragtning af NASAs modvilje mod at bruge Linux til missionskritiske applikationer er det næppe overraskende, at Linux hverken er med i Orion eller SLS.

Det betyder ikke, at Artemis’ succes ikke afhænger af Linux – langtfra. En forudsætning for udvikling og verifikation af alle NASAs rumfartøjer er simulation, og Artemis er ingen undtagelse. Det er bestemt ikke overraskende, at disse simulationer er ekstremt processor-intensive, og derfor er der brug for seriøs regnekraft. Simulationer af landingsprocessen, for eksempel, bliver udført på NASAs AMES Research Center i Californien på en supercomputer ved navn Aitken.

I november 2021, da den var udstyret med 242.688 kerner, var den nummer 49 på listen over verdens hurtigste computere, men den er blevet udvidet siden da. Og det siger sig selv, at den kører Linux, for dette operativsystem har drevet alle verdens 500 hurtigste supercomputere siden 2017.

DET GÅR FREMAD

Det ville være herligt, hvis vi kunne fortælle dig, at der er en Linux-baseret computer ombord på fartøjerne Pioneer 10 og 11, som nu har forladt solsystemet og er på vej mod stjernerne. Men det kan vi ikke.

Den første af disse rumsonder blev opsendt blot fire måneder efter lanceringen af den allerførste mikroprocessor, Intels 4-bit-4004. Det siger sig selv, at Pioneer-fartøjerne rummede computere, der var lavet af individuelle logiske chips, der formentlig ikke engang havde noget operativsystem.

Der er imidlertid Linux langt væk fra Jorden, faktisk omkring 278 millioner kilometer væk, og det tog over seks måneder at komme så langt.

Jet Propulsion Laboratory (JPL) i Californien er ansvarlig for NASAs missioner til Mars og længere ud. For at få et indblik i udviklingen af Linux’ rolle inden for rumforskning har vi talt med Tim Canham, der er chef-softwareingeniør hos JPL, og som fortalte os om fordele og ulemper ved at bruge Linux i verdensrummet. Først succeshistorierne.

“Linux har haft to vigtige anvendelser her hos JPL for nylig: Mars Ingenuity-helikopteren og kamerasystemet Perseverance Rover EDL. Begge systemer blev betragtet som teknologidemonstrationer, og de var ikke kritiske for Mars-fartøjets overlevelse, men Linux har fungeret godt i begge tilfælde.”

Når man tager i betragtning, at Linux er udelukket fra nogle rumprojekter på grund af computerhardwarens alder, er systemets anvendelse på Ingenuity en forfriskende ændring. Atmosfæren på Mars er mere end 100 gange tyndere end på Jorden, og det stiller enorme krav til et luftfartøj, der er beregnet til at flyve på planeten.

Her ser man Ingenuity-dronen ved en sidste inspektion før opsendelsen til Mars. Den arbejder nu på den røde planet takket være dens Linux-baserede computer.

Rotorerne er større end sædvanligt, og det var afgørende at holde vægten nede på et minimum. Det er her, computerhardwaren kommer ind i billedet. Man valgte et ARM-baseret Qualcomm Snapdragon 801-computersystem til at leve op til de strenge krav, og sandelig om ikke Linux blev valgt, fordi det VxWorks-styresystem, der normalt ville blive brugt af NASA i den slags applikationer, ikke kunne fås til Snapdragon-chippen.

Hvorfor er disse applikationer undtagelsen snarere end reglen? Hvis vi ser bort fra, at den hardware, man ofte bruger i forbindelse med rumfart, er gammel, har vi stadig til gode at forstå, hvorfor man tøver med at bruge Linux. Tim Canham foreslog nogle årsager, og han begyndte med en bekymring, der knytter sig til realtidsydelse.

“Rumfartssoftware har typisk strenge deadlines, som man skal overholde for at kunne garantere fartøjets sikkerhed. Hvis styresystemet ikke kan stille garanti for, at disse deadlines bliver overholdt, kan det ikke bruges.”

“Linux er ikke primært udviklet som et realtidsstyresystem. Linux har realtids-patches til hovedkernen, og de forbedrer ydelsen, men det har været problematisk at bruge det sammen med modificerede kerner, som bliver leveret af kortforhandlere. Systemets fairness-algoritme og underliggende I/O gør det vanskeligt at garantere timing.” Vi kan forestille os, at denne anden årsag kan udløse nogle hævede øjenbryn.

SpaceX’ flyvekontrol-computere – her ombord på Crew Dragon – arbejder nu under Linux.

“Fair eller ej, der eksisterer en forestilling om, at eftersom Linux bygger på mange open source-bidrag, er det svært at kende eller med rimelighed vurdere kvaliteten af den kode, som udgør kernen, og af drivere eller andre apps, der kører i distributionen.” Men tingene ændrer sig, som Tim forklarer os.

“Linux’ rolle udvikler sig konstant, og forskellige organisationer har forskellige holdninger til risici i forbindelse med brugen, men jeg tror, at for NASAs vedkommende kan Linux finde en niche på områder, hvor systemet har fordele: databehandling og hardwarekørsel i ikkekritiske sammenhænge. Linux indebærer enorme open source-fordele, som kan sætte fart i udviklingen og drage nytte af den software, der allerede er til rådighed i miljøet. Jeg tror også, at der er en chance for at bruge Linux i en computersammenhæng, hvor hypervisirer kan adskille et realtids-domæne fra beregningsdomænet.”

Derfor kan vi konstatere, at selvom Linux ikke har vendt op og ned på rumforskningen, sker der faktisk ændringer. Og man kan finde nogen trøst i den omstændighed, at Ingenuity, som er det første rumfartøj, der nogensinde har fløjet over en fremmed verdens overflade, er et Linux-drevet mirakel af astronautisk ingeniørvidenskab.

mini-satellitter med open source

Kommercielle udbydere som SpaceX er trådt ind i rumforskningen, og man kunne tro, at yderligere demokratisering af forskningen er utænkelig. Men det ville være forkert. CubeSats er bittesmå satelitter, der har en størrelse på blot 10 centimeter, og de vejer ikke mere end 1,33 kilo.

Produktionsomkostningerne kan nå helt ned på 300.000 kroner, og fordi man kan opsende dem fra ISS eller som sekundære enheder ved siden af mere ordinære satelitter, kan det ske for kun lidt mere end det beløb. Af den grund har satellitterne dannet basis for studieprojekter, der ofte bliver støttet af organisationer som ESA, og de er blevet bygget af entusiaster – for eksempel organiserede radioamatører.

CubeSats er ikke forbeholdt Linux, men eftersom open source-filosofien er central i store dele af CubeSat-miljøet, er det ikke overraskende, at Linux er et udbredt valg side om side med systemer som FreeRTOS. En open source-tilgang rækker langt ud over styresystemet, og den er ikke engang begrænset til softwaren. Åbne hardware-processorkort er udbredte.

Man kan finde opskrifter på raketdele som thrustere, og man har endda set komplette open source-satelliter, herunder et projekt fra Libre Space Foundation. Hertil kommer, at der er netværk af open source-satellit-jordstationer. Hvis man har adgang til en 3D-printer, skal man efter sigende kunne bygge sin egen jordstation for blot nogle få tusinde kroner.