기타 업적

존 매카시의 업적으로 빠지지 않는 것 중 하나가 시분할 시스템이다. 현대의 컴퓨터는 거의 대부분이 시분할 시스템이라고 해도 과언이 아니다. 시분할 시스템을 만든 동기는 하나의 컴퓨터를 여러 명이 동시에 사용하기 위함이었다. 현대에는 개인용 컴퓨터와 모바일 장치의 보급으로 인해 하나의 컴퓨터를 여러 명이 사용하는 일이 줄어들었지만, 여러 작업을 동시에 수행하도록 해 주는 다중 처리 기능은 시분할 시스템을 바탕으로 하고 있다.

시분할 시스템

존 매카시가 시분할 시스템의 첫 제안자라고 간주하는 이유는 그가 1959년에 작성했던 메모에서 시분할 시스템의 필요성을 주장했기 때문이다. 당시 MIT 계산센터의 센터장이었던 필립 모스Philip Morse 교수에게 보낸 1월 1일 자 메모에서 매카시는, MIT가 곧 들여올 예정이었던 IBM 709 모델을 시분할 방식으로 만들어서 사용하자고 적었다.​14​

흥미로운 점은 그가 이 메모에서, 시분할이 새로운 개념이 아니라고 적은 것이다. 후에 존 매카시는 아마도 SAGE 시스템을 염두에 두었던 것 같다고 회상했다. SAGE 시스템은 MIT가 참여했던 미 방공망 시스템이었는데 하나의 시스템에 여러 대의 터미널이 연결되었고 터미널마다 작업자가 할당되어 특정 상공을 모니터링하도록 되어 있었다. 따라서 하나의 시스템을 여러 명이 동시에 사용하는 형태라는 점에서 매카시가 원하던 시분할 시스템의 모습이었다.​15​

공식적인 제안은 1959년이었지만 매카시는 이미 1957년에 이미 구체적인 시도를 한 바가 있었다. 다트머스 대학 조교수였던 그는 대학의 배려로 MIT의 펠로우십을 하게 되었고 MIT 계산센터에 있던 IBM 704를 접하게 되었다. 그는 일괄처리 용이었던 704 모델을 시분할 방식으로 바꿀 방법을 궁리했다. 하지만 결정적인 장애물이 있었다. 704는 인터럽트를 지원하지 않았다.​¶¶​ 매카시는 하드웨어를 추가해서 704에 인터럽트를 구현할 방법을 제안하기까지 했는데, 다행히 그때 IBM이 미국 보잉사를 위해 특별히 제작한 하드웨어 패키지가 인터럽트를 지원함을 알게 되어 이를 이용하게 된다.

1년이 넘어서야 패키지를 지원받은 매카시는 컴퓨터에 타이프라이터를 연결하여 시분할 시스템 시연을 진행했다.​##​ MIT 인공지능 연구소 소속 프로그래머였던 스티브 러셀이 진행한 이 시연의 내용은 간단했다. 704가 일괄처리 작업을 하는 도중에 타이프라이터에 타이핑을 하면 그 입력값을 704가 제대로 모아놓았다가 일괄처리 작업이 끝나면 그 모아놓은 입력값을 한 번에 보여주었다.

매카시의 메모를 받은 모스 교수는 관심을 보였다. 그는 매카시에게 이렇게 물었다. “그런데, 자네는 시분할을 하고 싶은 건가? 인공지능을 하고 싶은 건가? 그렇지 않아도 새로 온 조교수 중에 티거Herbert Teager 교수가 있는데 이런 쪽으로 잘할 것 같은데.” 매카시에게는 인공지능이 우선이었음이 당연하다. “좋습니다. 티거 교수가 시분할을 하도록 하죠. 저는 인공지능을 하겠습니다.”​4​

티거 교수는 너무 야심이 많았다. 그는 제대로 크게 만들고 싶어했고 그러다 보니 빈틈이 많았다. 티거 교수가 큰 그림을 그리는 사이에 다른 한쪽에서는 일단 작게라도 만들어 보려는 시도가 진행되었고 결국 MIT의 페르난도 코르바토Fernando Corbato​***​ 교수팀이 IBM 7090에서 CTSS라는 이름의 시분할 시스템을 구현했다. 이후 시분할 시스템의 가능성을 감지한 MIT 측은 대학 차원에서 차세대 컴퓨터 시스템 개발을 천명하며 MAC 프로젝트를 시작했고 정부로부터 엄청난 연구비를 받게 된다.

그런데 매카시와 시분할 시스템의 인연이 여기서 끝나지는 않았다. MIT에서는 인공지능만 하기로 교통정리가 되었지만, 그는 시분할 시스템을 손에서 놓을 생각이 없었던 모양이다. 1960년에 그는 BBN이라는 회사에서 인공지능에 관해 자문을 시작했다.​†††​ 그곳에서 그는 에드 프레드킨Ed Fredkin과 J.C.R. 릭라이더Licklider에게 시분할 시스템에 관한 생각을 말하게 된다. 두 사람은 귀가 솔깃했고 프레드킨은, 마침 그곳에 설치되어 있던, DEC의 첫 컴퓨터 PDP-1의 시제품에 시분할 시스템을 구현할 수 있을 것 같다며 자기가 한번 해보겠다고 나섰다. PDP-1에는 인터럽트 기능이 없었지만 프레드킨은 인터럽트 구조를 설계한 후에, 친하게 지내던 DEC의 수석 엔지니어를 설득해서 하드웨어를 수정해주겠다는 확답까지 받게 된다.

PDP-1으로 작업 중인 에드 프레드킨​‡‡‡​

만약 에드 프레드킨이 그대로 일을 진행했다면 매카시의 시분할 시스템 이야기는 여기서 끝났을지도 모르겠다. 하지만 갑자기 그가 BBN을 퇴사했다. 제3차 세계대전이 곧 시작될 것 같다는 느낌이 들었기 때문이라고 한다.​4​ 프레드킨이 벌여 놓은 일을 매카시가 떠맡았다. 1주일에 하루 방문하는 자문역이었지만 그는 이 일에 할당된 프로그래머와 함께 이 일을 마무리 지었다. 1962년 여름에 시스템은 완성되었다. 하지만 BBN에서는 이 시스템을 사용하지 않았다고 한다. 왜냐하면 PDP-1 사용자가 워낙 적었기 때문에 굳이 한 번에 여러 사람이 쓸 일이 없었기 때문이었다.​4​

1962년 가을에 매카시는 스탠퍼드 대학교의 정교수로 자리를 옮겼다. 그는 인공지능 연구를 지속하면서도 동시에 시분할 시스템 연구도 잊지 않았다. 그의 연구팀은 PDP-1에서 토르Thor라는 이름의 시분할 시스템을 개발했는데, 디스플레이 터미널을 사용하는 최초의 시분할 시스템이었다.​15​

컴퓨터 시스템의 효용도를 높이는 데 있어서 시분할 시스템은 크게 기여했다. 하지만 모든 이들이 시분할 시스템을 반기지는 않았다고 한다. 매카시는 당시를 회상하며 이렇게 말했다.

MIT 인공지능 연구소가 PDP-6를 들여놓았을 때 시분할 시스템에 대해 상당한 반대 기운이 있었습니다. 자신이 예약해 놓은 시간에는 컴퓨터를 완전히 마음대로 쓰는 데 익숙했던 사람들은, 심지어 시분할 시스템을 도입하면 시스템을 부수겠다고 위협할 정도였습니다. IBM 7090에 만들어 놓은 CTSS(Compatible Time Sharing System, 호환성을 가진 시분할 시스템)에 반대되는 의미로 ITS(Incompatible Timesharing System, 비호환성을 가지는 시분할 시스템)라는 것을 만들 정도였다니까요.​4​

1 2 3 4 5 6