내 직업의 역사서 - 유닉스의 탄생
‘내 직업의 역사서’ - 유닉스의 탄생
나는 첫 회사에서 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라는 이름의 유래부터 왜 운영체제를 만들었고, 어떻게 세상을 지배하게 되었는지 한 사람의 프로그래머로서 책의 모든 부분이 마치 삼국지를 읽는 것처럼 흥미로웠다.
아, 커버의 아스키 아트가 정말 마음에 든다.