티스토리 뷰

출처 : yes24

 

시험기간이라 한동안 책을 못 읽었는데 어제 종강한 기념으로 한 권 읽었다.

2주전 쯤에 3장까지 읽었던거 같은데 오랜만에 보니까 기억이 흐릿했다.

틈틈히 읽어서 좋은 책도 있지만 이 책처럼 흐름에 따라 진행되는 책은 한 번에 읽어야 머리에 잘 들어오는 것 같다.

 

유닉스는 컴퓨터의 역사에 대해 들어본 사람이라면 한 번쯤은 들어본 이름이다.

지금 많이 쓰이는 운영체제인 리눅스와 Mac OS의 기원이기도하다.

현대 운영체제의 밑거름이라고 볼 수 있겠다.

이런 유닉스의 탄생과정을 직접 만든 사람 (브라이언 커니핸) 한테 얘기를 들을 수 있다는 점에서 이 책의 메리트는 충분한 것 같다.

 

위키피디아에서 저자인 브라이언 커니핸의 이름을 볼 수 있다.

 

 

 

벨 연구소 = 6~70년대 실리콘 밸리

유닉스는 벨 연구소에서 탄생했다.

1961년 벨 연구소 전경

아마 벨 연구소하면 맨 처음 생각나는 것은 C언어일 것이다. (나만 그런가??)

C언어도 데니스 리치(유닉스 창시자) 가 유닉스에 사용하기 위해 만든 프로그래밍 언어이다.

최근에 많이 쓰이는 언어인 구글의 Go 도 유닉스 창시자 중 한 명인 켄 톰슨이 공동개발한 것이다.

이런거 보면 한 명의 천재가 10만명을 먹여 살린다는 말이 따오른다.

 

얘기가 샜는데 아무튼 벨 연구소는 세계 최대 통신사인 AT&T의 연구소이다.

때가 6~70년이니 인터넷은 고사하고 개인용 컴퓨터도 없던 시절이다.

한창 전화기로만 통신을 할 때이다.

이러한 시대적 흐름에 비추어보면 AT&T 회사의 위치를 쉽게 이해할 수 있다.

 

저자가 1장과 9장에서 벨 연구소에 대해 설명하는데 최근의 실리콘밸리 저리가라이다.

우선은 당시 AT&T가 가진 자본력을 바탕으로 안정적인 자금과 자원을 지원해준다.

실무 연구자들은 돈에 신경쓸 필요가 없이 자신이 중요하다고 생각하는 아이디어를 몇 년씩 탐구할 수 있었다고 한다.

 

책을 읽어보면 딱히 성과를 내라고 독촉하거나 했다는 적도 없고 기업문화도 상당히 수평적인 것으로 보인다.

일례로 명찰(지금으로 따지면 사원증) 을 달게 했다고 불평했다는 것을 봐서 상당히 자유로운 분위기 였던 것 같다.

물론 여기서 일한사람들이 대부분 아이비리그에서 석박사하고 오신 분들이라 말 안해도 알아서 잘 연구하는 것도 있다.

 

아무튼 벨 연구소는 지금의 실리콘 밸리처럼 풍부한 지원을 해줬고, 안정적인 환경에서 유닉스가 탄생했다.

 

 

 

 

 

경험이 있었기에 성공이 있다

유닉스는 최초의 운영체제는 아니다.

그 이전에도 여러 운영체제가 있었고 그 중에서 나름 성공했던 것이 CTSS 라는 운영체제 였다.

CTSS는 MIT에서 개발한 최초의 시분할 운영체제였다. 

나름의 성공을 거두고 MIT 는 이를 더 발전시키기 위해 새로운 프로젝트를 계획하는데 그 이름이 멀틱스이다

 

멀틱스 개발에 참가한 유닉스 창시자들

이 멀틱스 개발에 유닉스 창시자들이 많이 참여했었다.

멀틱스도 나름 개발이 완료되어 2000년까지 사용되었다고는 하는데, 특수 목적에만 사용한 것으로 봐서 상용화에는 실패했다고 보는게 맞는 것 같다.

 

멀틱스가 상용화에 실패했지만, 일전에 운영체제를 만들고자 하는 노력과 경험이 있었기에 유닉스가 탄생할 수 있었다.

비록 지금 눈 앞의 결과물이 작아보일지라도 더 나아기기 위한 믿거름이 되는 경험이라는 것을 책을 보며 다시 느꼈다.

 

 

 

 

 

 

초창기 개발자들의 대단함

책을 읽다보면 초창기 개발자들의 위대함을 느낀다.

출처 : Nokia Bell Labs

일단 6~70년대에는 PC(Personal Computer) 가 없었기 때문에 사진에서 보이는 것처럼 일을 했다.

(창시자들도 피해갈 수 없는 거북목 ㅠㅠ...)

 

이 책에서 가장 많이 나타나는 모델이 PDP-11인데, 유닉스를 돌릴 수 있는 가장 작은 컴퓨터라고 한다.

PDP-11

컴퓨터가 크면 성능이라도 좋아야 하는데 당시 사용했던 PDP-11의 주기억장치는 24KB, 디스크가 500KB 였다고 한다.

기가도, 메가도 아닌 킬로바이트라니!!

 

심지어 유닉스를 만들면서 더 쉽게 만들기 위해 C언어가 탄생했다.

그 말인 즉슨 그 전에는 어셈블리어로 코딩했다는 것이다.

어셈블리어요?

일전에 학교에서 ARM 프로세서를 다루는 수업을 한 적이 있다.

캐시 최적화를 위해 어셈블리어로 코딩을 한 적이 있었는데 나한테는 잘 맞지 않았다... (나만이 아닐 거라 믿는다)

모니터에 떠있는 숫자들만 계속 보고 있자면 눈과 머리가 피곤해진다.

 

지금으로 따지면 이런 극한의 개발환경에서도 한 비트 한 비트 아껴가면서 최고의 프로그램을 만들기 위해 노력했던 선구자들의 노력을 보면 대단하다는 말 밖에 안 나온다.

워낙 훌륭한 사람들이라 아무런 고충이 없었던 것 같지만 그건 또 아니다.

 

이름 짓는 것은 컴고수한테도 어렵다 ㅎㅎ

이름 짓는 것은 역시 나만 어려운게 아니였다 ㅎㅎ

 

 

 

 

 

후기

현대 운영체제의 근간이라 할 수 있는 유닉스의 역사를 알아볼 수 있었다.

저자가 유닉스 창시자이다보니 벨 연구소에 앉아서 코딩하는 것을 옆에서 지켜보는 것같은 생생함이 느껴진다.

약간 인자한 할아버지가 소싯적 얘기를 해주는 느낌이다. (라떼는 느낌은 아님)

 

유닉스는 지금은 많이 쓰이지 않는다.

유닉스의 사촌격인 미닉스에서 수정보완을 거쳐 만들어진 리눅스를 많이 사용한다.

유닉스 조카뻘인 셈이다. (참고로 리눅스 창시자는 21살 때 리눅스를 만들었다고 한다. 나는 21살 때... ㅎㅎ)

 

서문에서 컴퓨터 사용이나 발명의 역사에 관심있는 모든 독자를 위한 책이라고 소개하면서, 전문적인 내용이 조금 나오지만 굳이 다 이해할 필요는 없다고 얘기한다.

근데 배경지식 없으면 조금 읽기 어려울 것 같다는 생각이 든다.

물론 이 책을 읽는다는 것 자체가 어느정도 흥미가 있어서 배경지식이 있겠지만 그래도 컴퓨터에 친숙하지 않은 사람이 읽으면 조금은 힘들 것 같다.

 

소프트웨어에 대한 순수한 열정을 느낄 수 있는 책이였다.

 

😊

 

 

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함