Računalnik, ki je spremenil svet, a zanj še niste slišali
Letos mineva pol stoletja, kar je človek stopil na Luno. Pri tem mu je pomagal tudi računalnik, ki pa je pošteno spotil razvijalce. NASA je namreč za ta podvig potrebovala superračunalnik, ki je moral biti več generacij (beri: let) pred svojim časom.
Sodobni pomivalni ali pralni stroj imata prav verjetno več računske moči, kot jo je premogel računalnik, ki je astronavtom misije Apollo 11 pomagal do prvega uspešnega pristanka človeka na Luni. A to je zgolj prispodoba, kako hiter je razvoj v svetu računalništva, in hkrati pohvala inženirjem ter razvijalcem strojne in programske opreme iz 60. let prejšnjega stoletja, da so s tako omejeno računsko močjo dosegli zastavljeni cilj. Pravzaprav so opravili pravi mali čudež, katerega posledice čutimo še danes, čeprav se tega ne zavedamo.
Znanstveniki v ameriški vesoljski agenciji NASA so se zavedali, kako velik izziv bo navigacija v tridimenzionalnem prostoru med Zemljo in Luno. Različne hitrosti, relativna gibanja in nujna natančnost so zahtevali ogromno matematike – matematike, ki je morala biti opravljena karseda hitro, torej ob pomoči stroja, računalnika. Pogodba za navigacijski računalnik vesoljske misije Apollo je bila pravzaprav prva, ki jo je NASA oddala zunanjim izvajalcem, pred naročili za rakete ali vesoljska oblačila.
Iskali vrhunske matematike
Inštitut za tehnologijo v ameriški zvezni državi Massachusetts (danes vsemu svetu znan pod kratico MIT) je imel oddelek, bolje rečeno laboratorij, poimenovan Instrumentation Lab, ki ga je vodil Charles Stark Draper. Ta je bil hkrati genij in izjemna osebnost (ko ni načrtoval naprednih navigacijskih sistemov, je pogosto zmagoval na tekmovanjih v plesu). Omenjeni laboratorij je imel 20 let izkušenj z načrtovanjem in izdelovanjem vse bolj zapletenih in natančnih navigacijskih sistemov. Njegovi člani so bili na prvi jedrski podmornici, ki je plula pod Severnim tečajem, saj je MIT načrtoval navigacijski sistem, ki je podmornici omogočal, da je več dni ostala potopljena pod vodami Arktike. V vesoljski agenciji NASA so menili, da bo prav MIT lahko kos načrtovanju računalnika in inštrumentov, potrebnih za letenje na Luno.
Takole sta bila videti ohišje in uporabniški vmesnik računalnika, ki je astronavte vesoljske misije Apollo 11 prvič popeljal do pristanka na Luni.
Izziv, kako pol sobe stlačiti v aktovko
Izziv je bil izjemen, začenši z osrednjim računalnikom, ki je predstavljal srce navigacijskega sistema. V zgodnjih šestdesetih letih so bili namreč celo »majhni« računalniki velikosti današnjih hladilnikov, celo več hladilnikov, postavljenih drug ob drugem. Računalnik, ki bi deloval v vesoljskem plovilu Apollo, pa bi moral biti velikosti aktovke – le toliko prostora je namreč bilo zanj.
Pred pol stoletja so računalniki programe nalagali prek kupa luknjičastih kartic (vnos ničel in enic), na rezultate obdelave podatkov pa so uporabniki čakali več ur ali celo dni, odvisno od zahtevnosti naloge. Računalnik vesoljskega plovila Apollo pa je moral delovati v realnem času, pravzaprav je tudi poskrbel za imenovanje tega pojma (realni čas). Opremljen je moral biti s tipkovnico in prikazovalniki, saj astronavti niso mogli delati z luknjičastimi karticami. Pravzaprav ljudje v tistem času niso imeli takšne interakcije z računalnikom, kot jo poznamo danes, vse se je vršilo prek luknjičastih kartic. Torej je »vesoljski« računalnik potreboval še nov uporabniški vmesnik, tak, s katerim so lahko delali astronavti.
Računalniki tedanjega časa so opravljali pretežno matematične naloge, toda računalnik za Apollo je moral podpirati kar okoli 200 vhodov in izhodov, saj je beležil in obdeloval podatke iz različnih senzorjev, radarja in nadzornega centra na Zemlji. Upravljal je tudi motorje in druge krmilnike vesoljskega plovila, zato je moral vedno razumeti, kje v vesolju se plovilo nahaja, in astronavtom sporočati, kaj se z njim dogaja – prek namenskega zaslona. Računalnika sta bila pravzaprav dva – eden se je nahajal v osrčju vesoljskega plovila, drugi pa v modulu, namenjenem pristanku na Luni. Če bi se okvaril, letenje enega in drugega ne bi bilo več mogoče. Zahteve so bile skrajne: računalnik ni moral le delovati, ampak je moral delovati brezhibno. Astronavti so mu zaupali svoja življenja.
Premikanje več mejnikov hkrati
Seznam zahtev za računalnik vesoljskega plovila je bil resnično osupljiv. V MIT so morali zasnovati, sprogramirati in izdelati napravo, ki je bila za tiste čase najmanjši, najzmogljivejši in hkrati najzanesljivejši računalnik na svetu. Tudi njegova naloga ni bila nič manj zahtevna, saj ni poganjal dvigal v nebotičniku ali skrbel za delovanje kemične tovarne, ne, delovati je moral na področju, ki je bilo za človeka največji in takrat še nerešen izziv – osvajanju vesolja.
Tekmovanje dveh velesil, ki sta se odločili mišice meriti v bitki za osvajanje vesolja, pravzaprav ni bilo spopad dveh vojsk, temveč spopad dveh vojsk inženirjev. V nasprotju z izdelavo atomske bombe, ki je zahtevala en prebojen znanstveni korak v čim krajšem času (šlo je za končanje svetovne vojne), je računalnik vesoljskega plovila Apollo zahteval reševanje več tisoč prebojnih izzivov, ki so pred petdesetimi leti premikali meje na področjih znanosti, inženirstva, proizvodnje in zanesljivosti. Vsi najpomembnejši inženirji v ZDA so v vesoljski biti razmišljali o raketnih motorjih, vesoljskih oblekah, lunarnem modulu, okrepljena ekipa MIT pa o računalniku, kakršnega svet še ni videl.
DSKY je bila kratica za zaslon in tipkovnico (»DiSplay and KeYboard«), astronavti pa so uporabniški vmesnik računalnika krstili za »Diskee«.
Računalniške inovacije, ki jih uporabljamo še danes
Znanstveniki na MIT niso izdelali le za tiste čase miniaturnega računalnika, ampak računalnik, ki so ga lahko uporabljali astronavti. Tipke na tipkovnici so bile bistveno večje, kot jih poznamo danes, saj so astronavti tipkali v rokavicah (vesoljske obleke). Računalnik plovila Apollo je premogel tudi dve lastnosti, ki ju imamo danes za samoumevni, a so bile sredi 60. let prejšnjega stoletja popolna novost.
V računalnik so vgradili sposobnost odločanja. Sprogramiran je bil na način, da je v milisekundi obdelal vse podatke za upravljanje leta lunarnega modula, pri čemer je znal postaviti prioritete in najprej izračunati najpomembnejše parametre. Tako še danes delujejo sodobni računalniki in pametni telefoni v naših žepih, saj vsako sekundo opravijo več sto odločitev o zadanih nalogah – kaj bodo naredili in v kakšnem vrstnem redu. Računalnik, ki je znal sam odločati, je bil leta 1969 vsekakor nekaj edinstvenega.
Še več, znal se je tako rekoč hipno pobrati po odpovedi ali napaki in nadaljevati delo na mestu, kjer je končal. To je bila tudi ena izmed zahtev, saj bi se v vesoljskem plovilu lahko pojavile krajše prekinitve dobave električne energije. Računalnik v plovilu Apollo je moral zato stalno spremljati svoje delo in v primeru težav, ki so izbrisale njegov delovni pomnilnik, poskrbeti za hipen ponovni zagon in obnovitev na točki prekinitve. Te naloge še današnji računalniki ne obvladajo povsem (kar vemo vsi, ki smo kdaj izgubili daljši članek ali e-poštno sporočilo zaradi prekinitve delovanja).
Toda genialnost tovrstnega programiranja se je izkazala za nepogrešljivo in bistveno, saj je reševala vesoljske misije, vključno z zgodovinskim pristankom na Luni, ko se je računalnik Apolla 11 v štirih minutah petkrat ponovno zagnal zaradi težav v lunarnem modulu prav v času, ko sta Neil Armstrong in Buzz Aldrin pristajala na Luni.
Računalnik, ki je sproti preračunaval gibanje vesoljskega plovila, je imel vmesnik nameščen v osrčju nadzorne plošče. Velikost tipk je bila prilagojena rabi z rokavicami, saj so bili astronavti oblečeni v vesoljske obleke.
Ni šlo čez noč
Načrtovanje in programiranje računalnika, ki bi bil kos tovrstnim zahtevam, sta zahtevala vrhunske inženirje in programerje. Pri projektu je več kot osem let delalo več sto znanstvenikov in drugih strokovnjakov. Z vidika programske opreme je šlo za prvo res množično skupno oziroma povezano pisanje programske kode v zgodovini. Seveda ni šlo brez zapletov. Leta 1966 so snovalci prišli do točke, ko so inženirji MIT že napisali 40 odstotkov več programske opreme, kot ji je bil računalnik kos. Drugi cilji so za načrti zaostajali še bolj, zato so se v agenciji NASA bali, da računalnik, ki naj bi vesoljsko plovilo Apollo odpeljal na Luno, ne bo nared do leta 1969, še več, bali so se, da bo prav računalnik vzrok za neuspeh vesoljske misije.
Dosegli nemogoče
Toda niso se predali. Izdelali so računalnik (no, fizično je sam računalnik izdelalo podjetje Raytheon, pri čemer je pri proizvodnji uporabilo več osupljivih postopkov), ki je bil opremljen s 73 kB pomnilnika, velik pa je bil kot manjši kovček – prostorninsko je zavzel 28 litrov. V 2.504 urah (torej več kot sto dneh v vesolju), ki jih je preživel v vesoljskem plovilu Apollo, ni zabeležil niti ene same programske ali strojne napake. Inženirjem je torej uspel izjemen podvig. Izdelali niso le najmanjšega, najvitkejšega in najzmogljivejšega računalnika svojega časa, ampak tudi najzanesljivejšega.
Notranjost računalnika so sestavljali številni moduli. Vsak izmed njih je moral delovati absolutno zanesljivo.
Ko so računalnik v začetku 60. let prvič predstavili astronavtom misije Apollo, so ti mislili, da bo večino časa ugasnjen in ga bodo uporabljali le po potrebi. Na koncu pa se je izkazal za nepogrešljivega pri letu po vesolju. Nekateri člani ekip v MIT in NASI so mu zato nadeli kar oznako »četrti član posadke«.
Računalnik vesoljskega plovila Apollo je torej še kako pomenljivo vplival na Zemljo in današnje računalnike, čeprav zaradi skrivnostnosti projekta v času tehnološko-inženirskih spopadov dveh svetovnih velesil ni dobil priznanja, ki ga vsekakor zasluži.