본문 바로가기
블로그/도서

[도서] 유닉스의 탄생

by 똘똘이박사 2021. 7. 19.

유닉스의 탄생

 

인류의 역사를 이야기 할때, 인간의 조상이 어떤 존재인지 빠지지 않고 이야기 하듯

컴퓨터의 발전사를 이야기 하기 위해서 빼놓을 수 없는 주제중 하나가 운영체제 일 것이다.

현 인류의 조상이 '호모 사피엔스' 라는 사실은 모두가 알고 있다.

그렇다면 현재 사용되고 있는 수 많은 컴퓨터들의 운영체제.

즉, 안드로이드나 맥OS(iOS)의 공통 조상도 있을까?(윈도우즈 빼고..)

있다. '유닉스' 라는 운영체제 이다.

 

오늘은 이 유닉스에 대해 다룬책 '유닉스의 탄생'에 대해 리뷰해 보려고 한다.

 

데니스 리치를 추모하며

이 책은 데니스 리치를 추모하는 글로 시작한다.

데니스 리치는 유닉스 초창기의 핵심 개발자 였고, C언어의 창시자 이다.

(사실 이 책을 읽을때 까지만 해도 데니스 리치가 유닉스 개발에 핵심 멤버일 거라고는 상상도 못했다.)

그리고 데니스 리치의 말로 서문을 시작한다.

 

"옛 추억이 위로가 되는 이유는 장미빛을 띠는 경향이 있기 때문입니다.
좋아했던일, 오래 했던 일, 더 나은 삶을 살기 위한 기술을 창조하는데 기여 했다는 기쁨이 주로 떠오릅니다."
- 데니스 리치 -

이 책이 재미있었던 이유는, 데니스의 말처럼 처음으로 컴퓨터를 접했던 즐거웠던 어린 시절의 옛 추억이 떠올랐기 때문일 것이다.

내가 처음 접했던 컴퓨터는 3.5인치 플로피 디스크로 구동되었던, AT 컴퓨터 였다.

게임 하나를 하기 위해 1년 동안 모았던 용돈을 털어, 3.5인치 디스크 10장 정도가 필요했던 게임을

학교 앞 컴퓨터 가게에서 구입(불법 복제)해 학교 컴퓨터로 돌려 보았었다.

구동하기도 어려웠지만, 구동이 되어도 잘 돌아가지는 않았다.

 

책은 원래 유닉스의 역사를 제대로 다뤄보려고 했지만,

어느 순간부터 회고록에 가깝게 변했다고 브라이언 커니핸(저자)이 말했다.

그래서 인지 따분한 사실 위주의 역사서라기 보다는,

유닉스 개발을 중심으로 그 당시의 사회 모습과 개발자들이 생각들을 옅볼 수 있는 즐거운 읽을 거리가 되었다.

 

이 책은 유닉스 탄생과 발전 과정 이 외에도 개발자라면 마음에 새겨 두어야 할 여러 가지 이야기를 해준다.

하지만 가장 내 관심을 끌었던 부분은 당시 '벨 연구소' 라는 회사의 문화와 경영진의 마인드이다.

즉, 어떻게 유닉스가 만들어 질 수 있었는지, 어떤 지원이 있었는지가 궁금했다.

브라이언도 아래와 같이 말하고 있다.

"유닉스가 어떻게 만들어졌는지 이해하려면 벨 연구소를 알아야 한다. 특히 벨 연구소가 일하는 방식과 창조적인 연구 환경을 이해해야 한다."

 

브라이언 커니핸이 말하는 벨 연구소의 문화를 요약해 보면 아래와 같을 것이다.

 - 누가 무엇을 하든 간섭하지 않으며, 스스로 자신만의 연구 주제와 공동 연구자를 찾도록 내버려 두었다.

 - 글쓰기에 대해 개발자들이 진지하게 생각하고 있었고, 경영진들은 글쓰기를 지지해 주었다.

 - 동료간의 협력 관계를 지향하는 평가 제도가 있었다.

 - 개인 사무실 외에 공유 공간(유닉스 방)을 두어 개발자들 간의 교류가 활발하게 일어 날 수 있도록 있었다.

 

 

마지막으로 개발자라면 항상 유념해 두어야 할 몇가지 내용을 정리해 본다.

1. 부적절한 재주는 프로그래밍에서 좋은 생각이 아니다. 코드를 명확하게 작성하고, 지나친 재주를 부리지 말아라.
2. 각 프로그램이 한 가지 일을 잘 하게 만들어라.
3. 모든 프로그램의 출력이 다른(아직 알려지지 않은) 프로그램의 입력이 될 것을 예상하라.
4. 소프트웨어를(심지어 운영체제라도) 일찍, 이상적으로는 수주 이내에 사용해 볼 수 있게 설계하고 구축하라. 어술픈 부분을 버리고 다시 구축하는 것을 망설이지 마라.
5. 프로그래밍 과제의 부담을 덜고자 할때 비숙련자의 도움보다는 도구를 우선적으로 사용하라.

 

복잡한 머리고 식히고 싶다면 한 번 읽어 보기를 추천한다.

 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."
반응형