BSD Unix의 역사
글쓴이: 권순선 / 작성시간: 일, 2008/02/03 - 9:26오후
인터넷을 돌아다니다 우연히(?) 발견한 글입니다. salon.com 에서 연재된 "BSD Unix : Power to the people, from the code"를 번역한 거라고 하네요. 번역자로 되어 있는 세분 중 한분은 여기 KLDP 회원인것 같고, 다른 한분도 아마 예전에 몇몇 행사에서 직접 뵌 적이 있는 분인 것 같네요.
1부: http://drshin.tistory.com/123
2부: http://drshin.tistory.com/124
3부: http://drshin.tistory.com/125
4부: http://drshin.tistory.com/126
꽤 긴 글인데 한번 시간내어 읽어볼만 합니다. 저도 아직 다 못 읽었지만... 번역하느라 고생했을 학생들의 땀과 열정이 느껴지는군요. :-)
Forums:
이런 글을 볼때마다,
이런 글을 볼때마다, 대단하다는 생각만 들 뿐입니다.
리누스 토발즈가 제 나이때에 리눅스 개발을 시작했다고 합니다.
빌 조이씨는 대학 입학때 이미 알고리즘을 개발했다는군요.
지금까지 내일 1교시 회로이론 기말고사를 앞두고 정현파의 복수표시와 씨름하고 있었는데
이런 글을 읽으면서 앞으로 어떤 방향으로 나아가야 할지에 대한 생각을 정리해보게 됩니다.
(근데 웬만하면 일단 기말고사는 끝내고 정리해도 되는데;;;)
Summa Cum Laude
http://www.hanb.co.kr/look.ph
http://www.hanb.co.kr/look.php?isbn=89-7914-069-X
에서 "버클리 유닉스의 20년"과 같이 읽으면 (겹치는 내용도 많지만) 더 좋을것 같네요.
--
익스펙토 페트로눔
--
익스펙토 페트로눔
읽으려고 했는데, pdf
읽으려고 했는데, pdf 파일에서 한글이 깨져서 나옵니다.. 전에도 가끔 한글 pdf 파일 읽으면 그랬는데,
어떻게 해야 할까요?;;
우분투 7.10에 pdf 리더로는 evince (기본으로 설치된 것) 을 쓰고 있습니다. 시스템 로케일은 utf-8입니다.
--->
데비안 & 우분투로 대동단결!
--->
데비안 & 우분투로 대동단결!
xpdf, xpdf-korean package를
xpdf, xpdf-korean package를 설치해보는 것을 권합니다.
-----
오늘 나의 취미는 끝없는, 끝없는 인내다. 1973 法頂
-----
오늘 나의 취미는 끝없는, 끝없는 인내다. 1973 法頂
저도 한때 BSD 를
저도 한때 BSD 를 사용하려고 노력을 하던 시절이 있기는 했습니다만... 한가지를 느끼고 포기를 했었습니다. 이 한가지가 아직도 변경되지 않았다는 점도 주목할만 하다고 생각 됩니다.
일단, 제가 개발자가 아니라는 점을 지적해야 하는데..
대부분의 운영체제는 개발자가 운영을 하지 않습니다. 업계적인 용어로, 대부분의 시스템들은 S.A (System administrater) 들이 운영을 합니다. 그리고 그 시스템에 대한 기술적 문제를 해결하는 사람들은 개발자들보다 System Engineer(S.E) 들이 우선시 됩니다.
여기서 차이가 좀 보이는데, 우리나라에서는 S.A 라는 용어를 좀 낮게 취급을 하는지, S.A 의 위치에 있는 사람들이 대부분 S.E 라는 직합을 가지고 있습니다. 반면에 외국의 S.E 들을 보면 제 수준에서는 제 주변의 왠만한 개발자 보다 개발 능력이 더 좋으신 분들이 수두룩 합니다.
잠시 딴길로 샜었는데, 제가 BSD 에서 느꼈던 한가지는 바로, 타협입니다. 이 글에서 보았듯이 BSD 개발자들의 고집(?) 또는 자신감(?)은 너무 강합니다. 즉, 시스템 운영을 하면서, 또는 트러블 슈팅을 하면서 개선을 위해 나온 코드들이 들어갈 구멍이 없다는 것이 문제가 아닌가 싶습니다. 또는 이런 관점의 개발이 등한시 되어 왔지 않나 싶습니다.
물론 리눅스 자체도 이 문제에 대해서는 할 말이 없습니다. 왜냐면 리눅스 커널 역시 이런 문제에 대해서는 별 관심이 없다고 보이거든요. 하지만 커널(알갱이) 위로 올라와서 배포본 문제로 보면 크게 달라집니다. BSD 배포본은 설치부터 패키지 관리까지 별로 편리함이 없습니다. 포트가 아주 좋은 패키지 관리 시스템일지는 모르겠지만, 수백대 수천대의 시스템을 관리하는 입장에서는 포트 보다는 바이너리 패키지가 더 호감이 가게 됩니다. 하지만 이 BSD 의 바이너리 패키지 배포는 의존성 문제 해결부터 상당히 불편하게 되어 있습니다.
또한, BSD 의 getopt 코드는 option 을 argument 뒤에 사용할 수 없습니다. 반면이 GNU 의 getopt 는 상관하지 않습니다.
GNU 코드에서는 이 명령이 문제없이 수행되지만, BSD 코드에서는 제대로 수행되지 못합니다. getopt 의 예는 아주 단적인 면을 보여줍니다. 옵션이 꼭 arguemnt 앞에 와야만 한다는 전제가 크게 문제가 될 것은 없습니다만.. 사용하다 보면 귀찮을 때가 많습니다. 커서를 그만큼 많이 움직여야 한다는 것입니다. 이것이 리눅스와 BSD 배포본의 가장 중요한 차이라고 생각이 됩니다.
이건 BSD 와 LINUX 커널의 문제를 벗어난 철학적인 문제입니다. BSD 커널은 상당히 잘 만들어 졌고 상당히 좋은 커널임에는 의심의 여지가 없습니다. 하지만 배포본을 구성하는 패키지들은 제가 보았을 때 몇몇 commiter 들이 이를 다 감당하기에는 너무나도 벅찬일이고, 그들의 폐쇄적인 구조 때문에 별로 발전을 할 여지가 없었다고 보이기 때문입니다.
빌조이가, 토르발즈가.. BSD 와 LINUX 에 대해서 논하는 것에 대하여 제가 어떤 것이 옳다고 판단을 하기는 힘이 듭니다만.. 이 시스템들을 관리하고 운영하는 입장에서 또한 개선할 능력이 있는 입장에서는 BSD 배포본은 별로 좋지 못한 선택이 아닌가 판단이 됩니다.
그래서 저는 Linux 가 BSD 보다 더 많이 사용되는 이유가 여기에 있지 않은가 생각합니다. Windows 를 예로 들면 Windows 98 은 98번을 재설치를 해야 하고, Windows 2000 은 2000번을 재설치 해야 한다는 농담도 있습니다만, windows 를 사용하시는 분들은 굳이 linux 를 사용해야할 필요성을 못느낍니다. 그만큼 개발자들이 아닌 실 사용자들에게 초점을 맞추었기 때문에 아닌가 싶습니다. Linux 와 BSD 역시 이 부분에서 차이가 나는 것이 아닌가 싶습니다. 아무리 BSD 성능이 좋더라도, 실제 선택을 해야 할 사용자 입장을 제대로 파악하고 반영하지 못한다면 BSD 는 지금 이상을 가기는 힘들 거라 봅니다. 반대로 리눅스가 현재의 정신을 잃어버린다면 다른 커널을 탑재한 배포본으로 사용자들이 다 옮겨갈 수 있다고 봅니다.
인용:아무리 BSD
약간의 오해의 소지가 있을 수 는 있지만 답글을 달아봅니다.
저는 Linux보다는 BSD계열을 좋아하고 또 모든 업무에서도 거의 90% 이상은 BSD를 사용하지만
현재는 성능비교이 있어서는 오히려 Linux가 훨씬 뛰어난것 같습니다.
경험상으로 느끼는 것도 그렇고 각종 벤치마크에서도 더 뛰어나더군요.
이렇게 된 이유가 위에 말씀하신 내용이 하나의 원인일 수 있다는 생각을 합니다.
그럼에도 불구하고 제가 계속 BSD를 사용하는 이유는 제가 사용하는데는 성능적으로 부족함이 없고 또 그냥 익숙해서 입니다 :)
현재 커널 2.6 과
현재 커널 2.6 과 FreeBSD 5 대의 성능 비교에서 network 스케줄러상의 성능은 linux 2.6 이 조금 더 좋게 나오고 SMP 스케줄러상의 성능은 FreeBSD 5 가 좀 더 좋게 나왔습니다. 커널 2.6 에 와서 linux 랑 BSD 의 성능 차이는 거의 없어졌다라고 하는데, 이 부분도 현재는 좀 달라진 상황이 많습니다. (거의 모든 벤치마크들이 1년 또는 2년전의 것들이고, 요즘에 변화가 많습니다.)
FreeBSD 의 경우 현재 버전이 7.x 인것으로 보이고, 저도 6부터는 관심을 접어서 현재 상황이 어떤지 모르겠고, linux 의 경우 CFS/SD 스케줄러 같은 것들이 새로 도입이 되고 있는지라 이에 대한 벤치마크가 어떻게 되는지 모르겠군요.
다만, 제가 논하고자 함은.. 어느것의 성능이 더 좋느냐라는 관점이 아니라는 것입니다. User friendly 할 것이냐 안할 것이냐가 결국에는 흥행(?)의 걸림돌이라는 것이죠. FreeBSD 5 부터 제가 알기로는 BSD 흥행 실패의 원인이 버전 넘버링이 너무 느리다는 것에 이유가 있는 듯 하다면서 업데이트 주기를 빠르게 하고 버전 넘버링을 확 높인 것으로 보이는데, 일리가 없지는 않지만 현업에서 사용하는 사람으로서는 별로 와닿지가 않는다는 것이죠.
꽤 재미있겠는데요...
시간내서 읽어봐야겠습니다. :)
--------------------------------------------
혼자있고 싶습니다. 모두 지구밖으로 나가주세요.
--------------------------------------------
혼자있고 싶습니다. 모두 지구밖으로 나가주세요.