웹 서핑을 하다가 일본에서 “Plan 9”와 관련된 모임을 소개한 글이 있어서 좀 더 알아보았는데 재미있는 역사가 있었더군요.

 

 

Plan 9의 특징

 

Plan 9UNIX를 만든 벨 연구소에서 UNIX C 언어를 만든 켄 톰슨, 데니스 리치, 롭 바이크로 이루어진 팀이 기존의 UNIX가 가지고 있는 한계를 부수기 위해서 차세대 UNIX로 개발하고 있었던 분산 OS.

네트워크나 GUI를 처음부터 UNIX의 설계 사상을 근거하여 도입한 선진적인 OS로 미래의 UNIX가 될 예정이었음.

 

UNIX의 특징은 디바이스를 파일에 매핑하여 추상화 한다는 것임.

그러나 시대의 흐름과 함께 기존의 UNIX에 네트워크나 그래픽스가 추가되면서 초기 설계시의 초상화에서 빠진 API가 증가. Plan 9에서는 이것들을 다시 UNIX적인 파일 시스템 트리에 매핑하여 추상도와 통일성 높은 인터페이스를 준비하려고 했음. 즉 일반적으로 상상하는 하드웨어 디바이스만이 아닌 모든 자원을 파일로 추상화 하려고 함.

 

위의 특징 때문에 당시에는 Plan 9 UNIX보다 더 UNIX이라고 소개되어 재미있어하는 UNIX 유저가 적지 않았다고 한다.

 

위의 특징 말고도 용량 설계나 백업, 버전 관리의 문제를 없앰 “WORM” 이나 “dumpfs”라고 불리는 구조나 네트워크 드라이브 마운트 시의 이름 공간 문제를 해결하는 구조 등 새로운 아이디어로 가득 찼다고 합니다.

 

 

Plan 9의 실패 이유

 

Plan 9 2002 4월에 릴리스 4를 낸 이후로 개발은 중단.

 

왜 실패한 이유에 대해서 2003년 에릭 S 레이몬드(예의 유명한 분입니다)가 하나의 해답을 주었음. 여기에는 정말 정말 중요한 교훈이 있었다고 함.


실패 이유로 활발하지 않았던 마케팅이나 다양한 이유 들 수가 있지만 가장 큰 이유는 이전 UNIX에서 옮겨 올 정도로 선진적이지 않았기 때문이라고 합니다.


Plan 9에 비해 기존의 UNIX가 불편한 점이 있지만 그래도 충분히 필요한 일을 해낼 수 있었다고 합니다.

Plan 9 UNIX의 사례로부터 야심적인 시스템 설계자에 대해서 레이몬드씨가 말한 교훈은 보다 좋은 솔루션에 대해 가장 위험한 적이라는 것은 충분히 좋은 기존의 코드 베이스(the most dangerous enemy of a better solution is an existing codebase that is just good enough.)」라고 하는 것.

 

위와 같은 문제는 Windows XP에서 Vista로의 이행에서도 나타난 문제였습니다.

 

 

Plan 9의 흔적

 

Plan 9는 실패했지만 Plan 9에서 유래된 것들이 Linux BSD UNIX에서 받아들여졌습니다.

실행 중인 프로세스를 모니터 하거나 조작하기 위한 “/proc”라고 불리는 파일 시스템.

Linux에서 스레드를 생성하는 시스템 호출인 “clone”Plan 9“rfork”를 모델로 하고 있음.

LinuxFUSE(Filesystems in Userspace)Plan 9의 영향을 받았음.

이용 범위가 점차 넓혀지고 있는 UTF-8 Plan 9를 위해서 고안된 인코딩.

 

 

 

 

참조 :

“Plan 9는 죽지 않았다” GREE 스터디 리포트

http://jibun.atmarkit.co.jp/ljibun01/rensai/photo/03/01.html

 

Linux에 이길 수 없었던 Plan 9

http://www.atmarkit.co.jp/news/analysis/200902/09/future.html

 

저작자 표시
신고
by 흥배 2010.02.16 00:18
| 1 |