달 착륙 코드의 여백에 담긴 농담들
인류의 야망과 정밀한 공학의 산물인 Apollo 11의 역사적인 달 착륙은 예상외로 격식 없는 목소리를 담은 소프트웨어에 의존했습니다. 특히 달 착륙선용 Luminary099 릴리스인 Apollo Guidance Computer source code에는 엔지니어들이 중요한 비행 루틴 사이에 끼워 넣은 장난스러운 주석들이 드러나 있습니다.
우주비행사들이 착륙 레이더를 배치할 때 “PLEASE CRANK THIS SILLY THING AROUND(이 바보 같은 것을 돌려봐)”와 같은 지침에 따라 유도되는 긴박한 하강 과정을 상상해 보십시오. 그 직후, 안테나에 대한 컴퓨터의 점검 항목에는 “SEE IF HE'S LYING(그가 거짓말을 하는지 확인해 봐)”라는 회의적인 메모가 나타납니다.
하강 루프의 더 깊은 곳에는 엔지니어 Allan Klumpp를 언급하는 주석이 있습니다: “Allan Klumpp SAYS GIVE UP TO EIGHT PASSES(Allan Klumpp가 최대 8번까지 시도하라고 함).” 이 메모는 시스템이 중단되기 전에 여러 번 재시도할 수 있도록 하는 루틴과 함께 기록되었습니다. 이러한 인간적인 손길은 인류의 가장 위대한 기술적 도약을 이뤄낸 이들의 개성을 엿볼 수 있게 합니다.
“Burn, baby, burn”은 실제 비행 루틴이었다
Apollo Guidance Computer source code의 임무 핵심 운영 루틴들은 뜻밖의 코미디 대본이 되었습니다. 엔지니어들은 엔진 점화에 OFF TO SEE THE WIZARD라는 이름을, 루틴 자체에는 1960년대 DJ Magnificent Montague를 인용한 BURN_BABY_BURN_BABY_BURN_BABY_BURN이라는 이름을 사용했습니다. 착륙 후 좌표 표시창에는 “NOW LOOK WHERE YOU ENDED UP(이제 네가 어디에 도착했는지 봐)”라는 태그가 붙었습니다.
달 하강 Apollo Guidance Computer source code의 “TEMPORARY, I HOPE, HOPE, HOPE(임시 방편이길, 제발, 제발, 제발)”라는 주석은 부주의함이 아니라 문서화된 생산 변경 사항임을 보여줍니다. 특정 문제를 해결하기 위한 이 수정 사항은 달까지 전달되었으며, 이는 고위험 환경에서도 소프트웨어 개발이 얼마나 역동적이고 반복적인 과정인지를 잘 보여줍니다. MIT 엔지니어 Allan Klumpp는 하강 루프와 관련하여 "Allan Klumpp SAYS GIVE UP TO EIGHT PASSES"라는 문구로 언급되기도 했습니다.
재시작 시스템인 ENEMA에는 “POO people”에게 문의하라는 경고가 함께 있었습니다. 이는 실제 배설물 관련 언급이 아니라 컴퓨터의 유휴 프로그램인 프로그램 00(P00)을 의미했습니다. 실패 또는 복구 루틴에는 다음과 같이 다채로운 이름들이 붙었습니다:
- BAILOUT
- WHIMPER
- POODOO
- CURTAINS
이러한 비격식적인 라벨들은 Apollo 11 승무원들과 그들의 획기적인 기계에 부여된 막중한 책임감에 대해 어두운 유머를 섞은 대조를 제공했습니다.
온도 조절기와의 비교 속에 숨겨진 심각한 공학적 위업
오픈 소스 릴리스를 통해 이제는 누구나 볼 수 있는 이 장난스러운 주석들은 현대의 온도 조절기보다 성능이 낮은 하드웨어로 임무 핵심 소프트웨어를 구축했다는 심각한 공학적 위업을 가리고 있습니다. Apollo 11 Guidance Computer(AGC)는 고작 1.024 MHz의 속도로 작동했으며, 약 2,048 단어의 RAM과 36,864 단어의 ROM을 갖추고 있었습니다. 코어 로프 메모리(core-rope memory)라고 알려진 이 ROM은 손으로 직접 엮어 만들었기 때문에 소프트웨어 변경은 말 그대로 배선을 다시 하는 작업이었습니다.
Apollo 11의 달 하강 중, AGC는 유명한 1201 및 1202 경보를 울렸습니다. 이는 치명적인 오류가 아니라 착륙 레이더 데이터로 인해 컴퓨터에 과부하가 걸렸음을 알리는 신호였습니다. 우선순위 기반의 실행기 덕분에 AGC는 지능적으로 우선순위가 낮은 작업을 폐기하여 필수적인 유도 기능을 보호했습니다.
치명적인 오류를 방지하기 위해 설계된 이 강력한 아키텍처는 AGC 성공의 초석이었습니다. MIT Instrumentation Laboratory에서 소프트웨어 엔지니어링 팀을 이끌었던 Margaret Hamilton은 이 결함 허용 시스템을 개발하는 데 중추적인 역할을 했습니다. 그녀의 업적은 오늘날에도 여전히 중요한 소프트웨어 엔지니어링이라는 초기 분야를 개척하는 데 기여했습니다. 이 역사적인 Apollo Guidance Computer 소스 코드에 대해 더 자세히 알아보려면 GitHub - chrislgarry/Apollo 11-11: Original Apollo 11 11 Guidance Computer (AGC) Source Apollo Guidance Computer source code 저장소를 살펴보세요.
이 글이 마음에 드셨나요? 매일 아침 이런 글을 메일로 받아보세요.
하루 한 통 · 두 번의 클릭으로 구독 취소 · 제3자 추적 없음
손으로 쓴 기록물에서 GitHub 타임캡슐까지
디지털화 노력을 통해 이 역사적인 소프트웨어가 세상에 알려지게 되었습니다. Ron Burkey의 Virtual AGC 프로젝트는 기록 자료를 꼼꼼하게 필사하여 손으로 쓴 문서를 기계가 읽을 수 있는 텍스트로 변환했습니다. 그 후 2016년, Chris Garry는 이 필사본을 GitHub에 게시하여 인터넷 연결이 있는 사람이라면 누구나 전체 Apollo 11 Guidance Computer source Apollo Guidance Computer source code에 접근할 수 있게 했습니다.
오픈 소스 접근 방식은 매우 귀중한 것으로 입증되었습니다. 이제 열성 팬과 전문가들은 원본 어셈블리를 검사하고 Apollo Guidance Computer 소스 코드의 모든 줄을 면밀히 조사할 수 있습니다. 이러한 협력적 검토 과정은 원본 문서의 스캔본과 대조하여 필사 오류를 수정하는 데 도움을 주었으며, 역사적 정확성을 보장합니다.
궁극적으로 코드 내의 주석들은 Apollo 11 11 뒤에 숨겨진 뛰어난 엔지니어들을 인간적으로 보여주며, 엄청난 압박 속에서도 그들의 개성을 드러냅니다. 하지만 진정한 경이로움은 농담이 아니라 AGC의 아키텍처 그 자체에 있습니다. 이 강력한 시스템은 원시적인 하드웨어에도 불구하고 가혹한 임무를 전문적으로 수행했으며, 이는 설계와 제작자들의 독창성을 증명하는 결과물입니다.
자주 묻는 질문
Apollo 11 guidance computer 코드는 어디에서 읽을 수 있나요?
Apollo 11 guidance 소프트웨어의 디지털화된 버전은 chrislgarry/Apollo-11 GitHub 저장소에서 공개적으로 이용할 수 있습니다.
Apollo 11 코드의 재미있는 점은 무엇인가요?
엔지니어들은 “PLEASE CRANK THIS SILLY THING AROUND” 및 BURN_BABY_BURN과 같은 엉뚱한 주석과 기억에 남는 루틴 이름을 남겼습니다.
Apollo Guidance Computer의 성능은 어느 정도였나요?
약 1.024 MHz로 작동했으며, 약 2,048 워드의 지울 수 있는 메모리와 36,864 워드의 읽기 전용 코어 로프 메모리를 갖추고 있었습니다.
Apollo 11 컴퓨터가 1201 및 1202 알람에서 복구되었나요?
네. 우선순위 기반의 실행 관리자는 과부하 시 중요하지 않은 작업을 제거하면서도 핵심적인 유도 작업을 보존했습니다.

