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

Kód pro Project Apollo se vyvíjel v Charles Stark Draper Laboratory na MIT. Dělali tam software nejprve pro AGC pro velitelský modul a později i pro LEM, později vyvíjeli i software pro Skylab. Hamiltonová se zabývala detekcí chyb, bezpečným obnovením, prioritou úloh a zobrazování – její systém garantoval, že systém rozezná přetížení a zlikviduje neprioritní úlohy. 

To se dělalo formou kolaborativního multitaskingu. Aplikace musela pravidelně kontrolovat počet čekajících úloh a dávat jim řízení. Těch smělo čekat maximálně sedm, pokud přišel požadavek na další úkol, systém se považoval za přetížený a došlo k restartu, kdy se spouštěly pouze prioritní úlohy. Pokud běžící proces přestal číst počítadlo čekajících úloh, považoval se za zaseknutý a provedl se jeho restart.

Restarty měly tři základní úrovně: V první došlo k restartu běžící úlohy, přičemž nově nastartované úloze se dala poslední platná data. Tak mohlo dojít k „měkkému restartu“ bez vážnějších dopadů na stav mise. V případě, že se problém opakoval, restartovala se celá čekající skupina úloh, protože bylo podezření, že za problém může nějaká jejich nepředvídaná interakce. A když nepomohlo ani to, „systém se vypnul a zase zapnul“, tedy restartovalo se všechno včetně zahození dat, protože bylo podezření, že zdroj problémů může být v nich. Výsledkem bylo to, že se letový software během žádné mise katastroficky nezhroutil. Problémy sice byly, ale žádný sám o sobě neohrozil misi – problémy byly většinou s jiným hardwarem anebo s lidmi.

Hamiltonová sama říká, že ji v její práci pomohla její dcera, kterou s sebou brala do práce: Protože ji neměl kdo hlídat, tak ji s sebou brala na simulátor, kde se testoval software a „protože si máma hrála na astronauta, tak si i ona chtěla hrát na astronauta“. Začala si hrát s ovládacím panelem DSKY – a najednou se to celé začalo hroutit. Hamiltonová si uvědomila, že se stalo, to, že zatímco počítač byl v letové fázi, její dcera náhodně navolila program pro prelaunch check a tím vše zhroutila. U těchto programů se nepředpokládalo, že by kdy běžely najednou, a proto využívaly stejné zdroje.

A najednou jí to bylo jasné: „Ó můj Bože, to není dobré – musíme tam dát nějakou kontrolu, aby se to nedalo spustit za letu!“ Přišla proto za vedením, že musí udělat změny, že musí zabudovat ochranu proti náhodnému spuštění špatného kódu. Šéfové ale změny nechtěli, namítali, že kosmonauti přece nejsou její dcera, jsou školení tak, aby nedělali chyby. Jenomže pak přišlo Apollo 8 – a stalo se prakticky to samé, astronaut omylem aktivoval prelaunch check a vymazal částečně paměť počítače, takže ho museli několik hodin obnovovat ze Země.

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