Исходный код Apollo 11 стал открытым благодаря NASA

Историческое программное обеспечение бортового компьютера, которое доставило Apollo 11 на Луну, стало открытым и доступно для чтения, скачивания и изучения всем желающим. Сотрудник NASA Крис Гарри выложил код в открытый доступ на GitHub. Опубликованный ресурс состоит из двух крупных кодовых баз: одна для командного модуля (Comanche055), а другая для лунного модуля (Luminary099). Каждый из этих модулей имел свой собственный бортовой компьютер Apollo Guidance Computer (AGC), на котором выполнялся этот код, и они были ключевыми для успеха выдающейся миссии — первой в истории высадки человека на Луну.

В репозитории на GitHub Гарри указывает, что этот знаменательный код был оцифрован командой проекта Virtual AGC (Virtual Apollo Guidance Computer) и Музеем MIT. Это означает, что бумажная копия кода, хранящаяся в музее MIT, была отсканирована и вычитана для цифрового распространения. Теперь огромные массивы машинного кода находятся в общественном достоянии и легко доступны в сети.

Чтобы поближе познакомиться с примерами кода, мы заглянули в директорию Commanche055, и первым интересным файлом, который бросился в глаза, был ALARM_AND_ABORT.agc. После стандартного введения в начале файла раскрывается назначение кода — что, впрочем, довольно очевидно из его названия. Более того, комментарии в коде показывают, что он регистрирует аварийные условия, включает предупреждающий световой сигнал, если это применимо, и обрабатывает различные аварийные и неаварийные сигналы тревоги.

В 1969 году Apollo 11, космический полёт, впервые доставивший людей на Луну, использовал эти 30 строк кода для вычисления трансцендентных функций, таких как синус и косинус, необходимых для навигации.Аннотированный код здесь: https://t.co/5cOQHlATbB pic.twitter.com/s4hn2EOmGS9 апреля 2026 г.

Другой интересный пример кода, опубликованный в социальных сетях (см. выше), демонстрирует критически важные 30 строк ассемблера для расчёта навигационных траекторий Apollo 11.

Если вы хотите не просто посмотреть на историческую кодовую базу, а пойти дальше, то теперь можно скомпилировать код, переданный в общественное достояние, с помощью инструмента Virtual AGC (ссылка на GitHub). Программное обеспечение Virtual AGC разработано для работы в Linux, Windows XP/Vista/7, Mac OS X 10.3 и более поздних версиях, а также в некоторых версиях FreeBSD. Этот репозиторий также является хорошим местом, чтобы узнать больше о бортовых компьютерах AGC, установленных как в командном, так и в лунном модуле.

Характеристики AGC бледнеют по сравнению даже с самыми простыми современными компьютерами. Например, AGC имел всего 3840 байт оперативной памяти и 69 120 байт постоянной памяти. Его максимальная производительность составляла около 85 000 операций в секунду. Тем не менее, по размерам он был сопоставим с современным игровым системным блоком: 61.595 x 31.580 x 15.174 см и весил 31.8 кг. Ему также требовались два блока управления DSKY весом по 8.1 кг каждый в командном модуле и один DSKY в лунном модуле.

Более чем за полвека до Artemis II

Увлекательно видеть этот код Apollo 11 почти 60-летней давности в контексте текущей лунной миссии Artemis II. Сегодня мы не восхищаемся лаконичным и эффективным машинным кодом, который NASA использует для доставки людей на Луну и обратно. Скорее, баги в Microsoft Outlook и неисправный туалет на космическом корабле Orion могут омрачить впечатление от грандиозного достижения, которое представляет эта последняя миссия.

Источник: Tomshardware.com

Подписаться на обновления Новости / Технологии
Зарегистрируйтесь на сайте, чтобы отключить рекламу

ℹ️ Помощь от ИИ в комментариях

Вы можете задать вопрос нашему ИИ-помощнику прямо в комментариях к этой статье. Он постарается быстро ответить или уточнить информацию.

⚠️ ИИ может ошибаться — проверяйте важную информацию.


0 комментариев

Оставить комментарий


Все комментарии - Технологии