Poznámka redakce: Tento článek je součástí seriálu reflektujícího misi Apollo 11 s odstupem 50 let.
Bez počítačů na palubě kosmické lodi Apollo by nedošlo k přistání na Měsíci, k prvnímu triumfálnímu kroku, k vrcholu cestování člověka do vesmíru. Pilot by nikdy nemohl řídit cestu na Měsíc, jako by kosmická loď byla jen výkonnějším letadlem. Výpočty nutné k provedení úprav za letu a složitost ovládání tahu přesahovaly lidské schopnosti.
Naváděcí počítač Apollo v obou svých podobách – jeden na palubě hlavní kosmické lodi a druhý v lunárním modulu – byl triumfem techniky. Počítače byly do té doby velké jako místnosti a plné vakuových elektronek, a pokud počítač Apollo se svými 70 kilogramy ještě nebyl zrovna miniaturní, zahájil „přechod mezi tím, jak se lidé chlubí tím, jak jsou jejich počítače velké …, a tím, jak jsou jejich počítače malé,“ zažertoval jednou na své přednášce historik letectví a výpočetní techniky z MIT David Mindell.
Trendy, které tento počítač předpovídal, se exponenciálně roztáčely po celá desetiletí: Od velkých k malým, od vakuových elektronek ke křemíku, od hardwaru k softwaru. Když dnes srovnáte výpočetní výkon, který NASA používala, s jakýmkoli běžným zařízením, od hodinek přes blahopřání až po mikrovlnnou troubu, vyvolá to technologickou závrať. Michio Kaku, fyzik a populární autor, to vyjádřil takto: „Dnes má váš mobilní telefon větší počítačový výkon než celá NASA v roce 1969, kdy umístila dva astronauty na Měsíc.“
Tato jen tak mimochodem řečená slova však zastírají skutečný výkon počítače Apollo. Samozřejmě, že každé současné zařízení má podstatně větší hrubé výpočetní schopnosti než první stroj, ale počítač Apollo byl pozoruhodně schopný, spolehlivý a splnil úkol, který mu byl svěřen. Chytrým zvonkem byste kosmickou loď na Měsíc skutečně nenavedli.
Více v tomto seriálu
Přečtěte si: Co bude znamenat přistání na Měsíci pro budoucnost?
Chcete-li pochopit, jak významný byl systém Apollo a proč je jeho nepatrný hrubý výpočetní výkon nepodstatný, stačí si poslechnout programátora počítačů OG a dobrovolného historika NASA Franka O’Briena, který celý život s láskou popisuje funkce naváděcího počítače Apollo. O’Brienův otec byl pilot, a tak se Frank stal vojenským spratkem. O počítače se zajímal od útlého věku, a když jeden z otcových starých přátel povýšil v NASA, dostaly se mu do rukou technické příručky, které upravovaly fungování počítače.
„Ve třinácti letech jsem dostal k Vánocům krabici, která měla asi dva metry na stranu a vážila milion kilogramů,“ řekl mi O’Brien. „Otevřel jsem ji a byly v ní všechny technické příručky k Apollu. U vás si tuny a tuny dětí prohlížely Playboye, já jsem si četl o naváděcích počítačích.“
Od té doby strávil nespočet hodin tím, že se přesně učil, jak tyto stroje fungují. Už jako teenager uměl létat na simulátoru NASA Apollo. V dospělosti, poté co získal titul z informatiky a dlouho pracoval jako firemní programátor, napsal knihu Naváděcí počítač Apollo, ódu na tento stroj.
Naváděcí počítač Apollo ve velitelském modulu měl dvě hlavní úlohy. Za prvé vypočítával potřebný kurz k Měsíci, kalibrovaný podle astronomických měření, která astronauti prováděli za letu pomocí sextantu ne nepodobného tomu, který používají oceánští navigátoři. Jedním zaměřovačem zaměřovali Měsíc, Zemi nebo Slunce a druhým určovali polohu hvězdy. Počítač by tyto úhly přesně změřil a přepočítal její polohu. Za druhé řídil mnoho fyzických součástí kosmické lodi. AGC mohl komunikovat se 150 různými zařízeními uvnitř kosmické lodi – což byl nesmírně složitý úkol. „Má desítky trysek a nejrůznějších rozhraní a naváděcí plošinu a sextant,“ řekl O’Brien. „Když to všechno začnete sčítat, řeknete si: Svatá prostoto. Tohle je opravdu schopné.“
Koncepčně jej laboratoř MIT Instrumentation Laboratory, která systém navrhla, postavila na základě práce, kterou vykonala pro systém řízených střel Polaris, vyrobený pro odpalování jaderných zbraní z amerických ponorek. Hardware počítače Apollo, jak poznamenal Mindell, byl poměrně dobře pochopen „ve světě vojenské avioniky“.
Jeho sestrojení zpočátku projektu dominovalo – laboratoř silně podcenila složitost úkolu softwarového inženýrství. Ještě několik let poté, hluboko do 70. let, používali programátoři ke kódování děrné štítky. Ale nutnost mít astronauty Apolla a inženýry NASA „v obraze“ a rozhodovat vyžadovala jiný druh softwaru. Muselo existovat rozhraní. Více operací muselo běžet současně.
Přečtěte si: Hodinky, které letěly na Měsíc
Počáteční zaměření na hardware uzamklo to, co O’Brien nazýval „primitivní architekturou“, a zároveň otevřelo prostor pro Margaret Hamiltonovou, ženu v silně mužském programu Apollo, aby vedla návrh softwaru. Jakmile se ukázalo, že software je skutečně tím, kde se bude mise uskutečňovat, Hamiltonové tým se na svém vrcholu rozšířil na 350 lidí. Systém, který vytvořili, byl pozoruhodně pokročilý.
Aby maximálně využili vestavěnou architekturu, přišli Hamiltonová a její kolegové s něčím, co nazvali „tlumočník“ – dnes bychom tomu říkali virtualizační schéma. Umožnilo jim spustit pět až sedm virtuálních strojů současně ve dvou kilobajtech paměti. Bylo to strašně pomalé, ale „teď máte všechny možnosti, o kterých jste kdy snili, v softwaru,“ řekl O’Brien.
Astronauti komunikovali s počítačem prostřednictvím DSKY, zkratky pro „displej a klávesnici“. Zadávali čísla a dostávali odpovědi. Není snadné popsat systém uživatelského rozhraní, ale opíral se o řadu programových kódů a také o kódy „sloves“ a „podstatných jmen“. Slovesa představovala věci, které počítač uměl („78 UPDATE PRELAUNCH AZIMUTH“). Podstatná jména představovala číselné veličiny nebo měření („33 TIME OF IGNITION“). K jednoduchosti typu „ukaž a klikni“ to mělo hodně daleko.
Většina paměti systému byla doslova vetkána do paměti lana, ale něco se dalo zapsat, a to jak astronauty, tak na dálku z řídicího střediska mise. Snad nejgeniálnějším softwarovým inženýrským počinem byl software navržený J. Halcombem Laningem, který určoval priority výpočetních úloh systému.
To se ukázalo jako pokrok, který zachránil misi Apolla 11. Při sestupu lunárního modulu začal šum z jednoho z jeho radarů přivádět do systému špatná data. Naváděcí počítač pochopil, že má problém, ale dokázal zůstat funkční po celou dobu sestupu, zahodil špatné informace a pokračoval ve svých důležitějších operacích, čímž zachránil misi.
Populární vyprávění o tomto okamžiku – v té době i dnes – tvrdí, že počítač měl problémy a že Neil Armstrong, který se chopil „ručního“ řízení, pilotoval kosmickou loď na povrch Měsíce. Dokázali to lidé! Počítače se nám nevyrovnají!
Lunární modul byl ale vybaven systémem fly-by-wire. Jakýkoli příkaz, který Armstrong vydal, musel vést přes počítač. Takže je asi přesnější říci, že když Armstrong přistál na Měsíci, řekl počítači, kde má přistát. Neexistovalo žádné použitelné ruční řízení; skutečným triumfem byla flexibilita interakce člověka s počítačem.
Historici, jako je Mindell, který modeloval sestup vteřinu po vteřině, nepřikládají nutnosti Armstrongova počínání velký význam. Stále potřeboval počítač k ovládání lodi. „Kdyby byl nastaven na automatické přistání, sestoupil by tak jako tak, s menším halasem, i když možná uprostřed pole balvanů,“ uzavřel Mindell. Příběh o lidské zdatnosti byl téměř dokonalým převrácením skutečnosti.
Vzhledem k tomu všemu asi nepřekvapí, že se O’Brien pohoršuje nad myšlenkou, že by mikrovlnná trouba nebo kalkulačka mohly být považovány za „stejně výkonné“ jako počítač Apollo.
„Jak definujete výkon?“ zeptal se Mindell. O’Brien se ptá. „Je skvělé říkat: ‚Tento stroj je tak výkonný‘. Co tím myslíte?“
Pro něj nejde o hrubý počet tranzistorů, ale o to, aby stroj vyhovoval misi. Schopnosti, ne výkon. „Museli jsme se dostat na Měsíc, sestoupit a vrátit se, a to autonomně. Dosáhli svých cílů, aby byli přesní po čtvrt milionu kilometrů, zasáhli cíl v rozmezí 500 až 600 stop a jednu desetinu stopy za sekundu,“ řekl O’Brien. „A vy si řeknete: ‚Moje hodinky jsou výkonnější‘. Ne, nejsou.“
Poučení je možná jednoduché: Pokud je váš telefon o tolik výkonnější než počítače, které dostaly lidstvo na Měsíc, tak proč celý den jen zíráte na Instagram? Výpočet je prostředek, ne cíl.