Tikrai ne „Windows 95“: kokios operacinės sistemos palaiko daiktus kosmose?

ESA „Solar Orbiter“ misija artės prie Saulės iš Merkurijaus orbitos.
Padidinti / ESA „Solar Orbiter“ misija artės prie Saulės iš Merkurijaus orbitos.

ESA / ATG medialabas

Neseniai paleistas ESA „Solar Orbiter“ metus praleis vienoje iš labiausiai nepageidaujamų Saulės sistemos vietų: saulė. Savo misijos metu „Solar Orbiter“ priartės prie Saulės 10 milijonų kilometrų nei Merkurijus. Atminkite, kad Merkurijus yra pakankamai arti, kad jo saulės spindulių paviršiuje būtų palaikoma 450 ° C temperatūra.

Kad atlaikytų tokią temperatūrą, „Solar Orbiter“ remsis įmantriai suprojektuotu šilumos skydu. Tačiau šis šilumos skydas apsaugos erdvėlaivį tik tada, kai jis bus nukreiptas tiesiai į Saulę – zondo šonuose ar gale nėra pakankamos apsaugos. Taigi, atitinkamai, ESA sukūrė „Solar Orbiter“ realaus laiko operacinę sistemą (RTOS), galinčią veikti pagal labai griežtus reikalavimus. Didžiausias leidžiamas nuo Saulės nukreiptas tik 6,5 laipsnių kampas. Bet koks nukrypimas, viršijantis 2,3 laipsnio, yra priimtinas tik labai trumpą laiką. Kai kažkas negerai ir aptinkamas pavojingas nukrypimas, „Solar Orbiter“ turės tik 50 sekundžių laiko reaguoti.

„Mes turime labai griežtus reikalavimus šiai misijai“, – sako Maria Hernek, ESA skrydžių programinės įrangos skyriaus vadovė. „Paprastai tokios platformos perkrovimas užtrunka maždaug 40 sekundžių. Čia mes turėjome iš viso 50 sekundžių, kad galėtume rasti problemą, ją izoliuoti, sistemą vėl veikti ir atlikti atkūrimo veiksmus.”

Pakartosiu: šią operacinę sistemą, esančią toli kosmose, reikia nuotoliniu būdu paleisti iš naujo ir atkurti per 50 sekundžių. Priešingu atveju Saulės orbiteris ima kepti.

Biliardo kamuolys OS

Norint susidoroti su tokiais negailestingais terminais, tokiems erdvėlaiviams, kaip „Solar Orbiter“, beveik visada vadovauja realaus laiko operacinės sistemos, kurios veikia visiškai kitaip nei tos, kurias jūs ir aš pažįstame iš vidutinio nešiojamojo kompiuterio. Kriterijai, pagal kuriuos mes vertiname „Windows“ ar „MacOS“, yra gana paprasti. Jie atlieka skaičiavimą ir, jei šio skaičiavimo rezultatas yra teisingas, tada užduotis laikoma atlikta teisingai. Erdvėje naudojamos operacinės sistemos prideda dar bent vieną pagrindinį kriterijų: skaičiavimą reikia atlikti teisingai per griežtai nurodytą terminą. Kai termino nesilaikoma, užduotis laikoma nepavykusia ir nutraukta. Skrydžio į kosmosą metu praleistas terminas gana dažnai reiškia, kad jūsų erdvėlaivis jau virto ugnies kamuoliu arba nuklydo į neteisingą orbitą. Toliau apdoroti tokias užduotis nėra prasmės; dalykai turi laikytis a labai tikslus laikrodis.

Laikas, matuojamas pagal laikrodį, yra padalintas į vienaskaitos erkes. Norėdami jį supaprastinti, kosminės operacinės sistemos paprastai yra suprojektuotos taip, kad kiekviena užduotis būtų atliekama nustatytu paskirtų erkių skaičiumi. Norėdami įkelti duomenis iš jutiklių, gali prireikti trijų erkių; dar keturios erkės yra skirtos varikliams užkurti ir pan. Kiekvienai įmanomai užduočiai priskiriamas konkretus prioritetas, todėl aukštesnio prioriteto užduotis gali būti viršesnė už žemesnio prioriteto užduotį. Tokiu būdu programinės įrangos dizaineris tiksliai žino, kuri užduotis bus atliekama pagal bet kurį scenarijų ir kiek laiko reikės ją atlikti.

Norėdami palyginti tai su mums visiems žinomomis operacinėmis sistemomis, tiesiog stebėkite bet kurį šiuolaikinių išmaniųjų telefonų greičio palyginimą. Šiame „EverythingApplePro“ pagamintame „iPhone XS Max“ ir „Samsung S10 Plus“ eina vienas į kitą atidarant kai kurias populiarias programas. Prieš bandymą abu telefonai iš naujo paleidžiami ir juose išvaloma talpykla. „Samsung“ visas programas atidaro per 2 minutes 30 sekundžių, o „iPhone“ – per 2 minutes 54 sekundes. Antrajame etape visos programos uždaromos ir vėl atidaromos nepaleidus ir neišvalius RAM. Kadangi programos vis dar yra RAM atmintyje, „Samsung“ atidarymą užbaigia per 46 sekundes, o „iPhone“ – per 42 sekundes. Tai didžiulis dviejų minučių laiko skirtumas tarp pirmo bandymo ir antro. Bet jei telefonuose turėtų veikti tokios realaus laiko operacinės sistemos, kurios naudojamos skrydžiams į kosmosą, tų programų atidarymas užtruktų lygiai tiek pat laiko, kad ir kiek kartų tai bandytumėte – iki milisekundės.

Ne laiku kosminės operacinės sistemos turi daugiau gudrybių. Veikimas realiuoju laiku yra vienas dalykas, o determinizmas yra kitas dalykas. Jei kažkaip įtikinote Craigą Federighi dalyvauti viename iš šių greičio palyginimų, suteikėte jam visišką prieigą prie „iPhone“, kurį ketinate išbandyti, ir paprašėte jo tiksliai numatyti, kiek laiko užtruks, kol šis „iPhone“ atliks testą, jis greičiausiai neįsivaizduoja. Aišku, jis tikriausiai pasakytų kažką panašaus į „greitai“ ar „pakankamai greitai“ ar net „liepsnojančiai greitai“, bet nieko konkretesnio už tai. Nei „iOS“, nei „Android“ nėra deterministinė sistema. Veiksnių, galinčių turėti įtakos greičio rezultatams, skaičius yra toks didžiulis, kad praktiškai neįmanoma pateikti tokių tikslių prognozių. Bet jei telefone veiktų kosminės klasės OS, inžinierius, turintis prieigą prie sistemos, žinotų tiksliai kas tai sukelia tam tikra seka ir galėtų apskaičiuoti tikslų laiką, reikalingą bet kuriai užduočiai atlikti. Kosminės klasės programinė įranga turi būti visiškai nuspėjama ir veikti per ypatingus terminus.

Fotografavimas į Mėnulį (ir už jo ribų) naudojant „VxWorks“

Dar „Apollo“ dienomis kiekvienai misijai buvo sukurtos operacinės sistemos. Žinoma, kai kurie kodai buvo pakartotinai panaudoti – „Apollo“ programai skirtos programinės įrangos dalys, pavyzdžiui, pateko į „Skylab“ ir „Shuttle“ programą. Tačiau didžiąją dalį dalykų reikėjo daryti nuo nulio.

Galiausiai NASA pageidaujamą OS sprendimą pateikė „WindRiver“, įmonė, įsikūrusi Alamedoje, Kalifornijoje. „WindRiver“ dar 1987 m. Išleido visiškai veikiančią komercinę, realiu laiku veikiančią operacinę sistemą „VxWorks“. Nors „VxWorks“ nebuvo pirmoji tokio tipo sistema, ji greitai tapo plačiausiai naudojama visomis, ty „VxWorks“ netrukus pagavo NASA misijos dizainerių akimis.

Pirmoji „VxWorks“ skraidymo misija buvo „Clementine Moon“ zondas, kitaip vadinamas „Deep Space“ programos mokslo eksperimentu. Dešimtojo dešimtmečio pradžioje Clementine pažymėjo NASA perėjimą nuo begemotų, į „Apollo“ panašių programų. Viskas turėjo būti liekna, greitai išvystyta ir turinti griežtą biudžetą. Kaip vienas iš „Clementine“ zondo dizaino pasirinkimų buvo naudoti „VxWorks“, o sistema padarė pakankamai gerą įspūdį, kad gautų antrą datą. „VxWorks“ buvo „Mars Pathfinder“ misijos pasirinkimas.

Tačiau ne viskas buvo rožinė šiai RTOS. Klaida – prioritetinė inversijos problema – sukėlė daug rūpesčių NASA antžeminės kontrolės komandai. Netrukus po nusileidimo „Pathfinder“ sistema be jokios aiškios priežasties pradėjo paleisti iš naujo, o tai atidėjo surinktų duomenų perdavimą atgal į Žemę. Užtruko tris savaites, kol suradome problemą, ir dar 18 valandų, kad ją išspręstumėte; pasirodė, kad šis klausimas buvo palaidotas giliai „VxWorks“ mechanikoje.

Parašykite komentarą

El. pašto adresas nebus skelbiamas. Būtini laukeliai pažymėti *

Previous post Ką kabliukai reiškia Vue
Next post Ką reikia žinoti apie D.Trumpo 8 milijardų dolerių vertės Saudo Arabijos ginklų sandorį | Jemeno COVID priedanga | Priekinė | PBS