메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

유닉스의 탄생

세상을 바꾼 운영체제를 만든 천재들의 숨은 이야기

한빛미디어

번역서

판매중

  • 저자 : 브라이언 커니핸
  • 번역 : 하성창
  • 출간 : 2020-08-03
  • 페이지 : 328 쪽
  • ISBN : 9791162243282
  • 물류코드 :10328
초급 초중급 중급 중고급 고급
4.7점 (18명)
좋아요 : 4

브라이언 커니핸이 들려주는

UNIX의 탄생과 발전 과정, 천재 개발자와 기여자들의 이야기

 

이 책은 유닉스의 역사를 기록한 책이자 유닉스 개발 현장에 있던 이들의 회고록이다. 유닉스가 무엇인지, 어떤 이유로 개발되었는지, 어떤 과정을 거쳐 발전했는지 꼼꼼하게 기록했다. 동시에 무한한 창조성을 발휘하며 수많은 가능성에 도전한 천재들의 이야기와 자유로운 연구 환경을 제공한 벨 연구소 현장도 생생하게 담았다. 이 책을 읽으며 새로운 것을 창조하고 더 나은 세상을 만드는 일의 기쁨을 함께 느껴보길 바란다. 

 

 

[책 속에서]

 

“내가 기억하는 바로는 켄, 데니스, 피터 노이만을 포함한 무리와 내가 사무실 입구에 서서 이야기하던 것으로 시작한다. 그때는 시스템에 이름이 없었기에 (내 기억이 맞는다면) 내가 라틴어 어근에 기반을 두고 멀틱스가 ‘모든 기능을 많이’ 제공하는 반면, 새로운 시스템은 어떤 기능을 기껏해야 하나 제공하므로 ‘UNICS’라고 불러야 된다고 했는데, 이는 ‘multi’를 ‘uni’로 바꾼 말장난이었다.”

__ 이름의 유래 / 83쪽

 

“유닉스 방은 그냥 재미있는 곳이었고, 항상 무슨 일이 벌어졌다. 거의 유닉스 방에서만 일하고 사무실은 좀처럼 쓰지 않는 사람도 있었고, 커피를 마시거나 대화를 나누러 하루에 몇 번씩 들르는 사람도 있었다. 동료가 무슨 일을 하는지 서로 알게 되고 공동체 의식을 키우고 유지하는 데 유닉스 방은 그야말로 엄청나게 중요한 역할을 했다.”

__ 유닉스 방 / 104쪽

 

“C 언어가 등장하면서 운영체제 전체를 고수준 언어로 작성할 수 있게 됐다. 1973년에는 유닉스를 원래 어셈블리어 형태에서 C 언어로 바꿔서 작성하는 작업이 완료됐다. 이 덕분에 시스템을 유지 보수하고 수정하기가 훨씬 용이해졌다. 또한 더 큰 진보는 운영체제를 원래 PDP-11 컴퓨터에서 다양한 아키텍처 기반의 다른 컴퓨터로 옮기는 일, 즉 이식(porting)이 가능해진 것이다. 시스템 코드 대부분이 C 언어로 작성됐으므로 운영체제를 이식하는 작업에는 C 컴파일러를 이식하는 것 이외에 많은 일이 필요하지 않았다.”

__ 인물 탐방: 데니스 리치 / 117쪽

 

더글러스는 매우 뛰어난 기술 평론가고, 새로운 프로그램이나 아이디어를 종종 처음으로 시도해보는 사람이다. 그는 가능한 한 일찍 프로그램이나 아이디어를 시험해봤고, 안목이 높았다. 덕분에 어떤 점이 좋고 어떤 부분을 수정해야 하는지 알려주는 그의 의견은 헤아릴 수 없을 만큼 귀중했다. 아이디어, 알고리즘, 프로그램, 문서에 이르기까지 거의 모든 것에 대한 조언이나 비평을 구하려고 그의 사무실을 찾는 사람들의 발걸음이 끊이지 않았다. 비야네 스트롭스트룹은 먼저 내 사무실에 잠깐 들러서 C++에 대해 논의하고 새로운 아이디어를 설명한 다음, 복도를 따라 몇 칸 옆에 있는 더글러스의 사무실로 가서 언어 설계에 대한 진지한 피드백을 받기도 했다.

__ 인물 탐방: 더글러스 매클로이 / 162쪽

 

벨 연구소의 조직 크기와 연구 규모는 어떤 기술 영역에든 다수의 전문가가 있고 그들이 종종 각 분야에서 세계를 선도하는 연구자였음을 방증했다. 게다가 연구소의 문화는 매우 협조적이고 서로 돕는 분위기였다. 누군가의 사무실에 걸어 들어가서 도움을 요청하는 것은 지극히 통상적인 절차였다. 거의 대부분의 경우 요청 받은 사람은 발 벗고 나서서 도움을 줬다. 최상급 기술 도서관도 있었는데, 하루 종일 열려 있었고 매우 다양한 저널을 구독했으며 다른 도서관에 원격으로 접근할 수 있었다. 대학교 도서관과 유사하지만 과학과 기술에 초점을 맞춘 도서관이었다.

__ 협력하는 환경 / 305쪽

 

 

[추천사]

 

“유닉스는 리눅스와 C 언어 등 수많은 운영체제와 프로그래밍 언어, 소프트웨어의 기반입니다. 그런데 이렇게 중요한 유닉스의 역사에 관해 다루는 책은 놀랍게도 국내에 별로 없었습니다. 이제 이 책 덕분에 국내 개발자들이 유닉스의 기원과 유닉스를 만든 사람들, 그 시기의 상황 등을 모두 살펴볼 수 있게 되었습니다. 유닉스 운영체제의 역사와 흐름을 이해하는 것은 앞으로 컴퓨팅의 세계가 어디로 어떻게 나아갈 것인지 생각해보는 데도 중요한 시사점을 던져줍니다. 이 책이 번역되어 정말 기쁩니다.”

__권순선, 리눅스/오픈소스 커뮤니티 KLDP 설립자, 구글 글로벌 머신러닝 생태계 프로그램 리드

 

“유닉스를 만든 걸출한 천재들과 역사적 시공간을 함께 했던 브라이언 커니핸은 Awk, AMPL 등을 설계한 훌륭한 컴퓨터 과학자이며, 『C 언어 프로그래밍』의 공동 저자이다. 그는 유닉스의 요람이었던 벨 연구소에서, 역사적 탄생을 목도하며 느꼈던 감동을 담담하고 유쾌하게 펼쳐냈다. 과장하지 않으면서도 위트 있는 글 덕분에 역사적 인물들이 한층 더 가깝게 느껴진다. 잘 알려지지 않은 수많은 비화는 흥미를 더한다. 지하철에서 버스에서 혹은 커피숍에서 한 호흡에 읽을 수 있을 만큼의 내용과 재미를 가진 책이다. 이 책을 읽는 동안 켄 톰프슨을 동료로 데니스 리치를 선배로 둔 벨 연구소의 연구원이 된 듯한 기분 좋은 환상에 취할 수 있을 것이다.”

__김명신, 한국마이크로소프트 이사

 

“이 책은 처음부터 끝까지 한 호흡에 읽어버릴 만큼 재미있고 흥미로운 이야기로 가득 차 있습니다. 특히, 유닉스의 태동이 시작된 벨 연구소 이야기는 너무나도 신기합니다. 적재적소에 인재가 등장해 필요한 무엇인가를 만들어내고, 서로의 성과를 자랑하며 발전해나가는 모습은 컴퓨터 천재들이 만들었던 초기 해커 문화를 그대로 보여줍니다.

이 책을 읽으며 유명한 천재 개발자 데니스 리치, 켄 톰프슨과 저자 브라이언 커니핸의 이야기 외에도 더글러스 매클로이와 리 맥마흔 등 숨은 조연들의 노고를 확인할 수 있어 좋았습니다. 또한 유닉스 커널뿐만 아니라, 유닉스를 유닉스답게 만드는 여러 도구가 어떤 고민을 거쳐 만들어졌는지 생생하게 느낄 수 있어서 좋았습니다.

현대 컴퓨터 하드웨어와 소프트웨어는 정말 빠른 속도로 성장하고 있습니다. 이 책에 등장하는 여러 천재들이 고민하며 만든 결과물이 없었다면, 아마 지금과는 다른 모습으로 성장했을지도 모릅니다. 작금의 컴퓨터 환경이 어떻게 시작되었는지, 또 앞으로 어떻게 발전해갈지 궁금하다면, 이 책을 읽으며 작은 단서를 찾아보길 바랍니다.”

__윤종민, GNU 프로젝트 활동가

 

“벨 연구소는 ‘70년대의 구글’, 아니 그 너머에 있는 존재다. 소위 ‘유닉스 방’에 모인 천재와 그 동료들은 열정과 우정이 가득한 분위기 속에서 운영체제와 프로그래밍 언어의 역사를 바꾼 유닉스와 C 언어를 창조했다. 50살이 넘은 유닉스와 그 진화적 후손들(BSD와 Darwin, 30살의 젊은 리눅스)은 현재 구글, 아마존의 대형 서버뿐 아니라, 손안의 작은 스마트폰 속에 자리 잡고 인류를 ‘포위’한다. 세계를 정복하리라 확신하던 MS 윈도우만이 오히려 개인용 PC에 갇혀 있는 상황이다.

천재들과 같은 건물, 같은 유닉스 방에서 함께 했던 저자는, 그토록 아름답고 유쾌했던 연구 분위기와 유닉스 같은 창조물이 다시 나올 수는 없을 거라며 아쉬워하는 한편 은근히(?) 자부심을 드러내기도 한다. 유닉스 핵심 개념과 명령을 모두 알고 있다고 자부하던 본인도, 벨 연구소 천재들이 그 하나하나를 얼마나 어렵게 혹은 얼마나 기발하게 만들어나갔는지, 서로가 어떻게 연관되는지 알아가는 재미에 밤새 미소 짓고 맞장구치며 읽었다. 나이 든 C 프로그래머들의 ‘영원한 선생님’이기도 한 저자가 다시 한번 유닉스 신화로 우리에게 찾아왔다. 과연 벨 연구소의 인간적 신화의 시대가 다시 올 수 있을까? 내 대답은 100% 저자와 같다.”

__이만용, 오픈소스놀리지(주) 대표

 

“이 아름다운 책은 데니스 리치와 브라이언 커니핸이 쓴 『C 언어 프로그래밍』에 버금가는, 모든 개발자를 위한 필독서다. 나는 이 책을 읽는 동안 5년간 일했던 뉴저지 벨 연구소 캠퍼스 풍경 속으로 돌아가 가물거리던 유닉스와 C를 눈앞에 떠올렸다. 이 책은 첫 장을 펼치면 마지막 장을 덮을 때까지 아무것도 할 수 없는 엄청난 마력을 가진 책이다. 번역의 품질도 탁월하다. 내가 언젠가 다시 책을 쓸 때, 브라이언 커니핸이 이 책에서 보여준 풍부한 사료, 흥미로운 스토리, 기술적 깊이, 간결하고 흡입력 있는 문체의 반이라도 따라갈 수 있다면 좋겠다. 모든 개발자에게 일독을 권한다.”

__임백준, 삼성리서치

저자

브라이언 커니핸

벨 연구소 유닉스 개발팀의 일원이며, 30년 동안 벨 연구소의 컴퓨팅 과학 연구 센터에서 일했다. 스크립트 언어인 Awk와 모델링 언어인 AMPL을 공동 개발했고, 문서 조판용 도구를 포함하여 다양한 유닉스 프로그램을 만들었다. 토론토 대학교에서 기초공학 학사 학위를, 프린스턴 대학교에서 전기공학 박사 학위를 받았다. 2000년부터 현재까지 프린스턴 대학교의 컴퓨터 과학과 교수로 재직 중이다. 『C 언어 프로그래밍』(휴먼싸이언스, 2016)과 『프로그래밍 수련법』(인사이트, 2008) 등 십여 권의 IT 서적을 공동 집필했다. 이외 저서로 『Hello, Digital World』(제이펍, 2017)가 있다.

역자

하성창

고려대학교 컴퓨터학과를 졸업했다. 삼성전자에서 소프트웨어 개발자로 일하면서 TV 및 셋톱박스용 소프트웨어 개발 프로젝트에 참여했다. 이후 LG전자에서 테크니컬 라이터로 일하면서 시스템 온 칩, 웹 엔진, 소프트웨어 플랫폼 관련 기술 문서를 작성했고, webOS 기반 오픈 소스 프로젝트용 개발자 사이트를 만드는 데 주도적인 역할을 했다. 지금은 매스웍스(MathWorks) 코리아에서 로컬라이제이션 전문가로 일하고 있다. 『Hello, Digital World』(제이펍, 2017)를 번역했다.

1장 벨 연구소

__ 벨 연구소의 자연과학 연구

__ 통신 기술과 컴퓨터 과학

__ 벨 연구소로 향하다

__ 사무실의 이웃들

__ 137 → 127 → 1127 → 11276

 

2장 유닉스 프로토타입(1969)

__ 약간의 기술적 배경

__ CTSS와 멀틱스

__ 유닉스의 기원

__ 이름의 유래

__ 인물 탐방: 켄 톰프슨

 

3장 유닉스 제1판(1971)

__ 특허출원서 생성용 유닉스

__ 유닉스 방

__ 유닉스 프로그래머 매뉴얼

__ 메모리에 대한 몇 가지 이야기

__ 인물 탐방: 데니스 리치

 

4장 유닉스 제6판(1975)

__ 파일 시스템 

__ 시스템 호출

__ 셸 

__ 파이프

__ grep

__ 정규 표현식 

__ C 프로그래밍 언어

__ 소프트웨어 도구와 랫포

__ 인물 탐방: 더글러스 매클로이

 

5장 유닉스 제7판(1976~1979)

__ 본 셸

__ Yacc, Lex, Make

__ 문서 생성 

__ Sed와 Awk

__ 다른 언어들

__ 다른 기여들

 

6장 연구소를 넘어서

__ 프로그래머 워크벤치

__ 대학교용 라이선스

__ 사용자 그룹과 유즈닉스

__ 존 라이언스의 해설서

__ 이식성

 

7장 사업화

__ 기업 분할

__ USL과 SVR4

__ UNIXTM

__ 홍보 활동

 

8장 후손

__ BSD

__ 유닉스 전쟁

__ 미닉스와 리눅스

__ 플랜 9

__ 해산

 

9장 유산

__ 기술 측면

__ 조직 측면

__ 인정과 평가

__ 역사는 반복될 수 있을까?

출판사 리뷰

 

2019년은 유닉스가 태어난 지 50년이 되는 해였습니다. 이를 맞아 저자인 브라이언 커니핸은 벨 연구소에서 유닉스의 탄생과 발전, 번성과 쇠퇴를 지켜본 유닉스 역사의 산증인으로서, 각종 자료에서 수집한 사실과 더불어 자신의 회상을 담아 이 책을 발표했습니다. 

저자는 먼저 유닉스가 만들어지기 전 벨 연구소를 둘러싼 시대적 배경을 소개하고, 벨 연구소 조직 구조와 평가 체계처럼 잘 알려지지 않은 사실을 알려줍니다. 다음으로 두 인물, 켄 톰프슨과 데니스 리치를 중심으로 유닉스가 만들어지는 과정에 주목하며, 두 사람의 천재성이 어떻게 기존 기술을 한 차원 끌어올려서 운영체제의 정수를 빚어냈는지 보여줍니다. 이어서 유닉스 개발팀 관리자이자 숨은 공로자인 더그 매클로이를 재조명합니다. 위대한 업적을 일구는 데 훌륭한 멘토의 역할이 얼마나 중요한지 새삼 일깨워주는 대목입니다. 

이외에도 저자를 비롯한 조연들이 유닉스를 필두로 한 컴퓨터 기술 발전에 어떻게 기여했는지 많은 일화와 함께 소개합니다. 사실 말이 조연이지 컴퓨터 과학 분야에서 모두 쟁쟁한 인물들이라, 한 명씩 검색해보며 읽는 것도 의미 있을 것입니다.

(...)

벨 연구소 유닉스 개발팀처럼 우애 넘치고 자유로운 환경이 현실에서는(특히 요즘같이 경쟁적인 환경에서는) 매우 드물다는 점을 저는 잘 알고 있습니다. 그래도 가끔은 유닉스처럼 세대를 뛰어넘는 결과물을 낳은 이야기에서 교훈을 얻고 이상을 꿈꾸는 것도 필요하다고 봅니다. 소프트웨어 개발을 지망하는 학생부터 유닉스 시절에 대한 향수가 있는 분들까지 이 책을 재미있게 읽으셨으면 합니다. 

- 옮긴이의 말 중에서

  • ‘내 직업의 역사서’ - 유닉스의 탄생

    나는 첫 회사에서 AIX를 다뤘다. AIX는 IBM의 UNIX 운영체제이고, 지금도 많이 사용하고 있는 UNIX OS 중 하나이다. 아무것도 모르는 쌩 신입 상태에서 처음 받은 일이 OS의 불필요 로그 삭제였던 것으로 기억한다. 당시 매주 시스템 정기 배포를 진행했는데 배포 시점에 서버에 시스템 코드를 배포하고 불필요하게 자원을 차지하는 로그파일 같은걸 삭제하는 일이었다. 내가 입사하기 전까지 이런 로그파일을 매번 사람의 손을 통해 삭제했고 나는 선배가 하던 일을 인계받아서 해야 했다. 사람의 손이 타는 일을 어떻게 자동화시킬 수 있을까 궁리했고, cron과 ksh을 사용하여 로그파일을 특정 시간에 삭제해주는 스크립트를 만들어서 해결했던 기억이 난다. 당시 UNIX는 DOS와 다를 게 없어 보였고 터미널 앞에서 뭘 해야 하는지 막막했다. 선배가 알려준 vi와 hjkl 방향키만으로 겨우 일을 처리할 수 있는 정도에서 cron과 쉘을 사용해서 끙끙거리며 간단한 프로그램을 만들고 나서 뿌듯한 기분이 들었으니 말이다. 내가 운영하는 시스템은 Java 언어 기반의 웹 서비스였지만 생각보다 UNIX와 가까이할 일이 많았다. 서비스 구동부터 OS 상태 체크, 간단한 스크립트 작성까지 이것저것 할 일이 많았는데 그럴 때마다 grep, awk 등의 프로그램을 사용하기 위해 man 명령을 수도 없이 타이핑했다. 자주 사용하지 않지만 UNIX는 나와 가까운 곳에 있었고 유명한 명령어나 VIM 같은 프로그램은 어쭙잖게 사용하곤 했다.

    이 책은 유닉스의 회고록이다. 저자는 벨 연구소에서 유닉스 이전, 탄생, 이후 발전을 함께했고 awk라는 훌륭한 프로그램을 개발하기도 했다. 내가 사용하는 프로그램을 개발한 사람이 쓴 책이라니, 궁금하지 않을 수 없었다. 그리고 이 책에 등장하는 인물들은 프로그래머라면 여러 번 들어본, 이른바 네임드(named)들이다. 데니스 리치, 켄 톰슨, 비야네 스트롭 스트룹, 저자인 브라이언 커닝핸까지. 이들이 어떤 생각을 가지고 어떤 방식으로 일했는지 이 책을 읽으며 간접적으로 경험하고 나는 어떤 마음가짐을 가져야, 어떻게 일해야 좋은 엔지니어가 될까라는 고민도 해볼 수 있었다. 그리고 벨 연구소에 대해 잘 알진 못해도 이따금 들어왔는데 현세대에 많은 영향을 끼친 프로그래밍 언어인 C/C++을 비롯해서 컴퓨터의 역사의 많은 부분을 벨 연구소가 함께했기 때문이다. 나 역시 ‘도대체 벨 연구소가 어떤 곳이야?’라고 궁금해질 때도 있었지만 2020년을 살아가는 사람에게 그 시절은 먼 이야기이다. 이 책을 읽으며 찬란한 컴퓨터의 발전시기의 벨 연구소를 간접적으로나마 체험할 수 있었다. UNIX라는 이름의 유래부터 왜 운영체제를 만들었고, 어떻게 세상을 지배하게 되었는지 한 사람의 프로그래머로서 책의 모든 부분이 마치 삼국지를 읽는 것처럼 흥미로웠다.

    아, 커버의 아스키 아트가 정말 마음에 든다.

     

     

  • 유익하다. 한 달쯤 전에 C언어 입문 시작 중 우선 gcc 다운을 하라는 포스팅을 봤다. gcc가 뭔지, GNU가 뭔지 몰랐다. 이들의 존재이유가 뭔지 귀찮게 구글 서치하기 싫었다. 운영체제의 토양 격인 유닉스랑 gcc랑 gnu랑 C언어랑 다 연관 있는 거였다. 이 책 읽으면 이런 것들의 출현 배경에 관한 간단한 지식을 쉽게 딸 수 있다. unix가 탄생한 bell lab이라는 전자통신 회사 소속인 혁신적 연구소에 관한 역사책 같기도 하고, 재밌게 알 수 있다. 

  • 유닉스의 탄생

    대부분 사람들은 컴퓨터를 사용할 때 윈도우를 많이 사용할 것이다.

    하지만 서버 대부분은 리눅스나 유닉스로 되어 있을 것이다.

    세상에는 우리도 모르게 사용되는 유닉스 기반의 운영체제들로 가득하다.

    특히 이 운영체제를 만들고, 옆에서 지켜본 분들의 책이라서 흥미가 많이 있었다.

     

    항상 리눅스를 쓰면 명령어 익숙하지 않고 맨날 찾고 헤메지만, 좋은 운영체제라는 것을 느끼고 있다.

    특히 클라우드로 넘어가면서 리눅스는 필수 운영체제로 좀 더 많은 사람들이 사용하는 운영체제가 되고 있다.

     

    이런 시작을 볼 수 있는 책이라서 많은 흥미를 가지고 본 책이 되겠다.

    좋은 조직문화가 좋은 SW 만드는게 아닐까 하는 생각이 많이 들었던 책이다.

  • 시스템을 사용할 수 있고 어떻게 사용할 수 있는지 관리하므로 즉 운영체제는 컴퓨터 시스템을 관리하는 보스의 역할이 운영체제인데요. 많은 종류의 운영체제 중에서 다수의 사람이 공부하고 알고 있는 유닉스의 탄생에 대한 이야기를 담고 있는 저서가 있습니다.

     

    '유닉스의 탄생' 저서는 UNIX의 탄생과 발전 과정들을 브라이언 커니핸이 들려주는 이야기 형식과 비슷합니다. 처음에는 유닉스가 탄생한 장소 벨 연구소에 대한 내용을 들려줍니다. 저자인 브라이언 커니핸이 30년 동안 벨 연구소의 컴퓨팅 과학 연구 센터에서 일을 하면서 있던 일들을 소설책을 읽듯이 담아내고 있습니다. 그들만의 공간에서 그들만이 알고 있는 과거 이야기들을 제3자인 독자들에게 공개함으로써 역사적 순간들을 볼 수 있는 기회입니다.

     

    전체적으로 유닉스에 대한 내용을 연대적으로 나열된 느낌도 있습니다. 또한, 컴퓨터, 하드웨어, 소프트웨어, 운영체제, 프로그래밍, 프로그래밍 언어에 대한 입문 수준에서 간략한 설명들이 있어서 IT업계에서 일하고 준비하는 비전공자들에게도 알찬 정보들을 제공합니다.

     

    유닉스의 역사를 기록한 저서이자 유닉스 개발 현장에 있던 이들의 회고록인 만큼 유닉스가 무엇인지? 어떤 이유로 개발되었는지? 어떤 과정으로 거쳐 발전했는지 꼼꼼하게 기록되어 있습니다. 그리고 유닉스의 내용뿐만 아니라 널리 알고 있는 프로그래밍 언어 중 하나인 C언어에 대한 이야기로 같이 다루고 있습니다. 

     

    유닉스 이름의 유래에 관해서 이야기하면 초창기엔 PDP-7 운영체제에 이름 생겼는데요. 바로는 켄, 데니스, 피터 노이만을 포함한 무리와 내가 사무실 입구에 서서 이야기하던 것으로 시작합니다. 저자는 시스템에 이름이 없었기에 라틴어 어근에 기반을 두고 멀틱스가 '모든 기능을 많이' 제공한 반면, 새로운 시스템은 어떤 기능을 기껏해야 하나 제공하므로 ‘UNICS’라고 불러야 한다고 했는데, 이는 ‘multi’를 ‘uni’로 바꾼 말장난이었습니다. UNICS는 어떤 이유에서인지 Unix로 변형되었습니다. 소문상의 유닉스로 바뀐 내용은 저서에 담겨 있습니다.

     

    그들만의 알고 있는 이야기들을 들려줍니다. 그 과거를 회상하게 한 상황마다 유닉스의 탄생 배경을 알아가고 사용하는 기술의 진화 과정을 이해할 수 있습니다. 그리고 기술을 어떻게 개발하고 어떤 방향으로 발전시킬지 결정한 것은 모두 실존 인물들이 있습니다. 이 저서에서 가장 큰 매력은 기술을 개발한 사람들에 대한 이야기들을 인물탐방 주제로 곳곳에서 만나 볼 수 있습니다. 

     

    그중에서 2019년 5월 켄 톰프슨와 뉴저지 월 타운십에서 열린 미 동부 빈티지 컴퓨터 축제에서 허물없이 나눈 대화 내용을 유튜브(https://www.youtube.com/watch?v=EY6q5dv_B-o)에서 볼 수 있습니다. 저서에 켄 톰프슨, 데니스 리치, 더글러스 매클로이 등 다양한 사람들을 만나볼 수 있습니다.

     

    파일 시스템, 시스템 호출, 셸, 파이프, 정규 표현식 등 개발하게 된 이야기들이 나와서 흥미롭습니다. 과거와 현재의 간극을 좁히는 데 도움이 될 것입니다. 이 저서는 개발 과정의 일기장을 보는 것처럼 새로운 기술을 창조하고 수많은 가능성에 대해서 도전한 개발자들의 이야기와 연구 환경, 상황 등 이야기들을 볼 수 있습니다.

  • 이번 도서는 유닉의탄생. 유닉스는 수많은 운영체제와 프로그래밍언어, 소프트웨어 의 기반이다. 이책은 유닉스 운영체제의 역사와 흐름을 이해하기 좋은 도서이다. ​ 각을잡고 공부하면서 보는 책이 아닌 카페나 이동하면서 그냥 재밌는소설을 읽듯이 흐름대로 읽기좋은 책이다. ​ ​ 내용은 이렇다 유닉스가 만들어지기전 벨연구소부터 켄톰프슨과 데니스리치를 중심으로 유닉스가만들어지는 과정, 더그매클로이를 재조명한다. 그 외에도 저자를 비롯한 다른 사람들이 유닉스로 한 컴퓨터기술발전에 어떤기여를 했는지 많은 일화와 함께 소개하고 끝으로 다른 운영체제로 파생되고 진화하면서 쇠락의 길이 접어드는 과정을 설명하면서 끝이난다. ​ 대학교때도 유닉스는 서버용으로만 한두번 본것같은 기억이난다. 윈도우로만 할줄알았지 기반이 유닉스라는 것도 아마 몰랐던거 같다. ​ 책을 읽으면서 책속의 장면이 상상되기도 하고 이해가 되기도 하고 그랬다. IT업계에서 일하는 사람들은 꼭 한번 봤응면 좋을것 같은 책이다. ​ 프로그래밍을 조금이라도 배웠다면 잘 이해할수있을거고, 아니어도 대략적인 흐름을 이해할 수있으니 유닉스의 역사를 알고싶은 일반인이나 프로그래밍 하는사람에게 추천한다.

  • 지금 이렇게 노트북을 이용해서 블로그에 글을 올릴 수 있는 것도, 스마트폰으로 카톡을 할 수 있는 것도 기반에는 운영체제가 있기 때문에 가능한 것입니다.

    우리가 대부분 컴퓨터에서 주로 사용하고 있는 윈도우 운영체제는 1985년에 갓 개발되었습니다.

    그렇다면 운영체제의 아버지라 불리는 유닉스는 어떨까요, 무려 1969년입니다.  

    유닉스가 낯설다면 공개 운영체제인 리눅스는요? 안드로이드는 잘 아시지 않나요?

    다 유닉스로부터 파생된 운영체제입니다. 

     

    제가 이번에 읽은 책은 유닉스를 개발한 벨 연구소에 재직했던 저자 '브라이언 커니핸'이 직접 보고 듣고 겪었던 벨 연구소의 연구원들, 유닉스를 비롯하여 세상을 바꿀 컴퓨터 기술들과 이를 개발한 천재들의 이야기를 생생하게 풀어낸 책입니다.

     

    책의 목차는 다음과 같습니다.

    1장. 벨연구소

       - 벨 연구소의 자연과학 연구

       - 통신 기술과 컴퓨터 과학

       - 벨 연구소로 향하다

       - 사무실의 이웃들

       - 137->127->1127->11276

     

    2장. 유닉스 프로토타입(1969)

       - 약간의 기술적 배경

       - CTS와 멀틱스

       - 유닉스의 기원

       - 이름의 유래

       - 인물 탐방 : 켄 톰프슨

     

    3장. 유닉스 제1판(1971)

       - 특허출원서 생성용 유닉스

       - 유닉스 방

       - 유닉스 프로그래머 매뉴얼

       - 메모리에 대한 몇 가지 이야기

       - 인물 탐방 : 데니스 리치

     

    4장. 유닉스 제6판(1975)

       - 파일 시스템

       - 시스템 호출

       - 셸

       - 파이프

       - grep

       - 정규 표현식

       - C 프로그래밍 언어

       - 소프트웨어 도구와 랫포

       - 인물 탐방 : 더글라스 매클로이

     

    5장. 유닉스 제7판(1976~1979)

       - 본 셸

       - Yacc, Lex, Make

       - 문서 생성

       - Sed와 Awk

       - 다른 언어들

       - 다른 기여들

     

    6장. 연구소를 넘어서

       - 프로그래머 워크벤치

       - 대학교용 라이선스

       - 사용자 그룹과 유즈닉스

       - 존 라이언스의 해설서

       - 이식성

     

    7장. 사업화

       - 기업 분할

       - USL과 SVR4

       - UNIX

       - 홍보 활동

     

    8장. 후손

       - BSD

       - 유닉스

       - 미닉스와 리눅스

       - 플랜 9

       - 해산

     

    9장. 유산

       - 기술 측면

       - 조직 측면

       - 인정과 평가

       - 역사는 반복될 수 있을까?

     

     

     

    1장 '벨연구소'는 책의 지은이인 브라이언 커니헨이 실제 30년간 벨 연구소에 재직하면서 연구소의 환경과 연구 문화, 구성원들에 대하여 길지 않게 언급하고 있습니다. 기본적으로 벨 연구소는 박사과정을 밟은 사람들이 연구원이고, 각 연구원들별로 다양한 관심분야를 전문적으로 연구를 하기 때문에 다양한 분야에서의 성과를 낼 수 있었다고 합니다.

     

    2장은 '유닉스 프로토타입'에 대해서 다루고 있습니다.

    1960년대까지만 해도 당시에 운영체제가 각 컴퓨터 제조업체별로 특정 종류의 하드웨어에 종속되는 어셈블리어로 작성되었기 때문에, 시스템들간 공통성이 부족하고 하나의 운영체제 위에 작성된 프로그램을 다른 운영체제, 아키텍처(다른 컴퓨터)에서도 작동을 시키려면 아예 처음부터 다시 작성해야 하는 일도 부지기수였다고 한합니다.

    즉, 이식성이 굉장히 떨어졌다고 합니다.

    대신, 유닉스는 모든 종류의 하드웨어를 커버하는 동일한 운영체제를 제공하고, 고수준 언어로 재작성되어 프로그램 이식성이 좋은 운영체제입니다.

     

    유닉스가 탄생하기 전 운영체제의 발전에 대해서도 책에서는 어렵지 않게 설명하고 있습니다. 

    1960년대 이전 천공카드를 이용한 '일괄처리'에서, 1960년대 초 MIT에서 만든 전화선으로 연결하여 타자기처럼 생긴 장치에 탑재되는 '시분할처리' CTSS로 발전하여 사용자 전환이 빠르고 다른 사용자들이 있더라도 컴퓨터를 전용으로 사용하고 있는듯한 쾌적함과 높은 생산성이 있었습니다. 1964년~1969년에 이를 발전시켜 MIT 연구자들(벨 연구소 연구원들도 포함)이 '멀틱스(Multics)' 운영체제를 만들었는데, 멀틱스는 어셈블리어 수준으로 쓰여진 다른 운영체제와는 다르게 고수준 언어인 PL/I로 작성하고자 한 운영체제였습니다. 그러나, CTSS에서 발생한 많은 이슈들을 해결하려다 보니 멀틱스는 너무 복잡하고 비싼 운영체제가 되었습니다. 이 멀틱스의 복잡성에 대한 반작용으로 유닉스라는 작고 효율적인 운영체제가 탄생할 수 있었다고 책에서는 설명하고 있습니다.

     

    유닉스는 켄 톰프슨이 1969년, DEC 회사에서 제작한 PDP-7 컴퓨터기종의 디스크 드라이브의 처리율을 극대화하기 위한 '디스크 스케줄링 알고리즘'을 개발하면서 알고리즘을 시험할만한 대량의 데이터를 넣을 프로그램, 즉, 처리율 등을 시험하기 위한 파일시스템을 만들다가 '코드작성 편집기', '어셈블러', '커널 오버레이' 등등을 개발하다보니 유닉스 시스템의 첫 번째 버전(당시는 PDP-7의 운영체제)을 만들어 냈다고 합니다.

     

    '유닉스' 라는 이름은 멀틱스의 Multi(많은 기능 제공) 를 Uni(기껏해야 하나의 기능을 제공/처음에는 단일 사용자용 OS커널로 만듦)로 바꿔서 유닉스라고 불렀다, 라는 명명 버전과, 피터 노이만이 'UNiplexed Information and Computing Service' 의 약자로 'UNICS'라는 이름을 붙였다고 하는 버전도 있다고 합니다. Unix라고 바뀐 것은 AT&T 변호사들이 eunuchs(내시)와 발음이 유사한 Unics 를 좋아하지 않아 UNIX로 바꿨다는 소문이 있다고 합니다.

     

    책에는 켄 톰프슨에 대한 인물 소개도 언급하였는데, 즐길줄 아는 천재는 정말 유쾌하고 어디서든 핵심 인력으로 세상을 바꾸는 데 기여한다는 것을 느끼게 되었습니다. 

     

    지금은 고인이 된, 데니스 리치에 대해서도 언급하였는데, 데니스 리치는 멀틱스 개발 프로젝트에 참여한 경험을 바탕으로, 유닉스 운영체제 개발과 C 프로그래밍 언어를 개발한 컴퓨터 분야에 혁혁한 공을 세운 분입니다. 하드웨어 자원을 효율적으로 사용하는 C언어가 개발되어, 1973년 유닉스를 어셈블리어 형태에서 C언어 형태로 바꿔서 작성하여 이식성이 우수해졌습니다.

     

    제 4장은 1975년, 유닉스 제6판에 대해 다루고 있으면서, 유닉스가 세상에 논문으로 공개되면서 기술된 특징에 대해서 쉽게 설명하였습니다.

    유닉스 제1판은 1971년 PDP-11 기기에서의 특허출원서 생성용으로 개발이 되었다면, 이후 몇 년간은 6개월 정도 텀을 두고 새로운 버전이 나왔다가, 1975년 유닉스 제6판은 좀더 의미있는 버전이라고 소개하고 있습니다. 유닉스를 공개적으로 1973~74년 ACM 심포지엄에 논문으로 발표를 하였는데,

    "유닉스는 DEC PDP-11/40과 11/40과 11/45 컴퓨터를 위한 범용적 다중사용자용 대화식 운영체제이다"

    라고 소개하고, 유닉스의 특징들을 하나씩 소개하였습니다.

    1) 파일을 계층적 디렉터리로 구조화 (cf. CTSS는 2단계 까지로 중첩 깊이 제한하는 파일시스템)

    2) 운영체제가 제공하는 서비스를 이용할 수 있는 시스템 호출과, 주변 장치가 파일 시스템의 파일처럼 보이도록 처리한 부분 (장치 특성을 사용자가 몰라도 파일을 저장, 읽고 쓰기 가능)

    3) 명령어 실행 및 사용자와 운영체제간 인터페이스 역할을 하는 셸 스크립트로 명령어 시퀀스 반복작업 자동화 가능

    4) 프로그램을 서로 연결하는 파이프, grep(패턴검색) 등에 대한 아이디어

       (아이디어를 낸 더글러스 매클로이는 "프로그램을 정원용 호스처럼 서로 연결한다"고 표현)

     

    지금은 당연하게 운영체제에서 기본으로 제공되는 기능으로 생각하는 모든 것들을 "최초"로 생각해내서 구현해낸다는 것. 그리고 실제 인식된 문제들을 이론에 대한 깊은 지식과, 이론을 효율적으로 적용하여 구현해내는 엔지니어링, 지속적으로 개선해내는 관심과 기술이 더해져 유닉스는 나날이 발전했다고 책에서는 설명합니다.

     

    인물에 대해서는 유닉스의 숨은 공로자인 더글러스 매클로이를 다루고 있습니다. 메모리할당자인 MALLOC을 만들었고 그 외에 diff 등도 만들었습니다.  

     

    제 5장은 1976~79년에 나온 유닉스 제7판에 대해 다루고 있습니다. 유닉스 6판이 PDP-11용 운영체제였고, 7판이 되어서 비로소 이식성이 있는 운영체제가 되었습니다. 본 셸, 배시 셸, Yacc(-> pcc로 발전), Lex, Make (-> 프로그램의 조각들이 서로 어떻게 의존되는지 기술하는 명세 언어로 컴파일을 효율적으로 해줌), sed, awk 등이 개발되어 적용되었습니다.

     

    또한, 보안과 하드웨어 분야에 대해서도 파일시스템 사용자 파일 접근제어 등의 기능에 대해서도 개발 배경을 소개하고 있습니다.

     

    제 6장, 7장은 유닉스가 연구소를 넘어서 사업화되고, 8장에는 유닉스의 후손(유닉스에서 파생된)인 리눅스 등에 대해서 다루고, 마지막 9장에서는 유닉스가 남긴 유산과 의미에 대해서 다루고 있습니다.

     

    유닉스의 개발 과정을 소설책을 읽듯이 스토리텔링 식으로 풀어놓은 것이 굉장히 인상적이었습니다. 단순히 운영체제를 이해하는 것 뿐만 아니라, 마치 개발 과정을 현장에서 옆에서 지켜보는 것처럼(이것은 아마 저자가 실제로 벨 연구소에서 직접 보고 체험한 일을 글로 옮긴 것이라 가능하겠지만) 생생하였습니다. 최초 유닉스 설치 사용자가 10명인 초기부터, 50명 이상, 그리고 전세계적으로 사용하는 범용의 인기 운영체제가 되기까지의 과정들과 기술적인 아이디어와 고민들이 그대로 녹아들어간 책이었습니다.

     

    책은 이처럼 컴퓨터 전공자라면 영감을 많이 받을 수 있는, 컴퓨터를 좋아하고 컴퓨터를 발전시킨 사람들의 아이디어와 노력을 담았습니다.

     

    그리고 벨 연구소는 많은 발명과 개발이 이루어졌고, 동시에 의미있고 세상에 영향력을 주는 책들도 많이 출간하였는데, 저자는 그 이유를 벨 연구소의 글쓰기에 대한 진지한 자세와 비평, 경영진의 지지, 개발한 문서 생성 프로그램과 글쓰기 효율의 상호발전으로 꼽았습니다. 한국의 많은 연구기관에서 벨 연구소를 벤치마킹했으면 하는 바람이 드는 좋은 연구 문화라고 생각합니다.

     

    책을 읽으면서 새로운 것을 만들어 내는 일, 세상을 좋게 바꾸는 데 기여하는 일의 가치에 대해서도 다시금 생각하게 되었습니다. 컴퓨터를 전공하는 사람들이 이러한 가치를 느낄 수 있도록 필독서로 꼭 추천해주고 싶은 책이라고 감히 말하고 싶습니다.

  • KakaoTalk_20200823_231851179.jpg

     

     

    리뷰

    요즘 mac os를 사용하면서 리눅스에 대한 관심이 많아졌다.
    항상 어떠한 개념을 공부하려면 왜 만들어졌는지, 어떻게 만들어진 것인지 알아야 한다고 생각한다. 이런 궁금증 해소 방안으로 책이 있다.
    유닉스의 탄생이란 책은 궁금증을 충분히 해소시켜줄 뿐 아니라 당시의 사진으로 인해 흥미있게 읽어 나갈 수 있었다. 현재 사용하고 있는 명령어들이 어떻게 만들어졌고 그당시의 희열을 같이 느낄 수 있었던 시간이었던 것 같다.
    개인적으로는 4,5 장에서 설명한 유닉스의 기능들에 대해서 설명한 부분들이 가장 재미있었다.

    사진이나 내용들이 쉽게 읽을 수 있게 풀어 써서 다양한 사람들이 한번쯤 읽어봐도 괜찮을 것 같다. 

  • 이 책이 생각났다.

    https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=190366924

     

     

    해커, 광기의 랩소디

    해커, 광기의 랩소디

    www.aladin.co.kr

    유닉스의 탄생을 읽으면서 생각난 책이 있다. 바로 해커, 광기의 랩소디 - 세상을 바꾼  컴퓨터 혁명의 영웅들이다.

    유닉스의 탄생의 부제(세상을 바꾼 운영체제를 만든 천재들의 숨은 이야기)가 비슷한 느낌이어서 그랬을지도 모르지만 내용을 읽으면서 더더욱 그 색은 짙어졌다.

    업계에 관심이 있는 사람이라면 혹은 다른 교양(?) 서들을 읽어보았다면 들어보았을 만한 책의 저자들이 수두룩하게 나온다. 흔히 고전으로도 말할 수 있는 책들의 저자들 말이다.

    벨 연구소의 문화

    사실 벨 연구소에 대해서 아는 건 없었다.( 이 책을 읽으면서 알게 된 게 전부 )

    그럼에도 불구하고 유닉스가 어떻게 탄생되었는지 그 이야기를 듣다 보면 이렇게 세상을 바꾼 운영체제가 시작됐는구나를 경험할 수 있다.

    그중에서 벨 연구소의 문화가 천재들이 세상을 바꾼 운영체제를 만들 수 있도록 크게 한몫했을 것 같다.

    저자의 말에 따르면 벨 연구소에는 아주 훌륭한 문화가 있었는데 그것은 책 집필을 사측에서도 지원했다는 점이다. 

    또한 연구소 사람들도 글쓰기의 중요성을 이해했고 서로의 글을 읽고 피드백을 주어 상호 보완하는 문화가 있었던 것이다.

    이는 지금 시점에서도 매우 중요한 부분이다. 아마 대규모 회사에서는 사내 위키 비슷한 개념으로 정보 공유나 장애처리 등의 글들이 작성되고 있을 것이다. 이러한 정보는 다른 사람이 문제를 만났을 때 더 빠르고 효율적으로 해결할 수 있도록 도움을 주기도 한다.

    개발자는 문제를 해결하는 사람

    개발자로 일하고 있지만 개인적으로 개발자란 문제를 해결하는 사람이라고 생각한다.

    그중에서 문제를 소프트웨어적으로 해결할 수 있는 사람으로 생각한다. 소프트웨어적으로 해결한다는 것은 사람이 해야 할 수고를 컴퓨터에게 덜어낸다는 것으로 이해하면 된다.

    유닉스의 탄생과 더불어 유닉스를 사용자들이 찾게 만드는 다양한 도구들이 함께 만들어지는데 결국 이 도구들 또한 불편한 점을 개선하고자 만들어지고 그것을 더 효율적으로 해결하고자 개선되어 나아간다.

    시대는 변하였지만 예나 지금이나 소프트웨어로 문제를 해결하는 것은 매 한 가지라는 이야기.

    안타까운 운영

    솔직하게 현재 유닉스가 엔터프라이즈급에서만 쓰인다고 얼핏 들은 이야기로만 알고 있지 어디에서 쓰이는지 잘 모른다.

    오히려 유닉스 이후에 나온 리눅스는 사용해 보았으며 유닉스보다 더 많이 사용되지 않나?라고 알고 있다.

    이러한 바탕에는 AT&T의 안타까운 선택들에 의한 운명이라고 받아들여야 할 것 같다.

    정말 시대가 지나도 변치 않는 것 중에 하나가 정치인 거 같기도 하다. 그리고 항상 예상치 못한 변수는 튀어나오기 마련.

    그럼에도 불구하고 유닉스가 남긴 것들은 많다.

    이 부분은 책을 직접 읽어보면서 느끼는 게 맞을 것 같다. 정말 40년이 넘는 세월이 지났음에도 불구하고 아직까지도 그 기원에서 그대로 사용하고 있는 것들도 많고 파생된 것들이 매우 많기 때문이다.

    결국 기원은 유닉스!라는 이야기로 대체할 수 있을 것 같다.

    용어가 조금 낯설 수 있다.

    비평(?)인가 싶지만 리눅스를 조금 다뤄 보았다면 어느 정도 불편함이 덜 하겠지만 그렇지 않다면 웬만한 유닉스의 도구들이 먼산처럼 느껴질 것이다. 


    결론

    역사를 재밌게 읽지 못하는 분들도 계실 거라고 생각한다. 그러나 인물에 대해 또는 저자들에 대해 조금이라도 관심이 있었다거나 한다면 들어보았을 만한 인물들이 대거 등장하며 그분들의 활약상을 느낄 수 있는 좋은 기회로 생각된다.

    개발자의 교양서로써 한 번쯤 눈팅이라도 해보는 게 좋지 않을까?

  • 안녕하세요, 괴짜 개발자 namedboy 입니다.

     

    제가 오늘 리뷰할 책은 유닉스의 탄생 입니다.

     

    유닉스는 운영체제 입니다. 컴퓨터 운영체제죠. 윈도우, 맥OS 같은 운영체제의 일종입니다. 다만 1970년에 만들어진 아주 오래된 운영체제 입니다.

     

    유닉스의 소개는 이쯤 하고 유닉스의 탄생이란 책에 대해 얘기해보겠습니다.

     

    이 책의 내용은 유닉스가 만들어지는 시기에 대한 시대적 배경부터 당사자들이 어떤 이유로 만들게 되었는지도 함께 나오는데 흥미로운 인물들 얘기도 함께 설명을 해줍니다. 유닉스에 대한 내용 외에도 각 인물들이 어떤 사람들인지에 대한 내용도 함께 볼 수 있는데 흥미로운 부분이 많습니다.

     

    후반부에는 유닉스가 나온 이후에 대해 다루고 있고 어떻게 사업화하게 되었는지에 대해 마무리 합니다.

     

    사실 유닉스에 대한 히스토리는 뻔하디 뻔한 부분이 있습니다. 분명 유닉스를 개발하신 분의 이야기라는 점이 굉장히 큰 장점이라고 생각합니다만, 결국 같은 얘기일테니 역사책 읽는 것과 뭐가 다를까 라는 생각도 했습니다.

     

    읽다 보면서 저는 이책이 개발자라면 무조건 읽어야 하는 책이라는 생각이 들었습니다. 

    그 이유는 개발자가 어떤 자세로 개발을 하는지에 대한 내용이 책에 전반적으로 담기기 때문이죠.

     

    브라이언 커니핸은 유닉스를 직접 개발한 사람 중 한명입니다. 그가 쓴 이 책을 읽다 보면 어떤 방식으로 개발을 했었는지에 대해 이해할 수 있게 됩니다. 

    개발자가 개발을 하기 위해 가져야 하는 소양에 대해서 설명하고 있다는 생각이 많이 들었습니다.

     

    개발을 좋아하고 앞으로도 계속해서 하려고 하는 사람이라면 분명 도움이 될 책이라고 생각합니다.

     

    유닉스의 탄생은 링크에서 확인하실 수 있습니다.

  • 개인적으로 역사를 좋아한다. IT업계에 있으니까 IT와 역사를 연결하는 특별히 숨은 이야기 즉 야사(野史)를 좋아한다. 우리는 흔히 <거인의 어깨에 올라서서 더 넓은 세상을 바라보라>라는 말을 한다. 지금 우리가 사용하고 있는 컴퓨터 시스템은 우리의 선배들이 닦아놓은 기초가 있었기에 가능했다. 그 선배들은 또 그들의 선배들이 닦아놓은 기초 위에 그들의 시스템을 설계할 수 있었다. 또 그들의 선배는 또 그들의 선배들의 기초위에... 예전이었다면 슈퍼컴퓨터 정도 되는 시스템을 지금은 한 사람씩 손에 갖고 다니는 세상이 되었다. 우리의 선배들에 비하면 지금 우리가 누리고 있는 시스템은 호사가 아닐런지... 그래서 우리는 절대로 교만해서는 안된다. 그저 선배들이 닦아놓은 길을 겸손하게 걸어갈 뿐이다. 

     

    이 책은 진정 세상을 바꾼 천재들의 숨은 이야기가 들어있다. 일반인들은 벨연구소라고 하면, 단순히 전화기를 발명한 벨의 이름을 따서 만들었을 것으로 생각할 수 있지만, 벨연구소는 현대 IT 초석을 만들었다고 해도 과언이 아닌 정말 위대한 연구소이다. 여기서 유닉스가 나오고 그 유닉스를 만들기 위한 언어인 C-Language가 나오게 된다. 아이폰 생산을 진두지휘한 애플의 설립자 <스티브 잡스>가 이 세상을 떴을 때 거의 비슷한 시기에 죽음을 맞이한 사람이 C-language를 만든 <데니스 리치>이다. 물론 <스티브 잡스>역시 혁신적인 아이디어와 마케팅으로 지금의 IT 환경을 한단계 더 업그레이드 시킨 인물로 그의 죽음에 당시 전세계적인 애도의 물결이 있었던 것으로 기억된다. 하지만 지금 대부분의 운영체제의 근본인 유닉스와 C-language를 만든 <데니스 리치>의 죽음에는 언론에 단 한줄 언급됐을 뿐이다. 이 책을 통해 다시 한번 이름없이 하지만 위대했던 선배들의 이야기를 따라가보자. 우리는 그 선배들이 닦아놓은 길을 겸손하게 걸어갈 뿐이다. 

  • 지인들이 제공한 사진들이 많아서 너무 좋더라.

    벨 연구소의 유대 관계가 각별하긴 했던 듯.

     

    연구 부서 기술직 멤버는 모두 개인 사무실이 있었다고 하더라.

    참 부럽다.

    그런데 저기 갈 수 있는 사람은 모두 박사 학위자이고,

    벨 연구소에서는 한 해에 2명 정도 신입 사원을 뽑았다고 한다.

     

    내가 (특히 고객사에서) 겪은 척박한 현실에 한탄하다가도,

    저 정도 능력자였으면 우리 나라에서도 별도 방 있는 곳에서 일하지 않았을까 하는 생각도 들었다.

     

    작가님은 참 행복하게 일했던 것 같다.

    벨 연구소도 이리저리 찢어지면서 예전의 모습을 간직하지 못한 것 같더라.

    기술이 발달한다고 업무 환경도 좋아지지 않는 사실이 안타깝기도 했다.

     

    이 책을 읽다 보니, 대학교 OT 때 유닉스 처음 접한 경험이 생각 났다.

    vi 배우는데 참 많이도 버벅였지.

     

    위키백과에서 unix의 역사 페이지를 봤더니, 이 책에 나온 사진도 여기 여럿 보인다.

    https://en.wikipedia.org/wiki/History_of_Unix

     

     

    본쉘, 배쉬 쉘, C쉘 등등 이름만 듣고서는 뭐가 먼저 나온 것인지,

    무엇을 선택해야 하는지 몰랐는데,

    책을 보니깐 이제 순서를 좀 알겠더라.

     

    그냥 bash 계속 쓰면 될 듯.

     

    책에서 글쓰기에 대해 항상 강조하는데,

    나도 참 많이 공감도 가고, 글쓰기의 중요성을 매우 늦게 깨우쳐서 좀 아쉽기도 했다.

    그래도 작가님 덕분에 유닉스의 역사를 쭉 훑어볼 수 있어 매우 감사했다.

    덕분에 유명한 사람들(켄 톰프슨, 데니스 리치) 뿐만 아니라 조용한 리더(더글러스 매클로이)의 이야기까지 많은 부분을 잘 알게 되었다.

     

     

    (모든 후기는 제 블로그에 있습니다. 문단 형식까지 복사가 안 되어 일부만 게재합니다.)

    https://blog.naver.com/pcmola/222066028077

  • 유닉스는 미닉스, 리눅스의 모태가 된 현대 운영체제의 시초라고 할 수 있는 대단한 운영체제이다. 맥OS도 기반은 유닉스에 두고 있는 것으로 알고있다.

     

     


    윈도우도 유닉스에서 많은 부분을 참고하고 배워서 현재의 독자적인 운영체제로 발전했음을 추측해 볼 수 있다. 당시 시대상황의 압도적인 오픈소스 운영체제로서의 저력을 생각한다면 그것이 최선의 방법이었을 것이다. 물론 유닉스 계열과 MS계열의 운영체제는 기본적으로 파일시스템 포맷부터 여러가지 점들이 다르다.

     



    세간에 이런말이 있다. 유닉스에서 파생된 리눅스에 기여할 실력이 되기만 해도 어딜가든 먹고 산다고..

     


    그만큼 초기의 운영체제 역시 어셈블리로 작성되어 만만치 않았겠지만 C언어로 작성된 현대의 운영체제 역시 분석이 만만치가 않다. 책 몇권으로 담아낼 단계는 이미 오래전에 지났다.

     

     


    여기서 전체는 아니지만, 유닉스에 기여한 사람들의 명단을 2장 정도 소개하고 싶다. 다들 컴퓨터 역사에 내로라 하는 인물들이다. 걍 동내에서 입상하듯이 세계적인 상을 수상하는 사람들로 보면 된다.

     


    상 받고, 어 거기 적당한데 놔둬. 하고 일 할 정도의 덕후들..


     

     

     


      


    AT&T 연구소들은 아래와 같이 배치되어 있었다고 한다. 존경심이 나올수 밖에 없는 인물들이 일 한 곳이라 하니 건물들도 그냥 멋있어 보인다. 희미하게 보이는 글씨에도 나타나지만 이때는 컴퓨터 공학이란게 있기 전으로 보인다. 물리학, 화학, 수학등 다양한 자연과학, 공학자들이 컴퓨터를 완성시켜 나갔던 시기라고

     


    생각된다. 트랜지스터도 이곳에서 발명되지 않았던가?

     


    나는 컴퓨터 공학과가 물리, 수학등의 학과에서 따로 분리된 것이 조금은 유감이다. 컴퓨터의 기반은 자연과학에 있고 자연과학과 컴퓨터를 함께 배우는게 좋다고 생각한다. 물론 데니스 리치가 수학에만 골몰 했다면 현재의 C언어는 나오지 않았을 것이고 유닉스의 발전은 한참 늦어졌을 것이지만 이건 예외로 해두고 싶다.



    유닉스의 기원은 켄 톰프슨이 게임 만들려다가 이거저거 최적화하고 다듬다 보니 파일 시스템을 만들고 그렇게 이거 저거 추가하다 보니 시작된 것으로 알고있다. 참 대단한 사람이라 생각된다. 일단 행동하라 라는 말은 이런 사람들에게 정말 잘 어울리는 단어라고 생각한다. 


     

    켄 톰프슨과 데니스 리치가 함께 연구실에 있는 사진이다. 간지가 제대로 난다.


     


    아래는 희미하게 찍혔지만 빌 조이의 사진이다. 빌 조이는 TCP/IP 스펙 명세서에 맞추어 소켓 인터페이스를 유닉스에 추가했다. 이게 추가했다고 하면 단순히 메뉴얼 보고 뭔가 작업했다고 생각할 수 있는데 대단히 어려운 작업이다. 기업체가 달려들어서 장기간에 걸쳐 전전긍긍하며 만든 인터페이스 보다 성능이 좋아서 지금도 잘 쓰이고 있다고 알고 있다. 빌 조이는 이후 Vim 에디터도 개발했다.



    아래는 리누즈 토르발즈의 사진이다. 그냥 재미로 유닉스를 기반으로 만들었다고 하는 리눅스는 현재 전 세계의 수많은 서버 컴퓨터에서 사용되고 있다. 무료 OS이고 강력하고 안정적이다. 기존 소스 관리 저장소가 유료화 되어 마이그레이션할 저장소를 고민하고 찾다가 맘에 드는게 도저히 없어 새로 Git이란 저장소를 만들어 버렸고 그 시간이 2주밖에 안 걸렸다는 얘기는 매우 유명하다. 그 정도 실력을 갖추고 있으면 왜 고민을 했는지 조금 의문이 든다. 그냥 본인이 처음부터 만들어 버리면 되었을 걸..그래도 가급적 역사가 있는 안정성이 확보된 저장소를 더 선호했으리라 추측해 본다.


    현대에 있어 유닉스는 거대한 멋진 OS로 성장했음은 분명하다. 이에 파생된 BSD, 리눅스, 맥OS 들도 모두 성공했다. 유닉스의 발전은 이 한권의 책에 다 담아내지 못할 만큼 많은 에피소드가 있었음에 분명하다.

     


    일단 소스코드 양이 어마무시 하다. 운영체제를 개발한다는 것은 매우 매력적인 일이다. 현대에 있어 운영체제는 더 이상 독자적으로 개발할 수 있는 영역을 지난지 오래라고 볼 수 있다. 물론 슈퍼 루키가 맘먹고 덤벼들면 그건 또 다른 이야기다. 어쨋든 상용 수준의 OS 개발이 이전보다 쉽지 않아진건 사실이다. 더군다나 디바이스 생태계, 소프트웨어 생태계가 구축되어 대중의 인기를 얻어야 계속해서 수명을 이어가기에도 유리하다.

     

     

     


    이 책을 통해 유닉스의 발전 과정을 소설을 읽듯이 재밌게 읽을 수 있었다. 쉘 스크립트나 유닉스의 유명한 명령어들이 1주일 단위로 하나씩 탄생하는 과정을 읽을때 마다 놀라움을 감출 수 없었다. 이런게 진정한 오픈소스 생태계 개발의 이데아가 아닌가 싶을 정도로 감동했다.

     

     


    앞으로 유닉스, 리눅스와 관련된 운영체제들을 배우고 이해하려고 노력해야 겠다고 생각이 들었다. 그 첫 걸음으로 교육용 운영체제로 개발된 미닉스를 이해하는 것을 시작으로 하면 어떨까란 의문을 갖고 이만 리뷰를 마치고자 한다.

  • IMG_0527.JPG

     

     

    컴퓨터공학을 배우면서 유닉스 운영체제를 배운적이 있다. 유닉스 운영체제의 명령어들, 유틸리티 사용법, 쉘 프로그래밍 등등 운영체제 상에서의 프로그램 개발 방법 등을 배우고 실습했었다. 당시에는 그저 유닉스가 벨 연구소에서 만들어진 운영체제라는 생각만 했을 뿐 누가 어떤 생각을 가지고 만들었는지에 대해서는 생각해보지 못했다. 나이가 들고 IT 실무를 경험하면서 유닉스라는 운영체제가 얼마나 대단하고 많이 쓰이고 있는지 체감할 수 있었다. 그런 와중에 만난 책이 한빛미디어에서 나온 '유닉스의 탄생'이다. 부제가 '세상을 바꾼 운영체제를 만든 천재들의 숨은 이야기'인데 유닉스 개발에 참여했던 저자가 보고 듣고 경험한 것들을 잘 정리해 들려준다.

    책 초반 부에는 벨 연구소가 어떤 곳이고 어떤 일을 하는지 저자가 일하면서 겪었던 경험들을 소개해 준다. AT&T사의 안정적인 자금 지원으로 벨 연구소의 연구원들은 단기간에 결과를 내기 못하더라도 자유롭게 탐구 할 수 있었다고 한다. 이러한 환경 덕분에 유닉스도 탄생한 것이 아닐까 생각된다.

    다음 챕터들에서는 유닉스 프로토타입부터 7판까지의 중요한 특징들을 소개한다. 유닉스의 기원과 이름의 유래와 유닉스 개발팀이 사용한 유닉스의 방에 대해서도 이야기하고 있다. 유닉스의 중요한 특징인 파일 시스템과 셸 그리고 C언어 등을 소개하면서 오늘날 프로그래밍에 얼마나 영향을 많이 끼쳤는지 느낄 수 있다.

    중간 중간 인물 탐방이라는 소챕터가 있는데 유닉스 개발에 중대한 역할을 했던 켄 톰프슨, 데니스 리치, 더글러스 매클로이에 대해 길진 않지만 그 인물들이 어떤 사람들이었는지 알아가기에 충분히 잘 요약되어 있다.

    책 후반부에는 유닉스의 성공에 대해 여러가지 측면에서 설명한다.

    개인적으로 리눅스를 좋아하는데 그 아버지 격인 유닉스에 대해 이렇게 재밌게 읽을 수 있는 책이 나와 기쁘게 읽었고 주변 프로그래머들에게 추천할 만한 그런 책인 것 같다.

     


  • [한줄평]

    유닉스에 관심이 있다면 힙한 UNIX의 탄생과 발전 과정을 알수 있다.


    [목차구성]

    1장 벨 연구소

    2장 유닉스 프로토타입(1969)

    3장 유닉스 제1판(1971)

    4장 유닉스 제6판(1975)

    5장 유닉스 제7판(1976~1979)

    6장 연구소를 넘어서

    7장 사업화

    8장 후손

    9장 유산


    [기억에 남은 글]

    “내가 기억하는 바로는 켄, 데니스, 피터 노이만을 포함한 무리와 내가 사무실 입구에 서서 이야기하던 것으로 시작한다. 그때는 시스템에 이름이 없었기에 (내 기억이 맞는다면) 내가 라틴어 어근에 기반을 두고 멀틱스가 ‘모든 기능을 많이’ 제공하는 반면, 새로운 시스템은 어떤 기능을 기껏해야 하나 제공하므로 ‘UNICS’라고 불러야 된다고 했는데, 이는 ‘multi’를 ‘uni’로 바꾼 말장난이었다.”

    --- p.83 「이름의 유래」 중에서

     

    “유닉스 방은 그냥 재미있는 곳이었고, 항상 무슨 일이 벌어졌다. 거의 유닉스 방에서만 일하고 사무실은 좀처럼 쓰지 않는 사람도 있었고, 커피를 마시거나 대화를 나누러 하루에 몇 번씩 들르는 사람도 있었다. 동료가 무슨 일을 하는지 서로 알게 되고 공동체 의식을 키우고 유지하는 데 유닉스 방은 그야말로 엄청나게 중요한 역할을 했다.”

    --- p.104 「유닉스 방」 중에서

     

    “C 언어가 등장하면서 운영체제 전체를 고수준 언어로 작성할 수 있게 됐다. 1973년에는 유닉스를 원래 어셈블리어 형태에서 C 언어로 바꿔서 작성하는 작업이 완료됐다. 이 덕분에 시스템을 유지 보수하고 수정하기가 훨씬 용이해졌다. 또한 더 큰 진보는 운영체제를 원래 PDP-11 컴퓨터에서 다양한 아키텍처 기반의 다른 컴퓨터로 옮기는 일, 즉 이식(porting)이 가능해진 것이다. 시스템 코드 대부분이 C 언어로 작성됐으므로 운영체제를 이식하는 작업에는 C 컴파일러를 이식하는 것 이외에 많은 일이 필요하지 않았다.”

    --- p.117 「인물 탐방: 데니스 리치」 중에서

     

    더글러스는 매우 뛰어난 기술 평론가고, 새로운 프로그램이나 아이디어를 종종 처음으로 시도해보는 사람이다. 그는 가능한 한 일찍 프로그램이나 아이디어를 시험해봤고, 안목이 높았다. 덕분에 어떤 점이 좋고 어떤 부분을 수정해야 하는지 알려주는 그의 의견은 헤아릴 수 없을 만큼 귀중했다. 아이디어, 알고리즘, 프로그램, 문서에 이르기까지 거의 모든 것에 대한 조언이나 비평을 구하려고 그의 사무실을 찾는 사람들의 발걸음이 끊이지 않았다. 비야네 스트롭스트룹은 먼저 내 사무실에 잠깐 들러서 C++에 대해 논의하고 새로운 아이디어를 설명한 다음, 복도를 따라 몇 칸 옆에 있는 더글러스의 사무실로 가서 언어 설계에 대한 진지한 피드백을 받기도 했다.

    --- p.162 「인물 탐방: 더글러스 매클로이」 중에서

     

    벨 연구소의 조직 크기와 연구 규모는 어떤 기술 영역에든 다수의 전문가가 있고 그들이 종종 각 분야에서 세계를 선도하는 연구자였음을 방증했다. 게다가 연구소의 문화는 매우 협조적이고 서로 돕는 분위기였다. 누군가의 사무실에 걸어 들어가서 도움을 요청하는 것은 지극히 통상적인 절차였다. 거의 대부분의 경우 요청 받은 사람은 발 벗고 나서서 도움을 줬다. 최상급 기술 도서관도 있었는데, 하루 종일 열려 있었고 매우 다양한 저널을 구독했으며 다른 도서관에 원격으로 접근할 수 있었다. 대학교 도서관과 유사하지만 과학과 기술에 초점을 맞춘 도서관이었다.

    --- p.305 「협력하는 환경」 중에서


    [서평]

    요즘은 운영체제가 윈도우, 맥, 리눅스 세가지 분류로 나누어집니다. 앞의 세개의 운영체제의 뿌리를 따라가다 보면 유닉스라는 운영체제를 만나게 됩니다. 유닉스는 현재의 운영체제에 큰 영향을 주었다고 생각합니다. 아마 유닉스가 나오지 않았다면 지금의 운영체제가 어떻게 달라졌을까? 생각을 해봅니다. 이책에서 유닉스가 만들어지기 전 벨 연구소의 시대적 배경과 문화등 외부에 알려지지 않은 내부자만 아는 사실을 다루고 있습니다. 켄 톰프슨과 데니스 리치를 중심으로 유닉스가 어떻게 만들어 지는지 세세하게 다루고 있어 두 사람의 천재성을 엿볼 수 있습니다. 그리고 벨 연구소의 유닉스 개발팀의 일화와 유닉스의 성장 쇠퇴 전과정을 볼수 습니다. 소프트웨어 지망생과 옛날 유닉스 시절에 대한 향수가 있는 분이라면 이책에서 옛날에는 그랬지 하면서 이책을 재밌게 읽을수 있을 거라 생각합니다. 이책은 실용서가 아닌 교양서로 서버 개발자가 아니라도 이책을 읽는데 크게 무리가 없을거라 생각합니다. 유닉스의 역사에 대해서 관심이 있는 분이라면 한번쯤 읽어 보시면 좋을거라 생각합니다.



  • 한빛 미디어 <나는 리뷰어다> 7월!

    오랜만에 리뷰어를 하게 되었습니다. 이번에는 유닉스의 역사가 담긴 책을 선택했습니다. (8월인데 왜 7월이냐면 7월 도서이지만 8월까지 작성하는 것이므로... 타이틀은 7월입니다.)

     

    브라이언 커니핸이 들려주는 UNIX의 탄생과 발전 과정, 천재 개발자와 기여자들의 이야기

    『유닉스의 탄생』은 유닉스의 역사를 기록한 책이자 유닉스 개발 현장에 있던 이들의 회고록이다. 유닉스가 무엇인지, 어떤 이유로 개발되었는지, 어떤 과정을 거쳐 발전했는지 꼼꼼하게 기록했다. 동시에 무한한 창조성을 발휘하며 수많은 가능성에 도전한 천재들의 이야기와 자유로운 연구 환경을 제공한 벨 연구소 현장도 생생하게 담았다. 이 책을 읽으며 새로운 것을 창조하고 더 나은 세상을 만드는 일의 기쁨을 함께 느껴보길 바란다.


    유닉스를 만들기까지

    이 책은 제목에서 강조하듯이 유닉스의 탄생이 담겨있다. 간간히 적힌 낯익은 이름들이 꽤나 반갑기도 했다. 컴퓨터는 주판부터 시작해 지금의 개인용 컴퓨터까지 발전했는데, 유닉스는 그 컴퓨터 안에 들어가는 OS의 한 종류다.

    유닉스는 대부분의 현대적 컴퓨터 운영체제의 원형이 된 OS로 우리가 손에서 뗄 수 없는 안드로이드, iOS도 유닉스를 기반으로 만들어졌다.

    유닉스는 켄 톰프슨과 데니스 리치를 중심으로 많은 사람들의 손을 거쳤고 유닉스의 특징이자 많이 사용하는 파이프grep 등을 개발하게 된 이야기도 함께 담여있어 명령어를 쓸 때마다 기억이 나게 된다.

    특히 저자는 전공 수업 때 많이 들은 리처드 해밍(해밍 부호 개발), 비야네 스트롭스트룹 (C++ 개발), 데니스 리치 (C, 유닉스 개발) 등과 함께 일하거나 이야기를 나눈 이야기를 읽으면서 신기하기도 했다. (마치 전설 속 이야기 같다.)

    또 벨 연구소의 에피소드가 함께 있어 책을 읽는 데 한층 재미를 더했다.

     

    기술 뒤에 사람있어요

    앱 개발을 할 때 작은 기능 하나를 만드는 데도 몇 명이 함께 하게 된다. (기획-디자인-서버-클라이언트, 각 1명씩 해도 4명이다.)

    유닉스와 같이 대형 프로그램을 만드는 데는 더 많은 인력과 회사의 지원이 있어야 할 것이다. 또 함께 일하는 사람들이 얼마나 잘 융합되서 하는지.. 최상의 팀으로 만들어진 덕에 유닉스가 이런 결과를 낳게 된 것이 아닐까 생각했다.

    조직은 어때야 해! 라고 직접적으로 적힌 것은 없지만 책을 읽으면서 느끼게 됐다.

    좋은 조직이란 무엇인가, 어떻게 좋은 조직이 될 수 있는 가를 생각할 수 있었고 긴 여운으로 남았다.

     

    "우리가 지키고자 했던 것은 그저 프로그래밍을 하기에 좋은 환경이 아니라 유대감을 형성할 수 있는 시스템이었습니다. 우리는 경험을 통해 공동 컴퓨팅의 본질이 (...) 단지 천공기 대신에 터미널로 프로그램을 입력하는 것이 아니라 밀접한 소통을 북돋우는 것이라는 점을 알았습니다."

    • 데니스 리치, 『The Evolution of the Unix Time-sharing System』, 1984년 10월

  •  

    1595946826060-0.jpg

     

     

    이번 포스트에서는 유닉스의 탄생이라는 책을 리뷰해보려 한다. 우리나라에서는 OS 플랫폼쪽에 관심이 많이 없는것이 사실이라.. 이런책이 좀 더 많이나오고 OS 관련 중요성이 더 부각되었으면 좋겠다는 생각이 든다. 아무튼, 이 책의 주 타겟 독자층은 아무래도 OS에 대해 관심이 있거나, 막 Xnix 나 OS X 을 이용하면서 그 근원이 궁금한 사람들일 것이다. 또한 대부분의 사람들이 윈도우즈로 컴퓨터를 입문하는 우리나라에서, Unix의 뿌리를 둔 OS들은 대중들에게 그렇게 익숙하지는 않을 것이다. 그러므로 이책을 접하는 대중들에게는 컴퓨터가 지금처럼 일상적으로 이용되기까지 어떤 노력들이 있었는지, 당연하게 이용하던 운영체제의 기본적 기능들이 어떻게 형성되었는지 이해하는 좋은 기회가 될 것이며, 이제 막 관심을 가지는 독자들은 막연하게 혹은 파편적으로 알고 있는 내용들을 정리하는 기회가 될 것이다.

     

    리뷰를 시작하기전에, 기회가된다면 이 동영상을 보는것도 추천한다. https://www.youtube.com/watch?v=tc4ROCJYbm0 이 동영상은 벨렙이서 1980년대에 유닉스 쉘에 대해 설명한 것인데, 이 책의 저자의 브라이언 커니헨의 젊을적 댄디함(?)이 압권이다. 단순히 유닉스에 관한 것 외에 눈여겨 볼점들이 많다. 예를들면, 다리를 책상에 꼬아 올리고 무릎에 키보드를 토독이며 유닉스의 컨셉과 기능을 설명하는 모습은 지금봐도 멋있다는 것과, 다른 네임드들을 보면 예나 지금이나 시대를 불문하고 공과인들은 패션감각이 떨어지는 것을 알 수 있다. 이러한 패션테러리스트들의 사이에서 브라이언의 시대를 앞서간 스타일리시함이 빛나는 영상이다... 여담으로 눈에 띄는 댓글은, 자기가 지금까지 본 동영상중에 이렇게 많은 마법사들이 한번에 등장하는 영상은 본적이 없다는 것이었다. 등장하는 사람들이 대부분 크게 컴퓨터 공학 발전에 기여한 사람들인데, 이 책에 인물탐방에 소개된 사람도 있고 아닌 사람들도 있으니 찾아보기를 추천한다. :)

     

    이 책의 구성은 장으로 되어있지만, 내용을 중심으로 크게 3개의 챕터로 나눌 수 있다. 1장부터 3장까지는 유닉스가 탄생하게된 시대적 필요성의 배경과, 그리고 유닉스 이전의 운영체제들을 이야기하고 있다. 이 부분을 좀 더 잘 이해하려면, 운영체제 자체의 본래 의미를 다시 생각해보는 것이 좋다. 시대를 관통하여 변하지 않는 운영체제의 핵심 기능은, 컴퓨터 하드웨어를 잘 이용하게 하자!는 것이다. 과거에는 컴퓨터가 오늘날처럼 보편화되어 있지 않았기 때문에, 일반 유저들은 단말 (터미널)을 통해서 거대한 컴퓨터에 접속하여 사용했다. 그러므로 많은 수의 유저들이 하나의 기기를 공유하여 사용했기 때문에, 운영체제는 하나의 컴퓨터 하드웨어를 여러명에게 각자 자신만의 기기를 활용하는 것 처럼 보여줘야 했다. 즉, 컴퓨터 하드웨어를 어러 유저에게 멀티플렉싱 하는 것인데, 멀티플렉싱 방법으로는 크게 시간과 공간에 대한 것이 있다. 시분할은 한 사람마다 컴퓨터의 최대 점유시간을 정해두고 사용하게 하며, 공간분할은 컴퓨터에 자원을 유저마다 조금씩 나눠서 사용하게 하는 것이라 보면 된다. 이러한 이해를 가지고, 이 챕터를 읽는다면 그 당시에 유닉스가 왜 파격적인 운영체제였는지 알 수 있다.

     

    3개의 챕터중 두번째는 4~5장으로, 유닉스의 기능에 대한 것인데 컴퓨터 하드웨어 활용을 위한 디자인 외에, 지금 우리가 말하는 운영체제의 기능들을 유닉스가 어떻게 정립하였는지 보여준다. 일론 머스크의 스페이스X는 인공위성관련 스타링크 프로젝트와 우주선 관련 프로젝트들을 진행하고 있는데, 놀랍게 운영체제로 리눅스를 사용하고 있다 (참조 https://www.zdnet.com/article/spacex-weve-launched-32000-linux-computers-into-space-for-starlink-internet/). 리눅스는 사실상 그 뿌리가 유닉스에 있으므로, 이 오래전에 만들어진 운영체제가 최첨단 프로젝트에 사용되고 있는 것이다. 이렇게 고인물인 운영체제가 지금까지도 널리 사용되는 것은, 이때에 유닉스가 운영체제의 기능들을 얼마나 잘 정립했는지 입증하고 있다. 지금도 많이 사용되는 유닉스의 기능들을 설명하고 있으니, 이 챕터를 잘 읽어본다면 현재의 운영체제 활용에 도움이 될 것이다. 마지막으로 6~9장은, 유닉스가 상업적으로 활용되었던 과정과 왜 지금의 리눅스나 다른 후손들이 생겨나게 되었는지, 그리고 유닉스 프로젝트의 역사를 돌아보며 우리가 배워야할 점이 무엇인지 설명한다. 프로젝트 그 자체로도 엄청나게 다사다난했고, 그 명맥이 아직까지도 전세계에 큰 영향력을 가지는 프로젝트였기 때문에, 마지막 챕터도 잘 읽어보기를 추천한다.

     

    전체적으로 정리를 해보자면, 전문적인 기술서적은 아니지만 편하게 교양서적처럼 읽을 수 있는 책이며, 운영체제에 관련된 일을 하는 사람들부터 일반 대중까지 누구나 읽을 수 있는 책이다. 한편으로 드는 생각은, 이런 오랜 역사와 같이 사회적인 관심을 가지고 지속적으로 투자하고 발전하니까 iOS나 안드로이드 같은 플랫폼이 미국에서 나올 수 있었다는 것과, 이런 시스템 개발의 경험을 기반으로 IT 플랫폼 관련 프로젝트들을 선도하고있다는 생각이 든다. 아무튼, 이런 거창한 것 외에도 IT가 일상에 스며들은 지금, 많은 사람들에게 흥미로운 발전과정을 설명해주는 책이라 읽어보는 것을 추천한다.

  •  

    이 책은 유닉스의 역사를 기록한 책이고 또한 유닉스 개발 현장에 있던 벨 연구소 직원의 회고록 같은 느낌을 받습니다.

    책을 읽으면서 내내 벨 연구소 내에서 직접 근무하면서 같이 고민하고 유닉스의 새로운 프로토타입을 만들어가는 과정 하나 하나를 생동감 있게 그려내 컴퓨터의 역사에 흥미를 갖는 학생이라면 이책을 읽어 볼 것을 추천 합니다.

     

    이 책의 구성을 살펴 보면 다음과 같이 구성이 되어 있습니다.

    1부 벨연구소

    2부 유닉스프로토타입

    3부 유닉스1판

    4부 유닉스6판

    5부 유닉스7판

    6부 연구소를 넘어서

    7부 사업화

    8부 후손

    9부 유산

     

    1부 벨연구소 편에서는

    세번째 튜링상 수상자인 리처드가 저자에게 말한

    "사람들에게 사전과 문법 규칙을 주고서 자, 당신은 이제 훌륭한 프로그래머예요 라고 말하지"

    라는 글귀가 눈에 띄이네요.

    글쓰기에서 필요한 사전과 문법은 기본이지만 글쓰기 연습이 꾸준히 이루어져야 하는 것과 마찬가지로 프로그래머는 프로그래밍 언어와 문법만 가지고 훌륭한 프로그래머가 될수는 없다는 말입니다.

    저와 같이 공부하고 있는 학생들도 그래서 지금도 열심히 프로그래밍에 관한 알고리즘과 수학적인 능력을 열심히 키워 나가고 있거든요.^^

    2부 유닉스프로토타입편에서는

    벨연구소에서 근무하던 켄톰프슨이 PDP-7의 성능을 개선하기 위해서 3주간 운영체제를 만들었던 이야기가 흥미 있었습니다.

    그의 메일 내용을 살펴 보면 단 3주간에 "시분할에 가까운( 그 당시 초창기에는 완벽한 시분할이 되지는 않았던것 같네요.) exec 호출,셸,편집기와 어셈블러가 빠져서 각각 1주씩 3주만에 그 기능을 구현했다" 고 되어 있네요.

    저도 프로그래밍 쪽 일을 하지만 단 3주만에 이 세가지 기능을 모두 구현했다는데 정말 대단한 분이라는 생각을 하게 되었네요.^^

    3부 유닉스1판(1971) 

    여기서는 유닉스가 만들어지는 계기와 데니스의 경험을 바탕으로 C언어 탄생의 역사까지도 기록이 되어 있습니다. C언어 탄생으로 운영체제를 유지보수하고 수정하는 것이 수월해 지면서 1973년에는 원래있던 유닉스를 C언어로 바꿔서 작성하는 작업이 완료 되었습니다.

    4부 유닉스6판(1975)

    유닉스는 대략 6개월마다 기능이 개선되었고 1975년 5월에는 획기적인 아이디어가 탑재 됩니다.

    - 분리가능한 볼륨을 지원하는 계층적 파일 시스템

    - 서로 호환되는 파일, 디바이스,프로세스 간 입출력

    - 비동기 프로세스를 시작하는 기능

    - 사용자 단위로 선택 가능한 시스템 명령어

    - 십여가지 언어를 포함하는 100개 이상의 서브시스템

    현재 리눅스를 다뤄보셨다면 익숙한 기능들일 텐데요. 셀스크립트나  파이프 기능과 같이 많이 사용되는 기능들이 이때 추가 되었다고 보시면 될것 같네요.

    5부 유닉스7판(1979)

    유닉스 7판은 6판에 비해 4년후에 발표 되었습니다.

    7판에서는 리눅스사용자라면 표준 셸로 사용하고 있는 본셸(Bourne Again Shell을 뜻함) 기능 및 Yacc,Lex 컴파일러가 추가 되었는데 이러한 기능들에 대해 상세히 설명을 하고 있네요.

     

    이 책을 읽다 보면 컴퓨터 초창기 천공카드로 프로그래밍 하던 시절부터 어셈블리어,포트란,C언어 등 컴퓨터의 역사에 대해 전반적으로 훑어 볼 수 있는데 실제로 벨 연구소에서 그 당시 속으로 빠져 들어가서 하나하나 개척해 나가는 생동감을 느낄 수 있을것 같네요.

    이 책은

    1. 리눅스 공부를 하고 계신 분들이나 리눅스 관련 자격증을 준비하고 계신 분들에게 리눅스의 전신인 유닉스를 이야기처럼 공부하다 보면 훨씬 더 이해의 폭이 넓어질것 같네요.

    2. 디미고 혹은 소프트웨어 특기자 전형을 준비하는 학생들이 이 책을 읽어 본다면 컴퓨터의 흐름의 전반적인 역사를 훑어 볼 수 있기 때문에 면접시에 도움이 될것 같습니다.

    3. 유닉스의 역사에 대해 알고 싶은 분들이라면 당연히 읽어 보시길 추천합니다.

  • 장마 때문에 빗소리가 우렁찬 밤에 위대한 역사를 읽어내려갔다. 속독했다고는 하지만 주말 한 시간이 눈 깜짝할 사이에 사라졌다. 한빛미디어에서 내놓은 유닉스의 탄생이 바로 그 원인이다. 십수년간 IT 업계에서 커널 개발을 시작으로 대부분의 시간을 백엔드 개발, 인프라와 보냈다. 그리고 그 중심에는 항상 *NIX가 있었다. 그리고 개인적인 관심으로 *NIX 관련해서 여러 문헌을 읽었지만, 이 책은 인터넷에 돌아다니는 모든 관심사의 종합 본이다.

     

    위대한 역사

     

     

    저자인 브라이언 커니핸은 30년 동안 벨 연구소의 컴퓨팅 과학 연구 센터에서 일했는데 그가 지켜본 역사를 이 책에 녹여냈다. 어쩌면 자서전처럼 보일지도 모르는 책이지만 덤덤하게 이야기하는 역사에 소름이 끼칠 지경. 그의 과거 행적을 현재의 내가 누리고 있다. 근래에 한빛미디어에서 출간되는 책으로는 보기 드물게 용지의 질이 떨어지는데 (게다가 흑백) 이 책은 그런 건 아무래도 상관이 없다. 오히려 책 냄새조차 향기로 느껴지고, 카페 한쪽에 비치되어 있어도 어색하지 않을 듯한 비주얼. 책의 주제와 내용, 그리고 용지. 삼박자가 절묘하게 어우러져서 더할 나위 없다.

     

    내용이 용지의 질을 초월한다

     

     

    내용은 역사적인 이야기가 대부분이고 특히 유닉스의 여러 가지 명령어 개발의 뒷이야기가 너무 재미있게 구성되어 있다. 어쩌면 잊고 있었던 퍼즐 조각까지 다시 맞춰지는 기분이랄까. 예를 들면 Bash(Bourne-again shell)의 어원 같은 걸 외우고 다니는 사람은 없다. 특히 첫 직장생활을 Kernel Programming으로 시작했기 때문에 C 언어에 대한 이야기가 특히 재미있다. 메모리 할당에 대한 역사적인 이야기라니. 두근두근하지 않을 이유가 전혀 없지. 거기에 번역도 깔끔하다. 번역서라는 느낌을 책장을 덮을 때까지 한 번도 느끼지 못했을 지경이다. 그동안 리뷰한 책에 대해서 굳이 내용에 별점을 추가하지는 않았는데 이 책은 10점 만점에 10점. 최고다.

    현대를 살아가는 개발자에게 서버는 서버요, 클라우드는 클라우드일지라도 자신이 다루고 있는 인프라에 대한 역사적인 내용까지 알아간다면 일하는 즐거움이 배가 되지 않을까? 역사를 잊은 민족에게 미래가 없다는 말까지 붙이면 과장되지만 우리가 하는 프로그래밍의 근간이 되는 역사를 교양쯤으로 생각한다면 이 책의 일독을 권한다. 개발지식이 없더라도 어렵지 않게 읽힐 것이다. 이 책의 향기에 빠져보시라.

결재하기
• 문화비 소득공제 가능

배송료 안내

  • 책, 아이템 등 상품을 1만원 이상 구매시 무료배송
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
유닉스의 탄생
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
유닉스의 탄생
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
유닉스의 탄생
구입처*
구입일*
부가기호*
부가기호 안내

* 회원가입후 도서인증을 하시면 마일리지 500점을 드립니다.

* 한빛 웹사이트에서 구입한 도서는 자동 인증됩니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한됩니다.

* 절판도서, eBook 등 일부 도서는 도서인증이 제한됩니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실