Маргарет Гамильтон во пора ее пребывания в качестве ведущего разработчика ПО для «Аполлона»
Барак Обама наградил программистку Маргарет Гамильтон, предупредившую срыв высадки американцев на Луну. «Газета.Ru» рассказывает, чем американская космонавтика и современные компьютерные технологии обязаны этой даме.
На днях президент США Барак Обама провел в Белом доме церемонию вручения президентской медали Свободы — высшей награды США. О получивших награду соотечественниках президент высказался как о «выступающих американцах, поднявших наш дух, укрепивших наш союз, подтолкнувших нас к прогрессу».
Одной из награжденных стала 80-летняя программистка Маргарет Гамильтон, сыгравшая значительную роль в разработке кода для бортовых компьютеров космических кораблей серии «Аполлон».
Именно благодаря ей стала возможна посадка «Аполлона-11»,
на борту какого находился Нил Армстронг — первый человек, ступивший на Луну.
В 1958 году Гамильтон получила степень бакалавра математики в колледже Эрлхам, а в 1960-м, в 24 года, ей удалось получить труд в Массачусетском технологическом институте. Там она занималась разработкой программного обеспечения для прогнозирования погоды, а позже писала программы для поиска враждебных воздушных кораблей. В те годы программирование еще не было самостоятельной учебной дисциплиной, так что Гамильтон, как и другие программисты, получала знания опытным путем.
«Когда я лишь начинала работать в этой сфере, все это было для нас как Дикий Запад — мы были первооткрывателями неизведанных земель. Никто нас ничему не обучал», — вспоминала она.
Через несколько лет Гамильтон возглавила команду программистов, которые создавали ПО для лунных миссий NASA. К тому поре у нее уже была маленькая дочь Лорен, которую она часто приводила на работу по вечерам и в выходные. Пока уставшая девочка почивала на полу лаборатории, Гамильтон программировала главный бортовой компьютер космического корабля «Аполлон».
20 июля 1969 года «Аполлон-11» с первыми астронавтами был в считаных километрах от поверхности Месяцы, когда сработали аварийные устройства. В стыковочной радарной системе непроизвольно обновился счетчик, из-за чего компьютер получил запрос на выполнение вящего числа операций, чем он мог обработать.
Перегрузка компьютера входящими данными могла бы сорвать всю миссию, однако благодаря предусмотрительности Гамильтон этого не случилось.
При разработке кода она использовала так называемое асинхронное программирование — принцип, когда определенные операции выполняются независимо от основного потока этих. Гамильтон была одной из тех, кто стоял у истоков развития этого метода. Благодаря такому подходу бортовой компьютер смог «сконцентрироваться» на основной своей задаче — посадке корабля на Месяц и игнорировать неприоритетные задачи. «Аполлон» успешно прилунился.
«У наших астронавтов было не слишком много времени, но, к счастью, у них была Маргарет Гамильтон, — произнес Обама на церемониалы вручения медали. — Маргарет возглавила команду, создавшую бортовое программное обеспечение, которое позволило «Орлу» (позывной «Аполлона-11». — «Газета.Ru») благополучно прилуниться».
С разработками Гамильтон для «Аполлона» связана еще одна история. Ее дочь, играя с симулятором компьютера «Аполлон-8», запустила последовательность Р01, назначенную для запуска перед стартом космического корабля. Но симулятор был уже «в полете», и несвоевременное выполнение операции привело к сбою. Обнаружив проблему, Гамильтон желала ее исправить, но в NASA лишь отмахнулись: мол, астронавты подготовлены так хорошо, что в жизни так не ошибутся.
Гамильтон все же настояла на том, чтобы в документации к бортовому компьютеру включили строчку «Не запускайте Р01 во пора полета».
Но даже это показалось руководству излишней мерой предосторожности.
Однако при запуске «Аполлона-8» астронавт Джеймс Ловелл свершил именно эту ошибку — запустил Р01. Это привело к удалению навигационных данных из памяти компьютера, и «Аполлон» не мог определить свое поза в пространстве. Экипаж, к счастью, быстро сориентировался по звездному небу и ввел в компьютер необходимые данные, а вот Гамильтон и ее коллегам пришлось потратить девять часов, чтобы отыскать способ отправить кораблю остальную недостающую информацию.
К началу 1980-х Гамильтон ушла из NASA. Она основала несколько компаний по разработке ПО. Офис нынешней — Hamilton Technologies — размещён недалеко от главного корпуса MIT. Кроме работы с «Аполлоном» она принимала участие и во множестве других программ и проектов, а также опубликовала немало 130 научных работ.
По словам президента США, Гамильтон
«символизирует поколение незамеченных женщин, которые помогли отправить человечество в космос. Печать ее программной архитектуры несут в себе сегодня бесчисленные технологии, а ее пример говорит об американском духе открытий, живущем в любой маленькой девочке и маленьком мальчике».
Это не единственная награда Гамильтон — она уже становилась лауреатом премии Ады Лавлейс за достижения в вычислительной технике, премии выступающих выпускников своего колледжа и премии NASA Exceptional Space Act Award за научно-технический вклад. Премия включала также выплату $37,2 тыс., это самая вящая сумма, которая когда-либо в истории NASA присуждалась персонально.