Maak kennis met Margaret Hamilton, de stoere programmeur uit de jaren 60 die de maanlanding redde

Асуудлыг Арилгахын Тулд Манай Хэрэгслийг Туршиж Үзээрэй

Haar code repareerde een storing die had kunnen voorkomen dat Buzz Aldrin en Neil Armstrong veilig konden landen.

Margaret Hamilton in een Apollo Command Module.

Margaret Hamilton in een Apollo Command Module.

NASA

Op 20 juli 2019 is het 50 jaar geleden dat Apollo 11 op de maan arriveerde. De maanlander met Neil Armstrong en Buzz Aldrin landde om 16:18 uur Eastern Time en Armstrong werd de eerste mens in de geschiedenis die om 22:56 uur op het maanoppervlak liep.

Vanaf de geboorte in 1961 tot de voltooiing in 1972 zijn enorme hoeveelheden luchtvaart- en hardware-engineering in het Apollo-programma gestoken, toen NASA en haar partners de Saturn V-raket ontwierpen om astronauten uit de baan van de aarde te krijgen, de commando-/servicemodules die in een baan om de aarde draaiden. maan, en de maanmodules die daadwerkelijk op de maan zijn geland. Maar Apollo was ook een groot softwareproject. Astronauten gebruikten de Apollo begeleidingscomputer , die in zowel de commandomodule als de maanmodule was geplaatst, voor navigatiehulp en om het ruimtevaartuig te besturen, en iemand moest het programmeren.

De software voor de geleidingscomputer is geschreven door een team van het MIT Instrumentation Laboratory (nu het Draper Laboratory), onder leiding van Margaret Hamilton . Hier is een geweldige foto van haar naast de code die zij en haar collega's schreven voor de Apollo 11-geleidingscomputer die de maanlanding mogelijk maakte:

NASA Apollo-programma chief software engineer Margaret Hamilton

De stapel code die twee mensen op de maan zette.

NASA , via Steve Milaan

'Op deze foto sta ik naast lijsten met de daadwerkelijke Apollo Guidance Computer (AGC)-broncode', zegt Hamilton in een e-mail. 'Ter verduidelijking, er zijn geen andere soorten afdrukken, zoals het debuggen van afdrukken, of logs, of wat dan ook, op de foto.' Het is alleen zij en haar code.

Letterlijk software samenweven

Het proces van het daadwerkelijk coderen in de programma's was ook omslachtig. De geleidingscomputer gebruikte iets dat bekend staat als 'kern touw geheugen' : draden werden op een bepaalde manier door metalen kernen gesnoerd om code in binair op te slaan. 'Als de draad door de kern gaat, vertegenwoordigt het een één', legde Hamilton uit in de documentaire Maanmachines . 'En rond de kern vertegenwoordigt het een nul.' De programma's werden in fabrieken met de hand in elkaar geweven. En omdat de fabrieksarbeiders voornamelijk vrouwen waren, werd het kernkabelgeheugen door ingenieurs bekend als: 'LOL-geheugen' LOL staat voor 'kleine oude dame'.

Hoe goede software Apollo 11 heeft gered

De code van Hamilton was goed - zo goed zelfs dat het heel goed de hele Apollo 11-missie had kunnen redden. De rendez-vous-radar (het radarsysteem dat moet worden gebruikt bij het verlaten van de maan en opnieuw verbinden met de controlemodule) en het computerondersteunde geleidingssysteem in de gebruikte maanmodule incompatibele voedingen . De radar, die niet echt een doel had in het landingsgedeelte van de missie, begon de computer heel veel gegevens te sturen op basis van willekeurige elektrische ruis, net toen Buzz Aldrin en Neil Armstrong probeerden te landen. Dit overbelast de computer en dreigde geen ruimte te laten voor de rekentaken die nodig zijn voor de landing.

En dat is wat er zou zijn gebeurd als Hamilton het probleem niet had voorzien. Maar zij deed anticiperen op dit soort problemen en het Apollo-besturingssysteem er robuust tegen hebben gemaakt. Zij en haar team, Digitale Apollo: mens en machine in ruimtevlucht auteur David Mindell schrijft, waren 'erg trots op hun 'asynchrone leidinggevende', en toen de overbelasting optrad, zorgde deze functie ervoor dat de computer taken met een lage prioriteit kon laten vallen.' De computer was ook geprogrammeerd om automatisch en bijna onmiddellijk opnieuw op te starten, om onbelangrijke taken, zoals het omgaan met de radargegevens, te elimineren.

'Als de software niet had gefunctioneerd, was de maanlanding misschien niet gebeurd' ruimteschrijver A.J.S. Rayli schrijft. 'In plaats daarvan nam Neil Armstrong die 'gigantische sprong' voor de hele mensheid.'

Software was vroeger vrouwenwerk

Hamilton is nu 78 en loopt Hamilton Technologies , het in Cambridge, Massachusetts gevestigde bedrijf dat ze in 1986 oprichtte. Ze heeft 'software engineering' meegemaakt - een term ze bedacht — uitgroeien van een relatief achterlijk in de informatica tot een prestigieus beroep.

Vroeger kregen vrouwen vaak softwaretaken toegewezen omdat software gewoon niet zo belangrijk werd gevonden. 'Het is niet zo dat managers van weleer vrouwen meer respecteerden dan nu' Rose Eveleth schrijft in een geweldig stuk over vroege vrouwelijke programmeurs voor het tijdschrift Smithsonian. 'Ze zagen computerprogrammeren gewoon als een gemakkelijke klus. Het was voor hen typen of archiveren en de ontwikkeling van software was minder belangrijk dan de ontwikkeling van hardware. Dus vrouwen schreven software, programmeerden en vertelden zelfs aan hun mannelijke collega's hoe ze de hardware beter konden maken.'

'Ik begon de term 'software-engineering' te gebruiken om het te onderscheiden van hardware en andere soorten engineering,' vertelde Hamilton Jaime Rubio Hancock van Verne in een interview. 'Toen ik deze zin voor het eerst begon te gebruiken, vond ik het best grappig. Het was lange tijd een voortdurende grap. Ze hielden me voor de gek met mijn radicale ideeën. Software kreeg uiteindelijk en noodzakelijkerwijs hetzelfde respect als elke andere discipline.'

Precies, Margreet.