KPI뉴스 - [칼럼] 인류 달착륙 50주년, "MIT 컴퓨터와 프로그래머가 있었다"

  • 맑음이천18.4℃
  • 흐림제주27.0℃
  • 맑음동두천18.9℃
  • 맑음부여21.4℃
  • 맑음충주19.7℃
  • 구름많음장수19.7℃
  • 흐림양산시25.4℃
  • 맑음보은20.8℃
  • 구름많음흑산도25.2℃
  • 맑음북춘천17.0℃
  • 구름많음고산25.9℃
  • 흐림구미22.9℃
  • 구름많음태백16.3℃
  • 맑음군산22.7℃
  • 구름많음해남24.3℃
  • 흐림거제25.0℃
  • 구름많음완도25.9℃
  • 구름많음남해24.2℃
  • 구름많음청송군19.2℃
  • 구름많음산청23.4℃
  • 구름많음순창군24.4℃
  • 구름많음북부산25.1℃
  • 맑음속초19.2℃
  • 흐림북창원26.0℃
  • 맑음보령23.2℃
  • 맑음원주18.8℃
  • 맑음대전23.0℃
  • 구름많음합천23.6℃
  • 구름많음울진20.2℃
  • 구름많음포항24.5℃
  • 맑음영월16.8℃
  • 구름많음고창군22.9℃
  • 구름많음영광군22.9℃
  • 구름많음거창21.3℃
  • 맑음대관령16.1℃
  • 맑음강화20.5℃
  • 구름많음안동20.6℃
  • 맑음서울21.4℃
  • 맑음청주22.0℃
  • 흐림울산24.2℃
  • 맑음백령도20.4℃
  • 구름많음장흥24.4℃
  • 맑음강릉19.0℃
  • 맑음인천21.5℃
  • 구름많음의성20.2℃
  • 구름많음함양군22.8℃
  • 맑음철원17.7℃
  • 구름많음전주22.9℃
  • 맑음양평19.1℃
  • 구름많음영주17.2℃
  • 맑음홍성21.0℃
  • 구름많음울릉도21.0℃
  • 흐림추풍령21.0℃
  • 구름많음의령군23.1℃
  • 구름많음순천20.5℃
  • 맑음북강릉19.3℃
  • 맑음정선군16.6℃
  • 비서귀포26.4℃
  • 구름많음남원24.2℃
  • 구름많음목포24.7℃
  • 구름많음문경18.2℃
  • 구름많음강진군26.1℃
  • 맑음춘천18.1℃
  • 맑음파주17.8℃
  • 흐림광양시24.7℃
  • 구름많음영천23.1℃
  • 흐림부산25.2℃
  • 구름많음경주시23.4℃
  • 맑음세종20.7℃
  • 구름많음봉화20.6℃
  • 맑음홍천17.0℃
  • 흐림창원25.1℃
  • 구름많음부안21.7℃
  • 구름많음성산26.6℃
  • 구름많음여수24.9℃
  • 구름많음고창23.0℃
  • 구름많음대구23.4℃
  • 맑음천안20.5℃
  • 흐림김해시24.7℃
  • 맑음서청주19.9℃
  • 구름많음밀양25.3℃
  • 구름많음진도군24.2℃
  • 맑음서산21.1℃
  • 맑음수원20.9℃
  • 구름많음통영25.3℃
  • 맑음동해19.3℃
  • 구름많음영덕21.1℃
  • 구름많음상주19.6℃
  • 흐림임실21.3℃
  • 구름많음고흥25.2℃
  • 구름많음광주23.9℃
  • 흐림진주22.8℃
  • 맑음인제16.6℃
  • 맑음금산20.0℃
  • 구름많음보성군24.8℃
  • 구름많음정읍22.8℃
  • 맑음제천18.4℃

[칼럼] 인류 달착륙 50주년, "MIT 컴퓨터와 프로그래머가 있었다"

김들풀 Google구글에서 선호하는 출처로 추가
기사승인 : 2019-07-20 10:25:45
아폴로 가디언스 컴퓨터(AGC, Apollo Gudiance Computer)
아폴로 항법소프트웨어 개발자 마거릿 해밀턴(Margaret Hamilton)

오늘은 인류가 달에 착륙한 지 50주년이 되는 날이다.

1969년 7월 20일 전 세계 10억 명이 지켜보는 가운데 미국의 아폴로 11호 우주인이 지구 아닌 다른 천체에 첫발을 내디뎠다. 이는 구소련이 1957년 인류 역사상 첫 인공위성인 스푸트니크 1호를 우주에 쏘아 올린 지 12년 만에 일이었다.

■ 아폴로 가디언스 컴퓨터(AGC, Apollo Gudiance Computer)

이 위대한 역사적인 업적 뒤에는 MIT대학이 있었다. 인류 최초 달 착륙 유인 우주선 아폴로11호에 탑재된 아폴로 가디언스 컴퓨터(AGC, Apollo Gudiance Computer)는 1960년대에 MIT 기계공학연구소(현 찰스 스타크 드레이퍼 연구소)에서 개발된 아폴로 우주선 실시간 유도 임베디드 컴퓨터다.


▲ 아폴로 가디언스 컴퓨터(AGC, Apollo Gudiance Computer) [NASA]


아폴로 우주선의 전체 항해 기능을 자동 제어, 비행정보 확인·수정하는 데 사용된 실시간 임베디드 시스템이다. 이 시스템으로 달착륙선은 무사히 달 표면에 착륙했고, 또 3명의 우주비행사도 무사히 지구로 귀환할 수 있었다.

임베디드 시스템(embedded system)이란 특정 제품에서 주어진 작업을 수행할 수 있도록 컴퓨터의 하드웨어와 소프트웨어가 조합된 마이크로프로세서 혹은 마이크로컨트롤러 시스템을 일컫는 말이다.

AGC의 제원은 처리속도 2.048MHz, RAM 2048 Word, ROM 36,864 Word, 파워 55W, 무게 32Kg 등이다. 오늘날과 같이 수천개의 게이트가 하나의 IC에 직접 된 것이 아니고, IC 하나에 게이트 1개 또는 2개가 내장된 IC 수천 개를 연결해 컴퓨터를 만든 것이다. 소프트웨어는 멀티태스킹이 가능한 RTOS를 어셈블러로 작성했다.

특히 처리속도는 현재 우리가 쓰는 스마트폰의 수천분의 1에도 미치지 못한 매우 작은 메모리만을 가지고도 놀라울 정도로 그 모든 기능을 발휘한 것이다. 당시로써는 매우 혁신적인 기술의 결정체였다.

하지만 이 정도 컴퓨팅 시스템은 만약에 우주선 이착륙 시 시스템 오류가 발생할 수가 있었다. 즉 작업이 많아져 컴퓨터가 과부하 걸릴 경우다. 그렇다고 재부팅 하기에는 시간이 너무 오래 걸린다.

■ 마거릿 해밀턴(Margaret Hamilton)

그런데 실제로 문제가 발생했다. 1969년 7월 20일 12시 18분 달착륙선이 사령선과 분리되고, 15시 06분 닐 암스트롱과 버즈 올드린을 태운 아폴로 11호의 달착륙선이 달 표면 코앞으로 다가왔을 때 "삑, 삑, 삑, 삑……" 경보음이 울리기 시작했다.

달 표면 착륙을 약 1마일(1.6 km)만 남겨둔 상황에서 컴퓨터 프로그램 오류가 발생한 것이다. 암스트롱도 올드린이 컴퓨터 오류 원인을 확인한 결과 '1202' 네 자리 숫자가 나타났다.

이 경고 숫자 '1202'는 아폴로 계획에 참여한 프로그래머 '마거릿 해밀턴(Margaret Hamilton)'이 개발한 오류 회피 소프트웨어 전환 메시지다. 이 프로그램 덕분에 아폴로 11호는 달 착륙에 성공할 수 있었다.


▲당시 아폴로 비행 소프트웨어 설계팀을 이끌던 해밀턴이 직접 짠 우주 항법 소프트웨어 코드 옆에 서 있다


그는 당시 MIT 기계공학연구소 소프트웨어 책임자로 근무하다가 24살에 NASA에 들어가 자동 조종 소프트웨어 개발에 참여했다. 그는 몇 년 후 아폴로 계획 소프트웨어 총괄 책임자가 된다.

그는 워킹맘으로 어린 딸을 실험실에 데려와서 코딩할 정도로 열정을 쏟아왔다. 당시에는 프로그램을 일일이 천공 카드로 입력해야 했다. 수천 또는 수만 장의 천공카드와 오랜 기간이 필요했다.

그러던 중 오류 회피 소프트웨어는 준비된 우연으로부터 나왔다. 어느 날 그는 달 착륙 시뮬레이션 결과 착륙 바로 직전에 컴퓨터가 많은 작업을 동시에 하므로 과부화가 걸려 컴퓨터가 문제를 일으킬 수 있다는 사실을 미리 알게 됐다. 이를 계기로 만약 우주비행사의 실수나 기타 상황에서 오류가 났을 때 대처할 수 있는 오류 회피 소프트웨어를 개발했다.

해밀턴 팀은 고생 끝에 프로그램를 완성했지만, 곧바로 받아들여지지 않았다. 표면상 이유는 단지 시뮬레이션이라는 것이었지만, 당시 남성 주도의 NASA 분위기를 고려한다면 쉽게 이해할 수 있을 것이다.

하지만 그는 포기하지 않았고, 결국 아폴로 11호의 명령 모듈 컴퓨터에 추가 기능을 만들어 두었다. 소프트웨어 안에는 완전한 복구 프로그램 세트가 통합되어 있었다. 컴퓨터가 멈출 상황이 오면 컴퓨터가 우선순위가 낮은 작업들은 중단시키고 주요 작업을 다시 설정하는 기능이다. 그리고 이를 알리기 위한 경고 번호가 바로 '1202'였다.

만약 달 착륙 직전 오류를 해결하지 못했다면 그대로 달 착륙은 중지되고 아폴로 계획은 실패로 끝났을 것이다. 이후에도 몇 번 같은 경고가 표시됐지만, 오류 회피 소프트웨어 덕분에 무사히 달에 착륙할 수 있었다.

이 위대한 업적에는 MIT 기계공학연구소가 개발한 '아폴로 가디언스 컴퓨터(AGC, Apollo Gudiance Computer)'와 같은 연구소 소프트웨어 책임자였던 '마거릿 해밀턴(Margaret Heafield Hamilton)'이 있었다는 사실을 기억해 두자.

한편, 마거릿 해밀턴은 2016년에서야 버락 오바마 대통령으로부터 아폴로 11호 계획에 이바지한 공로로 대통령 자유 훈장을 받았다.

KPI뉴스 / 김들풀 전문기자 itnews@kpinews.kr


[저작권자ⓒ KPI뉴스. 무단전재-재배포 금지]