출처 : http://www.albireo.net/forum/showthread.php?t=9165
좋은글이라 퍼 담았습니다.
배워보자. 애플이 바꾼 유닉스

Apple’s Changes to UNIX Can Infuriate, Mystify, Delight
by John Martellaro on February 3rd, 2009 at 9:00 AM
모든 맥오에스텐 사용자는 알듯, 초기 유닉스 운영체제들은 일반적인 소비자용 운영체제였던 적이 없었다. 그러나 애플이 기적과 같이 바꾸어 놓았다. 하지만 그를 위해 유닉스 내부 구조에 상당한 변화를 가져와야 했다. 이점을 싫어하거나 당혹스러워하는 유닉스 전문가나 IT 관리자들이 있다. 그러기 싫다면, 다른 신기술처럼 맥오에스텐도 공부를 해야 한다. 당연하다.
유닉스를 일반인 친화적으로 만들려는 시도는 리눅스 진영에서 이미 있어왔다. 하지만 그 시도는 근본적이라기보다는, 화장술에 가까웠다. 가령 CDE와 KDE, Gnome (그리고 노틸러스 파일관리자)과 같은 GUI는 맥과 윈도를 따라하려 노력했었다. 그러나 리눅스의 근본은 그리 크게 바뀌지 않았다. 지속성과 예측가능성을 좋아할 시스템 관리자들 정도가 리눅스를 사용하기 때문이기도 하다. 또한 개개인으로부터의 작지만 점차 커져가는 기여를 통해 쌓은 리눅스 사업모델은, 돈과 조직이 제공할 수 있는 애플식 방식과는 달랐다.
If it Works, Don't Fix it
맥오에스텐 10.0 Cheetah가 나왔을 때가 2001년 3월이다. 당시 필자는 애플의 철학에 대해 썼었다. 당시 애플은 일단 새 운영체제를 발표하기 위해 노력했었다. 즉, 무슨 기능을 잘 이루는 것보다는, 제일 중요한 곳에 역점을 두는 것이 더 중요했다. 맥오에스텐의 경우, Netinfo와 BSD 4.4 유닉스 기본은 넥스트에서 작동했었는데, 무엇보다 중요한 일은 Display Postscript를 제거하여 QuickDraw를 보다 새롭고 현대적인 2D 드로잉 시스템, Quartz에 넣을 수 있도록 하는 것이었다.
그래야 제일 중요한 이주, 즉 맥오에스 9의 클래식으로부터 현대적인 카본과 코코아로의 이주를 이룰 수 있었다. 중요한 일에 집중하고, 다른 유닉스 부분은 그저 돌아가는 정도로 놓아두는 것의 사례가 바로 맥오에스텐 10.0이었다.
Moving Forward
새 운영체제를 발표할 때 집중이 중요하다면, 향후 어떤 한계가 있을지 정확히 아는 것도 중요하다. 맥오에스텐을 어떻게 하면 완전히 소비자 친화적으로 하는지, 신뢰성과 보안을 높일 수 있는지를 애플은 미리 염두에 두고 있었다. /etc/rc.d와 같은 것을 launchd와 System Starter로 어떻게 이주시켰는지 시시콜콜 밝히지는 않겠다. 간단히 말해서, 이것도 시스템의 신뢰성과 융통성을 위해 이루어졌다. 누군가 rc.d 파일을 어지럽혀서 유닉스 서버 부팅이 안된다면, 유닉스 시스템 관리자부터 불러야 한다. 그러나 소비자들은 그럴 수가 없기 때문에, OS 부팅과 대몬 활성화에 완전히 새로운 방식이 필요했다.
간단하게나마 애플이 맥오에스텐에서 유닉스를 바꾼 사항에 대해 몇 가지 써 보면 다음과 같다.
주안점은 따로 있다. 맥오에스텐은 진화중인 시스템이며, 유닉스의 기반에서 오픈소스의 유산을 여전히 유지하고 있다. 가령, 보안개선용으로 애플리케이션 샌드박싱을 해 주는 Mandatory Access Control은 TrustedBSD에서 나왔다.
The IT Manager's Dilemma
IT관리자들도 요새는 애플 소매스토어가 여기 저기에 생겨나고 맥의 보안에 대한 명성, 아이폰과 아이포드 덕택에 애플의 성공담을 더 잘 알고 있다. 이 모두가 맥오에스텐에 대한 호기심을 불러일으키는 후광효과를 일으키고 있다. (그럼에도 불구하고, 맥오에스텐/다윈이 현재 FreeBSD UNIX 기반임을 여전히 모르는 PC/윈도 열광론자들이 여전히 남아있음을 덧붙여야겠다.)
그 결과 리눅스에 대해 잘 아는 젊은 엔지니어에게 선배 관리자가 맥오에스텐을 공부하고, 한 번 써 보는 것을 준비해봐라고 말한다면 어떨까? 8년간의 변화를 갑자기 공부해야 한다. 솔라리스나 리눅스 전문가들에게 배우는 것도 별 도움이 안된다. 그들의 반응이야 이렇게 나올 수 있다. "오마이갓(Omigod), 이건 외계인 유닉스야! 애플이 뭘 해놓았는지 전혀 모르겠어!"
불행히도, 당혹스러움은 좌절과 조롱으로 바뀔 때가 종종 있다. 이 때문에 애플과 맥오에스텐에 대한 경험 없이, 애플이 조성한 보다 현대적인 유닉스의 장점을 활용하기란 쉽지가 않다.
Remedies
위와 같은 상황인 IT 관리자들이 볼 수 있는 자료는 많다. 관건은 어디서부터 시작하느냐이다.
애플 개발자프로그램에 들어간 핵심인력을 여름마다 열리는 애플의 WWDC로 보내라. 두 번 이상 보내어야 한다.
맥오에스텐에서 애플이 무엇을 바꾸었는지 설명하기 위한 소스가 있다. 가령, "Mac OS X Internals"와 "Mac OS X for Unix Geeks"가 있다. 아쉽게도, 훌륭한 "Mac OS X Unleashed" 시리즈는 Tiger가 마지막이었다.
이미 맥오에스텐 내부를 알고 있는 애플 스페셜리스트로부터 훈련을 받아도 좋다. 추가해서, 기업용 맥오에스텐에 대해 Computerworld에 기고해온 라이언 파스(Ryan Fass)도 있다.
맥오에스텐 서버의 sysadmin 툴에 대해 배우도록 하라. 가령 Apple Remote Desktop이 있겠다.
동네 애플 판매처 대표와 손잡고 쿠퍼티노 브리핑 일정을 짜 보라. 꼭 캘리포니아 쿠퍼티노가 아니라 다른 대도시라도 좋다. 리눅스보다 무엇이 더 나은지, 무엇이 더 차별화되었는지 주요기술을 중역에게 브리핑하도록 하자.
lists.apple.com의 애플리스트 서버 그룹 중 하나에 가입하라. 애플 엔지니어들이 이들 그룹을 모니터링하고 있으며, 가끔 도움도 준다. Fed-talk과 Unix-porting, Scitech은 유용한 포럼이다.
MacResearch.org와 MacEnterprise.org와 친해져라.
과거에는 맥월드의 IT Track 컨퍼런스 참여가 IT 전문가들을 만나는 훌륭한 통로역할을 했었다. 그들 중 많은 수가 수 천대 맥 설치와 설정 책임자들이다.
The OS From Mars?
맥오에스텐은 외계인 유닉스가 아니다. 최고의 기술이자, 자금력이 튼튼하고 매우 경쟁력 있는 대규모 기관이 크게 기여한 유닉스 기술이다. 물론 무엇이라도 학습시간은 필요하다. 인내심과 호기심, 학습이 필요한 때이다.
The teaser image is "Hexley," the official Darwin Mascot.
* Darwin is the core UNIX, FreeBSD, evolved from 4.4BSD + changes contributed by Apple. Darwin plus Apple's proprietary GUIs and additional features constitute Mac OS X.
John Martellaro is a senior scientist and author. A former U.S. Air Force officer,he has worked for NASA, White Sands Missile Range, Lockheed Martin Astronautics, the Oak Ridge National Laboratory and Apple Computer. During his five years at Apple, he worked as a Senior Marketing Manager for science and technology, Federal Account Executive, and High Performance Computing Manager. His interests include alpine skiing, SciFi, astronomy, and Perl. John lives in Denver, Colorado.
http://www.macobserver.com/tmo/artic...stify_delight/
좋은글이라 퍼 담았습니다.
배워보자. 애플이 바꾼 유닉스

Apple’s Changes to UNIX Can Infuriate, Mystify, Delightby John Martellaro on February 3rd, 2009 at 9:00 AM
"If you have always done it that way, it is probably wrong." -- Charles Kettering |
모든 맥오에스텐 사용자는 알듯, 초기 유닉스 운영체제들은 일반적인 소비자용 운영체제였던 적이 없었다. 그러나 애플이 기적과 같이 바꾸어 놓았다. 하지만 그를 위해 유닉스 내부 구조에 상당한 변화를 가져와야 했다. 이점을 싫어하거나 당혹스러워하는 유닉스 전문가나 IT 관리자들이 있다. 그러기 싫다면, 다른 신기술처럼 맥오에스텐도 공부를 해야 한다. 당연하다.
유닉스를 일반인 친화적으로 만들려는 시도는 리눅스 진영에서 이미 있어왔다. 하지만 그 시도는 근본적이라기보다는, 화장술에 가까웠다. 가령 CDE와 KDE, Gnome (그리고 노틸러스 파일관리자)과 같은 GUI는 맥과 윈도를 따라하려 노력했었다. 그러나 리눅스의 근본은 그리 크게 바뀌지 않았다. 지속성과 예측가능성을 좋아할 시스템 관리자들 정도가 리눅스를 사용하기 때문이기도 하다. 또한 개개인으로부터의 작지만 점차 커져가는 기여를 통해 쌓은 리눅스 사업모델은, 돈과 조직이 제공할 수 있는 애플식 방식과는 달랐다.
If it Works, Don't Fix it
맥오에스텐 10.0 Cheetah가 나왔을 때가 2001년 3월이다. 당시 필자는 애플의 철학에 대해 썼었다. 당시 애플은 일단 새 운영체제를 발표하기 위해 노력했었다. 즉, 무슨 기능을 잘 이루는 것보다는, 제일 중요한 곳에 역점을 두는 것이 더 중요했다. 맥오에스텐의 경우, Netinfo와 BSD 4.4 유닉스 기본은 넥스트에서 작동했었는데, 무엇보다 중요한 일은 Display Postscript를 제거하여 QuickDraw를 보다 새롭고 현대적인 2D 드로잉 시스템, Quartz에 넣을 수 있도록 하는 것이었다.
그래야 제일 중요한 이주, 즉 맥오에스 9의 클래식으로부터 현대적인 카본과 코코아로의 이주를 이룰 수 있었다. 중요한 일에 집중하고, 다른 유닉스 부분은 그저 돌아가는 정도로 놓아두는 것의 사례가 바로 맥오에스텐 10.0이었다.
Moving Forward
새 운영체제를 발표할 때 집중이 중요하다면, 향후 어떤 한계가 있을지 정확히 아는 것도 중요하다. 맥오에스텐을 어떻게 하면 완전히 소비자 친화적으로 하는지, 신뢰성과 보안을 높일 수 있는지를 애플은 미리 염두에 두고 있었다. /etc/rc.d와 같은 것을 launchd와 System Starter로 어떻게 이주시켰는지 시시콜콜 밝히지는 않겠다. 간단히 말해서, 이것도 시스템의 신뢰성과 융통성을 위해 이루어졌다. 누군가 rc.d 파일을 어지럽혀서 유닉스 서버 부팅이 안된다면, 유닉스 시스템 관리자부터 불러야 한다. 그러나 소비자들은 그럴 수가 없기 때문에, OS 부팅과 대몬 활성화에 완전히 새로운 방식이 필요했다.
간단하게나마 애플이 맥오에스텐에서 유닉스를 바꾼 사항에 대해 몇 가지 써 보면 다음과 같다.
- System Starter와 launchd는 cron, init.d, xinetd, mach_init를 교체하였다 (10.4)
- Open Directory가 Netinfo를, dscl 커맨드가 useradd를 교체하였고 lookupd는 사라졌다. (10.5)
- 애플리케이션과 포트를 묶는 애플 파이어월이 IPFW2 파이어월을 대체하였다. (10.5)
- 맥오에스텐 앱(app) 패키지가 서포트파일의 boatload에 있는 싱글 바이너리를 대체하였다. (10.0)
- 리눅스의 경우 tar 파일 압축을 푼 다음 버전별로 컴파일해야 한다. 이와는 달리 맥은 번들, 프리컴파일
바이너리 패키지의 개념을 선보였다. 그 결과 Redhat의 RPM과 같은 패키지 매니저가 필요 없어졌다. (10.0) [그러나
오에스텐은 패키지 receipt를 유지하고 있다.]
- Spotlight 검색을 위한 HFS+ 메타데이터. (10.4) [파일시스템 개선으로 봐야겠지만, 포함시켰다.]
- Bonjour (Zero-configuration networking)
주안점은 따로 있다. 맥오에스텐은 진화중인 시스템이며, 유닉스의 기반에서 오픈소스의 유산을 여전히 유지하고 있다. 가령, 보안개선용으로 애플리케이션 샌드박싱을 해 주는 Mandatory Access Control은 TrustedBSD에서 나왔다.
The IT Manager's Dilemma
IT관리자들도 요새는 애플 소매스토어가 여기 저기에 생겨나고 맥의 보안에 대한 명성, 아이폰과 아이포드 덕택에 애플의 성공담을 더 잘 알고 있다. 이 모두가 맥오에스텐에 대한 호기심을 불러일으키는 후광효과를 일으키고 있다. (그럼에도 불구하고, 맥오에스텐/다윈이 현재 FreeBSD UNIX 기반임을 여전히 모르는 PC/윈도 열광론자들이 여전히 남아있음을 덧붙여야겠다.)
그 결과 리눅스에 대해 잘 아는 젊은 엔지니어에게 선배 관리자가 맥오에스텐을 공부하고, 한 번 써 보는 것을 준비해봐라고 말한다면 어떨까? 8년간의 변화를 갑자기 공부해야 한다. 솔라리스나 리눅스 전문가들에게 배우는 것도 별 도움이 안된다. 그들의 반응이야 이렇게 나올 수 있다. "오마이갓(Omigod), 이건 외계인 유닉스야! 애플이 뭘 해놓았는지 전혀 모르겠어!"
불행히도, 당혹스러움은 좌절과 조롱으로 바뀔 때가 종종 있다. 이 때문에 애플과 맥오에스텐에 대한 경험 없이, 애플이 조성한 보다 현대적인 유닉스의 장점을 활용하기란 쉽지가 않다.
Remedies
위와 같은 상황인 IT 관리자들이 볼 수 있는 자료는 많다. 관건은 어디서부터 시작하느냐이다.
애플 개발자프로그램에 들어간 핵심인력을 여름마다 열리는 애플의 WWDC로 보내라. 두 번 이상 보내어야 한다.
맥오에스텐에서 애플이 무엇을 바꾸었는지 설명하기 위한 소스가 있다. 가령, "Mac OS X Internals"와 "Mac OS X for Unix Geeks"가 있다. 아쉽게도, 훌륭한 "Mac OS X Unleashed" 시리즈는 Tiger가 마지막이었다.
이미 맥오에스텐 내부를 알고 있는 애플 스페셜리스트로부터 훈련을 받아도 좋다. 추가해서, 기업용 맥오에스텐에 대해 Computerworld에 기고해온 라이언 파스(Ryan Fass)도 있다.
맥오에스텐 서버의 sysadmin 툴에 대해 배우도록 하라. 가령 Apple Remote Desktop이 있겠다.
동네 애플 판매처 대표와 손잡고 쿠퍼티노 브리핑 일정을 짜 보라. 꼭 캘리포니아 쿠퍼티노가 아니라 다른 대도시라도 좋다. 리눅스보다 무엇이 더 나은지, 무엇이 더 차별화되었는지 주요기술을 중역에게 브리핑하도록 하자.
lists.apple.com의 애플리스트 서버 그룹 중 하나에 가입하라. 애플 엔지니어들이 이들 그룹을 모니터링하고 있으며, 가끔 도움도 준다. Fed-talk과 Unix-porting, Scitech은 유용한 포럼이다.
MacResearch.org와 MacEnterprise.org와 친해져라.
과거에는 맥월드의 IT Track 컨퍼런스 참여가 IT 전문가들을 만나는 훌륭한 통로역할을 했었다. 그들 중 많은 수가 수 천대 맥 설치와 설정 책임자들이다.
The OS From Mars?
맥오에스텐은 외계인 유닉스가 아니다. 최고의 기술이자, 자금력이 튼튼하고 매우 경쟁력 있는 대규모 기관이 크게 기여한 유닉스 기술이다. 물론 무엇이라도 학습시간은 필요하다. 인내심과 호기심, 학습이 필요한 때이다.
The teaser image is "Hexley," the official Darwin Mascot.
* Darwin is the core UNIX, FreeBSD, evolved from 4.4BSD + changes contributed by Apple. Darwin plus Apple's proprietary GUIs and additional features constitute Mac OS X.
John Martellaro is a senior scientist and author. A former U.S. Air Force officer,he has worked for NASA, White Sands Missile Range, Lockheed Martin Astronautics, the Oak Ridge National Laboratory and Apple Computer. During his five years at Apple, he worked as a Senior Marketing Manager for science and technology, Federal Account Executive, and High Performance Computing Manager. His interests include alpine skiing, SciFi, astronomy, and Perl. John lives in Denver, Colorado.
http://www.macobserver.com/tmo/artic...stify_delight/
"PlatForm" 카테고리의 다른 글
- 어제의 트윗 (2010-07-15) 2010/07/16
- 어제의 트윗 (2010-07-13) 2010/07/14
- 어제의 트윗 (2010-07-12) 2010/07/13
- 어제의 트윗 (2010-07-11) 2010/07/12
- 어제의 트윗 (2010-07-10) 2010/07/11
- 어제의 트윗 (2010-07-09) 2010/07/10
- 어제의 트윗 (2010-07-08) 2010/07/09
- 어제의 트윗 (2010-07-07) 2010/07/08
- 스마트폰 어플리케이션 월드 2010를 통해 본 스마트폰 백서 2010/04/05
- 구글에 7억 5천만 달라에 팔린 모바일 광고 솔루션 admob 분석. 2009/12/18
- iphone 출시 관련 정보 2009/11/24
- 안드로이드 폰은 정말로 아이폰의 대항마일까? 2009/11/22
- 크롬OS 발표! 로그인 하는 방법. 2009/11/22
- 배워보자. 애플이 바꾼 유닉스 2009/08/14
- GuestOS에서 CIFS를 통해 화일 카피시 DoS detect 되며 오류 발생 해결 법 2009/04/08
- UNIX 계통도 2009/01/28
- windows vs linux / java vs c# / spring vs dotne... 2008/11/27
- naver bot 2008/11/27
- Stow - Linux에서 소스로 설치한 프로그램 관리 2008/08/13
- VMware 성능 향상을 위한 방법 2008/08/11






37082
4
62








댓글을 달아 주세요