회원가입을 하면 원하는 문장을
저장할 수 있어요!
다음
AWS 이용 중이라면 월 최대 15% 할인받으세요
지금은 컴퓨터를 사용하는 데 있어서 윈도우 운영체제가 대세로 자리 잡았지만, 본래 대형 컴퓨터에서 중소형 컴퓨터에 이르기까지 컴퓨터 운영체제의 대명사는 유닉스였습니다. 그리고 유닉스 운영체제는 예전의 명성에 비할 바는 아니지만, 지금도 맥 OS, 서버 컴퓨터 시장 등에서 여전한 성능을 자랑하며 명맥을 유지하고 있습니다.
회원가입을 하면 원하는 문장을
저장할 수 있어요!
다음
회원가입을 하면
성장에 도움이 되는 콘텐츠를
스크랩할 수 있어요!
확인
지금은 컴퓨터를 사용하는 데 있어서 윈도우 운영체제가 대세로 자리 잡았지만, 본래 대형 컴퓨터에서 중소형 컴퓨터에 이르기까지 컴퓨터 운영체제의 대명사는 유닉스였습니다. 그리고 유닉스 운영체제는 예전의 명성에 비할 바는 아니지만, 지금도 맥 OS, 서버 컴퓨터 시장 등에서 여전한 성능을 자랑하며 명맥을 유지하고 있습니다.
1971년에 개발된 유닉스 운영체제는 이후에 만들어진 DOS나 윈도우, 리눅스 등의 현재 보편적으로 활용되는 운영체제에 지대한 영향을 미쳤습니다. 그렇기 때문에 유닉스는 지금껏 개발된 운영체제 중 가장 중대한 운영체제로 손꼽히고 있으며, 유닉스를 개발한 공로로 데니스 리치와 그의 동료 켄 톰슨은 IT분야의 노벨상으로 불리는 튜링상을 수상하기도 했습니다.
유닉스가 이전보다 완벽한 운영체제로 한 시대를 풍미하고 차세대 운영체제의 모태가 될 수 있었던 가장 큰 이유는 또한 데니스 리치가 C 프로그래밍 언어를 개발한 덕분이기도 합니다. 이전 프로그래밍 언어의 단점을 보완한 C언어는 현대 프로그래밍 언어의 인간 친화적인 고급스러움과 기존 프로그래밍 언어의 기능성과 단순성이라는 장점을 모두 갖춘 획기적인 언어였습니다.
우리가 일상에서 많은 소프트웨어, 애플리케이션을 통해서 유용함과 즐거움을 누리는 것은 모두 컴퓨터 프로그래머가 좋은 소프트웨어를 만들었기 때문인데, 개발자들이 질 높은 소프트웨어를 보다 적은 에너지와 단축된 시간으로 프로그래밍을 할 수 있는 것은 당연히 개발자가 활용할 수 있는 좋은 프로그래밍 언어가 있기 때문입니다.
그렇기 때문에 프로그래밍 언어는 컴퓨터라는 기계가 알아들을 수 있는 언어와 인간의 언어를 통역해주는 통역사의 역할을 한다고 할 수 있습니다. 유능한 통역사에 해당하는 프로그래밍 언어, 그리고 그 컴퓨터를 잘 구동하게 하는 탁월한 운영체제가 있기 때문에 컴퓨터는 우리 인간을 위해서 자신의 능력을 십분 발휘할 수 있는 것입니다.
데니스 리치는 그런 관점에서 볼 때 기계와 인간을 이어주는 유능한 통역사 혹은 그러한 통역자 역할을 하는 기술을 개발한 사람이라고 볼 수 있을 것입니다. 그러면 이렇게 IT혁명에 긍정적이고 지대한 영향을 미친 데니스 리치라는 사람과 그의 걸작인 C언어와 유닉스가 개발되기까지의 과정을 간단하게나마 한 걸음 더 들어가 살펴보도록 하겠습니다.
데니스 리치는 1941년 9월 9일 미국 뉴욕에서 출생했습니다. 아버지는 벨 연구소에서 교환시스템공학을 연구하는 사람이었습니다. 데니스 리치는 1963년 하버드 물리학과를 졸업하였고, 다시 응용수학을 공부하며 박사학위를 취득했습니다. 박사학위를 받은 논문의 주제가 기계가 할 수 있는 계산에 대한 것이었는데, 이것은 물론 컴퓨터의 핵심적인 개념에 해당하는 것이니 그가 컴퓨터 분야의 거물로 성장한 것은 당연한 수순이었습니다.
1967년부터 아버지의 길을 따라 벨 연구소에 입사하여 컴퓨터에 관한 연구를 지속했습니다.
벨 연구소에서 그는 매우 중요한 임무를 맡게 되었는데, 그것은 많은 사람이 동시에 접속하여 활용할 수 있는 컴퓨터 운영체제를 개발하는 프로젝트였습니다. 그전까지 컴퓨터는 데이터를 한 번에 모아서 처리하는 일괄처리 시스템으로 매우 비효율적이었습니다. 이러한 문제를 해결하기 위해서 GE와 MIT, 벨 연구소가 함께 공동으로 미 국방성의 지원을 받아서 새로운 기술을 개발하기로 한 것입니다. 이 프로젝트는 시분할 시스템의 개념을 현실화시켜서 수천 명이 동시에 각기 다른 단말기로 접속하여 각자 작업을 수행할 수 있는 운영체제를 개발하는 것이 핵심이었습니다.
이러한 시스템은 멀틱스(Multics, Multiplexed Information and Computing Service)라고 불렸으며, 데니스 리치 역시 연구실 동료 켄 톰슨 등과 함께 이 시스템을 개발하는 프로젝트에 참여하였습니다. 그런데 멀틱스는 애초에 설계했던 고급한 기능을 모두 구현하기에는 프로그램도 복잡하고 무거워지고 시간이 너무 많이 걸리면서 어느 정도 기술적인 성과는 있었지만 상용화하는 데는 실패하였습니다. 연구실에서는 중단한 이 프로젝트를 멀틱스의 매력에 깊이 빠졌던 데니스 리치는 포기할 수 없었습니다. 때마침 이 프로젝트의 중단에 아쉬움을 느꼈던 켄 톰슨이 스페이스 워라는 게임을 만들었는데, 이 게임을 사양이 낮은 컴퓨터에서도 사용할 수 있도록 만들기 위해서 멀틱스에서 활용되었던 기술을 적용하기 시작했습니다.
이러한 과정을 지켜보던 데니스 리치는 켄 톰슨과 함께 멀틱스의 본질적인 목적은 달성하면서도 멀틱스보다 획기적으로 가벼운 운영체제를 만들기로 의기투합하고 함께 개발에 돌입하였습니다. 연구소의 지원을 받지 못하는 두 사람의 비밀스러운 도전은 저사양의 PDP-7이라는 컴퓨터로 밤을 지새우면서 작업을 해야 하는 지난한 과정을 요구했습니다. 세상에 없는 새로운 운영체제를 만들기 위한 두 사람의 치열한 행군은 2년 여가 지나자 조금씩 결실을 보기 시작했습니다. 그리고 마침내 벨 연구소에서도 두 사람이 만들어낸 놀라운 작품을 시연해보고는 실제로 사용하기 시작했고, 점차 벨연구소의 모든 컴퓨터는 이 새로운 운영체제를 사용하였습니다. 그리고 두 사람은 이 새로운 운영체제에 유닉스(UNIX)라는 이름을 붙였습니다.
어셈블리어로 만들어진 UNIX는 그 성능과 효율성을 입증받았지만, 한편으로는 기존 프로그래밍 언어의 한계로 인해서 새로운 컴퓨터에 설치할 때마다 프로그램 코드를 수정해야 하는 어려움을 여전히 갖고 있었습니다. 여기에 답답함을 느낀 데니스 리치는 모든 컴퓨터에 공통적으로 사용할 수 있는 프로그래밍 언어를 개발하겠다는 결심을 하게 됩니다.
당시 가장 많이 활용되었던 프로그래밍 언어는 1969년 스위스의 컴퓨터 공학자 니클라우스 비르트(Niklaus Wirth) 교수가 만든, 철학자의 이름을 따서 명명한 파스칼이었습니다. 이 파스칼 언어는 다른 말로 간략하게 A라고 불렸습니다. 벨 연구소의 켄 톰슨은 A언어를 바탕으로 해서 새로운 프로그래밍 언어를 만들었는데 이것은 B라고 불렸습니다.
데니스 리치는 파스칼과 연구실 동료 켄 톰슨의 B언어를 바탕으로 보다 효율적인 언어를 만들어 나갔습니다. 새로운 언어는 사람들이 직관적으로 보다 이해하기 쉬운 고급 언어이면서 훨씬 더 단순한 방식으로 프로그래밍할 수 있는 혁신적인 언어였습니다. 1973년 완성된 이 프로그래밍 언어는 B를 잇는다는 뜻에서 C라고 이름 붙여졌습니다.
데니스 리치는 C언어를 개발한 후 유닉스의 핵심적인 부분이라고 할 수 있는 커널을 이 새로운 언어로 프로그래밍하였습니다. 기계어에 보다 가까운 어셈블리 언어가 아닌 사람의 언어에 가까운 고급 프로그래밍 언어로 운영체제를 만든 것입니다. 이때부터 유닉스는 그 성능에 날개를 달게 되었고 최고의 운영체제로 명성을 떨치며 세간의 칭송을 받게 되었습니다.
유닉스는 1970년대 중반부터 미국 대학교의 주요 컴퓨터 시스템에 활용되었고, 1980년대부터는 학원을 넘어 모든 공공기관의 운영체제 표준으로 자리 잡으며, 전 세계적으로 퍼져나갔습니다.
한편 데니스 리치가 개발한 C언어는 운영체제의 혁명인 유닉스 이상으로 성공을 거두었으니 모든 컴퓨터 시스템 개발, 응용 소프트웨어 개발에 활용되면서 세계적인 표준 프로그래밍 언어가 되었습니다. 이것은 비유하자면 컴퓨터 분야에 세계 공용어가 탄생했다고도 볼 수 있는 대단한 성과인 것입니다. 그리고 데니스 리치는 이 고난의 결실을 모두가 즐기고 발전시킬 수 있도록 학술계를 중심으로 세상에 그 기술을 공개하였습니다.
물론 데니스 리치의 이러한 선의를 이윤을 원하는 사람들이 유닉스를 상업적인 용도로 전환하여 개발하고 판매하면서 그 뜻이 퇴색되기는 하였지만, 그의 정신은 리처드 스톨만, 리누스 토발즈의 리눅스 프로젝트와 같은 자유 소프트웨어 운동으로 이어지면서 지금까지도 그 빛을 발하고 있습니다. 2011년, 생을 마감한 데니스 리치는 생전에 자신의 뜻이 일부 훼손되고 유닉스가 새로운 운영체제에 밀려 역사의 뒤안길로 그 존재감이 희미해져 가는 것을 목도해야 했지만, 그가 남긴 지극히 효율적인 운영체제와 프로그래밍 언어 개발이라는 성과는 지금까지 전설적인 IT업계의 유산으로 힘을 발휘하고 있습니다.