Kosmiczna informatyka

Spektakularne doniesienia dotyczące obecnych badań Marsa pozostawiają w cieniu rocznicę 40-lecia obecności komputerów w kosmosie.

Spektakularne doniesienia dotyczące obecnych badań Marsa pozostawiają w cieniu rocznicę 40-lecia obecności komputerów w kosmosie.

Kiedy po "sputnikowym szoku" w 1957 r. powstawała NASA, ani Amerykanie, ani Rosjanie nie brali pod uwagę wykorzystywania komputerów bezpośrednio na statkach kosmicznych. Nic dziwnego - ówczesne maszyny liczące, typu Univac, miały wielkość garażu na sporą ciężarówkę i trudno było oczekiwać, że takie monstrum dałoby się wystrzelić w kosmos (i to niezależnie od słabej odporności techniki lampowej na wstrząsy).

Zarówno podczas bezzałogowych (1959 r.), jak i załogowych (1961 r.) lotów rakiety Mercury, na pokładzie nie było komputerów. Z ich mocy obliczeniowej korzystano jedynie na Ziemi.

Gdy prezydent Kennedy rzucił hasło podboju Księżyca, dla specjalistów z przylądka Canaveral było jasne, że oprócz człowieka trzeba będzie wysłać w kosmos także "techniczną inteligencję". Było to konieczne do zapewnienia precyzji nawigacji - przy czym przeszkodą w zdalnym sterowaniu z Ziemi było opóźnienie sygnałów elektromagnetycznych o ponad jedną sekundę przy maksymalnej odległości rakiety od Ziemi. Co więcej, wiadomo było, że na "ciemnej stronie" Księżyca nie ma żadnej możliwości radiowego kontaktu z Ziemią. Komputery znalazły się zatem w kosmosie już podczas poprzedzających program Apollo misji Gemini (tj. w kwietniu 1964 r. na rakiecie nośnej Titan 2, bezzałogowego statku Gemini1, zaś rok później już w postaci komputera pokładowego załogowego lotu Gemini3).

Mózg bliźniąt

Limity narzucone wówczas firmie IBM przez agencję NASA wykluczały użycie komputera rezerwowego (backup). Całość nie mogła ważyć więcej niż 25 kg i musiała mieścić się w 50 x 35 x 30 cm.

Były to zatem parametry porównywalne niemal z komputerami osobistymi, co w tamtym czasie stanowiło sensację. Również inne dane techniczne, które dziś traktujemy z pobłażliwym uśmiechem, wówczas wieściły przełomy w technologii informatycznej. Cykl maszynowy jednostki arytmetyczno-logicznej wynosił 140 ms, więc typowe operacje mnożenia czy dzielenia dawały wynik "już" w czasie jednej sekundy.

Taki zestaw dysponował pamięcią operacyjną o pojemności 19 KB wykonaną w podówczas nowej technologii rdzeni ferrytowych. Miała ona zaletę nieznaną współczesnym komputerom - utrzymywała swoją zawartość także po wyłączeniu zasilania. Nie było wówczas jeszcze dyskietek i dysków, a bębny zbyt duże i zawodne, więc jako pamięci masowej użyto po prostu taśmy magnetycznej z prędkością transferu 400 B/s. Tysiąc razy zwiększono niezawodność obliczeniową (z 106 do 109) dzięki wprowadzeniu większościowej techniki decyzyjnej, opartej na trzykrotnym sprawdzaniu każdego bitu.

Mózg bliźniaków (od nazwy statku - astr. gemini) był zaprogramowany całkowicie w asemblerze i wykonany w technologii półprzewodnikowej. Łączność z użytkownikiem zapewniało dziesięć klawiszy do wprowadzania danych i cztery kilkucyfrowe wyświetlacze parametrów położenia i prędkości statku kosmicznego, tudzież siedmiopozycyjny przełącznik do wyboru programu komputerowego. Zdumiewające, że przy tak prostej technologii NASA mogła realizować swoje udane misje kosmiczne.

Oczywiście, wymagania dla samego programu Apollo były znacznie wyższe - załoga w każdej chwili mogła sterować kapsułą statku i lądownikiem księżycowym i to bez kontaktu z Ziemią. Podstawą tej technologii stał się przygotowany na legendarnym MIT sterownik rakiet Polaris. System, który gwarantował amerykańskim wojskowym uderzenie we wroga USA w dowolnym punkcie naszej planety, umożliwił Neilowi Armstrongowi uczynienie na Srebrnym Globie "małego kroku dla człowieka i wielkiego dla ludzkości", pamiętnego 20 lipca 1969 r.

Nieprzystępna planeta

Dziś natomiast miewamy spore kłopoty techniczne, pomimo możliwości wysyłania w kosmos komputerów z dyskami o pojemnościach idących nawet w terabajty i z gigabajtowymi pamięciami operacyjnymi. Choć prawdą jest, że stawiamy sobie poprzeczkę coraz wyżej: 400 mln km zamiast 400 tys. - bo takie są w przybliżeniu maksymalne odległości Księżyca i Marsa od Ziemi (minimalnie dla Marsa ok. 60 mln km). Czerwona Planeta okazała się też znacznie mniej przystępna niż nasz naturalny satelita. Dlatego 2/3 marsjańskich misji kosmicznych ostatnich lat zakończyły się niepowodzeniem.

Niewielkie sukcesy na tym polu zanotowali Rosjanie - jedynie dwa udane loty, ostatnie niepowodzenia europejskiej ESA z Beagle2 są powszechnie znane, a ubiegłoroczna, japońska sonda Nozomi, nie zdołała nawet dotrzeć do celu.

Prym wiodą tu Amerykanie i ich aktualny program MER (Mars Exploration Rover). Pierwszy z łazików Spirit znalazł się na Marsie 3 stycznia br., osiągając dno krateru Gusiewa - potężnej formacji o średnicy 160 km, w której niegdyś mogło być jezioro. Wkrótce potem kolejny mobilny robot Opportunity dotarł do Wyżyny Meridani po przeciwnej stronie planety, stając się pierwszym ziemskim obiektem po "drugiej" stronie Marsa.

Komputerowym "sercem" obu pojazdów nie jest jakiś cud techniki. To rodzaj specjalizowanego laptopa z procesorem RISC RAD6000, taktowany zegarem 25 MHz i wyposażony w zaledwie 128 MB pamięci. Konfiguracja sprawdziła się jednak podczas marsjańskiej misji Pathfinder z połowy lat 90., a NASA przygotowuje swoje programy z wieloletnim wyprzedzeniem, stawiając głównie na bezpieczeństwo i niezawodność, bez oglądania się na słabiej przetestowane nowinki techniczne. W szczególności sprzęt ma specjalne zabezpieczenia temperaturowe (dobowe wahania ponad 100 stopni) i chroniące przed szkodliwym promieniowaniem kosmicznym. Całość działa pod systemem operacyjnym VxWorks Wind River.

Czas rzeczywisty

To programowanie należy do klasy RTOS (Real Time Operating System), czyli systemów operacyjnych czasu rzeczywistego. System taki musi gwarantować reakcję na zdarzenie zewnętrzne w ściśle zdefiniowanym i nieprzekraczalnym czasie. To istotna różnica w stosunku do "zwykłych" systemów operacyjnych, w których może nie być żadnych warunków czasowych (zadania wsadowe typu batch) bądź mówi się jedynie w sposób ogólny o "pożądanej i w miarę szybkiej" reakcji. Typowy OS ma poza tym bardziej rozbudowaną część dialogową z użytkownikiem.


TOP 200