트렌드

유닉스 40년 : 혁명적 OS의 과거, 현재, 미래 1부

2009.06.08

40년 전 여름, 한 프로그래머가 앉아 생각했다. 한 달 동안 지금까지의 소프트웨어 중 무엇이 가장 중요한 소프트웨어가 될 수 있을지를.

1969년 8월, AT&T의 자회사 벨연구소의 프로그래머인 켄 톰슨은 그의 부인 그리고 어린 아들과 한 달 간 떨어져 지내는 기간을 새로운 운영체제에 대한 아이디어를 실행에 옮길 기회로 삼았다. 톰슨은 디지털 이큅먼트(DEC)의 무기력한 PDP-7 미니컴퓨터를 위해 최초의 유닉스 버전을 어셈블리 언어로 작성하면서 운영체제, 쉘 그리고 에디터와 어셈블러에 각각 일주일을 소요했다.

벨연구소가 멀틱스(Multics, Multiplexed Information and Computing Service)라 불리는 시분할 처리 시스템을 개발하려는 불안한 프로젝트를 그 해 초 철회한 이후, 톰슨과 동료인 데니스 리치는 내내 불안한 느낌이었다. 그들은 그 당시 주름 잡던 일괄처리 운영체제 어떤 것도 고수할 맘이 없었거니와, 기괴하고 다루기 힘든 것으로 여겼던 멀틱스를 다시 만들어내고 싶지도 않았다.

새로운 시스템을 위한 아이디어를 이리저리 생각한 끝에 톰슨은 최초의 유닉스 버전을 작성했는데, 그들은 동료 덕 맥일로이, 조 오쌔너, 루드 카나데이의 도움으로 이후 여러 해에 걸쳐 이를 계속 개발할 예정이었다. 멀틱스의 일부 원리는 이들의 새로운 운영체제에까지 적용되었지만, 그 당시 유닉스의 아름다움은 “less-is-more”란 철학에 있었다.

5년 후 리치와 톰슨은 컴퓨팅 시스템 학회지인 Communications of the ACM(CACM)에 “쌍방향 사용을 위한 강력한 운영체제가 장비나 인간의 노력면에서 비용이 많이 들 필요는 없다”며, “유닉스 사용자가 가장 중요한 시스템의 특성은 그것의 단순성, 정밀함 그리고 용이한 사용임을 알게 되었으면 한다”고 밝혔다.

분명 그들은 그랬다. 유닉스는 계속 되면서 IT의 토양이 되었고, 대학, 정부기관 및 기업의 서버와 워크스테이션을 운영하는데 널리 배치됐다. 또 ACM이 톰슨과 리치에게 IT에 기여한 보상으로 ACM 최고의 상인 A.M. 튜링상을 수여하던 1983년 당시에 기록한 것처럼, 그 영향력은 실제로 유닉스가 도입된 것보다 훨씬 광범위하게 확대되었다. 튜링상은 “유닉스 시스템 모델은 소프트웨어 설계자 세대가 프로그래밍에 대해 새롭게 생각하도록 이끌었다”고 시상 이유를 밝혔다.

네 시작은 미미하였으나…

물론 유닉스의 성공이 단번이 일어난 것은 아니다. 1971년 그것은 원래 작성 대상이었던 PDP-7보다 더욱 강력한 플랫폼인 PDP-11 미니컴퓨터에 이식됐다. 텍스트 포맷팅 및 텍스트 에디팅 프로그램이 추가됐고, 개발자 외의 첫 번째 사용자였던 벨연구소 특허부서의 몇몇 타자수에게 소개됐다.

1972 년, 리치는 톰슨의 초기 B 언어에 기초한 고급 C 프로그래밍 언어를 작성했고, 그 후 톰슨은 유닉스를 C로 작성했고, 이는 운영체제의 이식성을 점차 컴퓨팅 환경 전반에 걸쳐 확대시켰다. 그러는 사이 그것은 멀틱스에 대응하는 이름인 Unics(Uniplexed Information and Computing Service)라는 이름을 얻었고, 철자는 곧 Unix로 바뀌었다.

이제 여기저기 알릴 차례였다. 리치와 톰슨의 1974년 7월 CACM 논문 “유닉스 시분할 시스템”은 IT 업계를 사로잡았다. 그때까지 유닉스는 벨연구소의 몇 안되는 사람만이 사용하고 있었다. 그러나 학회가 유닉스를 후원하면서 유닉스는 극적인 전환점에 있었다. CACM의 한 편집자는 유닉스를 우아하다고 격찬할 정도였다.

IT 역사를 연구하는 피터 살루스는 그의 저서 “The Daemon, the Gnu and the Penguin”에서 “CACM 논문의 영향력은 극적이었다”며, “곧 켄은 유닉스에 대한 요청으로 몸살을 앓았다”고 전했다.

해커의 천국

톰슨과 리치는 유능한 “해커”였는데, 이 당시 이 단어는 비범한 창의성과 상식적이지 않는 지식으로 다른 사람들은 거의 모르는 소프트웨어 문제를 풀어내는 능력을 가진 사람을 일컬었다.

그들의 접근방식과 코드는 대학에 있는 프로그래머들, 그리고 나중에는 IBM이나 HP와 같은 대규모 예산이 없는 신생 벤처업체의 프로그래머에게 큰 호응은 얻는다. 유닉스는 캘리포니아 대학의 빌 조이, 카네기 멜론 대학의 릭 라시드 그리고 후에 벨연구소의 데이빗 콘 같은 해커들이 바라던 바로 그것이었다.

톰슨과 리치는 CACM 논문에서 “처음부터 이 운영체제는 자체적으로 유지할 수 있었고, 실제로도 유지했다”라며, “모든 소스 프로그램이 언제나 사용 가능했고 온라인에서 쉽게 변경되었기 때문에 우리는 다른 사람들에 의해 새로운 아이디어가 창조되거나, 발견되거나 제안될 때 그 시스템과 소프트웨어를 기꺼이 변경하고 다시 작성했다”고 강조했다.

현재 AT&T의 펠로우인 데이빗 콘은 1970년대 벨연구소에서 프로그래머로 일했다. 콘은 “유닉스의 특징 중 하나는 툴을 작성할 수 있다는 점, 그리고 더 나은 툴이 기존의 것을 대체할 수 있다는 점이었다”며, “모든 것을 사들여야 하는 어떤 단일체 같은 것은 아니었다. 실제로 더 나은 버전을 개발할 수도 있다”고 회상했다. 콘은 널리 사용된 “콘 쉘”을 개발했는데, 이는 기본적으로 유닉스 운용의 길잡이가 되는 프로그래밍 언어로써 현재도 오픈소스 소프트웨어로 사용되고 있다.

살루스는 1970년대 토론토 대학의 교수로 재직할 당시 IBM 시스템/360 메인프레임에 프로그래밍 언어 APL를 이용한 연구를 진행한 적이 있다. 그리고 그 연구는 잘 되지 않았다. 그러나 1978년 크리스마스 다음 날, 컬럼비아 대학의 친구 한 명이 그에게 미니컴퓨터에서 돌아가는 유닉스의 데모를 주었다. 살루스는 “난 ‘오, 하느님’을 외쳤고, 그 때 완전히 개종한 셈이었다”고 말한다.

살 루스에게 유닉스의 주요 강점은 1972년에 도입된 “파이프” 기능이었는데, 이것 때문에 프로그램의 정보를 다른 프로그램에 쉽게 전달할 수 있다. 벨연구소의 맥일로이가 창안한 파이프라인의 개념은 차후 모든 유닉스 변종, 리눅스, 도스 및 윈도우를 비롯한 많은 운영체제에서 모방했다.

살루스의 말처럼 두 번째로 “와!”할만한 유닉스의 또 다른 강점은 유닉스가 100만 달러나 하는 메인프레임을 필요로 하지 않는다는 것이다. 유닉스는 작고 원시적인 DEC PDP-7 미니컴퓨터에 맞게 작성됐는데, 왜냐하면 이 시스템은 톰슨과 리치가 1969년 당시 그들의 손에 쥘 수 있는 전부였기 때문이다. 살루스는 “당시 PDP-7은 아무 것도 할 수 없는 시스템이었다”고 회상한다.

유닉스에 매혹되기는 다른 많은 이들도 마찬가지였다. 대학에서 연구하던 사람들도 우르르 몰려가 유닉스를 채택했다. 유닉스는 상대적으로 단순하고 쉽게 수정됐고, 시스템 요구사항도 높지 않았고, 소스코드가 기본적으로 자유롭다. 썬마이크로시스템즈 같이 새로 시작하는 회사나 멀티플로우 컴퓨터와 같이 과학적 컴퓨팅을 전문으로 했던, 이제는 없어진 많은 회사들도 동일한 이유로 유닉스를 자사의 운영체제로 선택했다.

원문보기 : http://www.idg.co.kr/newscenter/common/newCommonView.do?newsId=56522

jay_park@idg.co.kr

세계적인 IT 미디어 그룹 IDG에서 제공하는 뉴스입니다. 블로터닷넷과 IDG코리아(www.idg.co.kr)가 제휴를 맺고 블로터닷넷 독자여러분을 찾아갑니다. IDG가 제공하는 컨텐츠는 IDG의 저작권 정책에 따릅니다.