Margarete Hamilton
PCTuning Článek

Jak neselhat a doletět na Měsíc a zpět

Michal Rybka
Michal Rybka
6. 6. 2021 12:23 5 Sdílej:

Seznam kapitol

1. Tolerance k chybám 2. ROM s dráty 3. Margarete Hamiltonová 4. Zkusili jste to restartovat? 5. Pryč s chaosem 6. 21312 Women of NASA

Bylo nebylo, počítače byly tak strašně nespolehlivé, že jste je prostě nemohli provozovat jen tak: Bez parity, na integrovaných obvodech a bez dozoru samotné. Přesto se našli lidé, kteří bojovali s chybami – a mezi nimi jedna opravdu výjimečná vývojářka, která software zodolnila tak, že jste mu i život mohli svěřit!

Reklama
Reklama

Ale přesně schopnost udržet si kontrolu potřebujete, pokud plánujete se svým počítačem v reálném čase řídit zařízení, které se může kdykoliv v přímém přenosu před celým světem rozmáznout o povrch mimozemského tělesa – a věřte mi, ono se to kvůli softwarové chybě párkrát stalo. Všichni si pamatují na chybu, která v roce 1999 poslala Mars Climate Orbiter do atmosféry kvůli špatnému převodu mezi imperiálními jednotkami a jednotkami SI – a jeho dvojče, Mars Polar Lander, pro změnu nechala rozmáznout o povrch proto, že senzor špatně vyhodnotil kontakt a vypnul přistávací motor ve chvíli, kdy byla sonda ještě 40 metrů nad povrchem.

Počítač LVDC (Launch Vehicle Digital Computer) Saturnu V byl navržen s relativně jednoduchým softwarem – a protože se jeho chod nesměl ani na okamžik zastavit, udělala ho IBM ztrojený. Zpracování instrukcí bylo rozděleno do dlouhé pipeline a každá fáze pipeline byla ztrojená. Všechno jelo na paritě, takže jednoduché chyby bylo možné identifikovat kdykoliv, to byl ale jenom začátek.

Na konci každé fáze pipeline byl hlasovací mechanismus, který porovnal tři výsledky: A pokud se dva shodovaly a třetí byl odlišný, poslal onen správný výsledek do další trojité fáze pipeline – a díky tomu mohla vypadnout až třetina počítače a ono to jelo dál. LVDC nebyl nijak zvlášť rychlý, měl 12190 instrukcí za sekundu a musel zvládnout 25× program pro řízení motorů a každé dvě sekundy navíc telemetrii a navigaci.

AGC, na kterém pracovala Hamiltonová, byl výrazně odlišný počítač. Neměl hardwarovou redundanci, ale byl postavený taktéž solidně: Paměť RAM byla založena na feritových jádrech, která mají vysokou odolnost proti radiaci. Mají i svoje nevýhody, je to paměť s nízkou densitou, velkou hmotností, a navíc má destruktivní čtení, takže se všechny bity musí po čtení obnovit do původního stavu. 

Paměť ROM byla ještě šílenější, jde o core rope memory, kdy se bity doslova fyzicky zašívají do feritových jader. Výhodou je, že takovou paměť vlastně není možné smazat: Selže pouze, pokud se rozpadnou její vodiče. Nevýhodou je, že pokud uděláte chybu, tak tam prostě je. Core rope memory je věc nakonec docela kompaktní, ale na výrobu je úplně šílená.

AGC v zásadě dovoloval výměnu modulů ROM – a ty se také měnily, existuje několik navzájem odlišných buildů. To opravdu důležité, co Margarete Hamiltonová navrhla, byl ale systém detekce správného chodu programů a mechanismus jejich inteligentního restartu. Velmi dobře si uvědomovala, že největší riziko pro lunární program není v tom, jak za sebou seřadit programy tak, aby proběhly správně, ale co dělat, pokud se objeví něco nečekaného. Pokud se vám zhroutí program a vy nemáte uloženou práci, je to nemilé. Pokud se vám zhroutí software, který řídí manévrovací trysky a vy zrovna přistáváte na Měsíci, bude to katastrofa.

Předchozí
Další
Reklama
Reklama

Související články

Komentáře naleznete na konci poslední kapitoly.

Reklama
Reklama

Byl detekován AdBlock

PCTuning je komunitní web, jehož hlavním příjmem je reklama. Zvažte prosím vypnutí AdBlocku, ať můžeme všem čtenářům i nadále přinášet kvalitní herní zpravodajství, články a videa.

Děkujeme!

Váš tým PCTuning