[눈범 진실 2] "64비트 Or 32비트 !"

September 02,2009                      hit:(4595)

눈범이 출시이후 가장 논란의 대상이 되는 것이 바로 "64비트" 관련입니다. 특히 마빠/윈빠들의 공격이 치열합니다. 굳이 예를 들지 않아도 "진정한 64비트가 아니다" 라는 말들이 나오고 있습니다. [한국서 그런 논쟁이 벌어졌다는 것은 아닙니다. 미국 PC World, Wall Street Journal 등 다수의 IT 기자/전문가들이 하는 말입니다.

관련해서 ArsTechnica.com 라는 온라인 IT 매체의 존 서라큐자라는 기자는 장장 24페이지에 달하는 "스노우 리뷰"를 썼습니다. 미친맥에서 조차 "Ars Technica의 설범 리뷰가 나오기전에는 진정한 리뷰는 없다"라고 할 정도 였으니까요. 저두 왜라고 생각했지만 오늘(미국시간 1일) 그 리뷰를 보고 알았습니다. 너무나 긴 내용이고 전문적인 내용이라 머리에 쥐나도록 훑어봤습니다...ㅋㅋ 하지만 64비트 관련해서는 한번 쯤 짚고 넘어가도 될 듯 싶습니다. 울 사이트 고수님들이야 당연히 아시는 거겠지만 저처럼 문외한 들은 이제서야 "아...스노우가 추구하는 64비트가 이런 의미이구나"하고 깨달았으니까요...^^

http://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars/5
http://www.osnews.com/permalink?379368

------------------------------------------

애플은 지난 2003년 팬저를 출시하면서부터 "64비트 운영체제로의 구현"을 시도해왔다. 당시엔 단지 파워피시 기반의 최신 기종 G5 CPU를 위한 최소한의 64비트 지원이었을 뿐이었다. 2005년엔 타이거를 통해 GUI 라이브러리를 건들지 않는 한도내에서 진정한 64비트 지원 체제를 제시했고 2007년엔 마침내 레퍼드가 64비트 GUI 어플리케이션 지원을 가능케했다. 하지만 레퍼드의 64비트 지원은 코코아 어플리케이션에만 국한된 것이었고 사실상의 카본 지원을 포기한 것이나 다름없었다. 따라서 레퍼드의 64비트 지원은 상당히 놀라운 것이었지만 실질적인 맥 OS X가 64비트 완전 지원의 경지에 도달하기에 모자란것이 사실이었다. 그래픽 차트를 보면 그 진행과정을 눈으로 볼 수 있다.

K64

스노우 레퍼드는 실질적으로 64비트 커널을 포함시켜 32비트와 64비트 어플들을 동시에 지원하는 첫 Mac OS X다. 물론 모든 맥 컴퓨터에서 디폴트로 64비트 커널(애플은 이것을 K64 라고 부른다)이 작동하는 것은 아니다. 그 이유는 간단하다. 커널에 의해 로딩되는 다양한 plug-ins들이 바로 디바이스 드라이버다. (우리는 이것을 그 유명한 kext; kernel extension이라고 하죠..ㅋ) 눈법이가 64비트 커널로 작동한다면 디바이스 드라이버들도 64비트로 만들어진것만 로딩된다. 눈범이가 최초의 64비트 커널을 포함한 Mac OS X라는 점을 감안할때 눈범이 릴리즈 쳣날부터 64비트 체제로 그리고 모든 디바이스 드라이버가 준비된 상태로 맥을 사용할 커스토머는 손가락 꼽기라는게 자명한 사실이다.

하지만 애플은 디폴트로 64비트 커널이 작동하는 모델을 2008년 이후 생산된 "Xserver"로 한정지었다. 의미인 즉, Xserver에 장착된 디바이스 드라이버들은 이미 64 비트 지원 가능하도록 준비됐었고 이제 눈범이를 통해 그 기능을 이용할 수 있다.

64비트를 지원하는 CPU (코어2듀어/제온 이상)가 장착된 맥모델 중에서도 64비트 커널로 작동하지 않는 것들이 있다는게 좀 실망스럽다. 하지만 스노우가 업데이트되면 이런 문제는 사라질 것이다. 다음 테이블이 맥에서 64비트 커널 지원여부를 설명한다.

Product Model name K64
Early 2008 Mac Pro MacPro3,1 Capable
Early 2008 Xserve Xserve2,1 Default
MacBook Pro 15"/17" MacBookPro4,1 Capable
iMac iMac8,1 Capable
UniBody MacBook Pro 15" MacBookPro5,1 Capable
UniBody MacBook Pro 17" MacBookPro5,2 Capable
Mac Pro MacPro4,1 Capable
iMac iMac9,1 Capable
Early 2009 Xserve Xserve3,1 Default


64비트 커널 작동이 가능한 맥 모델들이 디폴트로 32비트 커널로 작동하게 돼있지만 부팅할때 "6"과 "4"를 동시에 누르면 64비트 커널이 작동하는 것을 알수 있다. 아예 첨부터 64비트로 작동하게 만들고 싶다면 command를 이용해 "arch=x86_64를 " boot.plist 에 수정, 입력시켜주면 된다. 만약 32비트 커널로 다시 바꾸고 싶다면 시동시 "3"과 "2"를 동시에 누르면 된다.

한편 위 차트에 빠져있는 일부 맥노트북(맥북/맥에어 등)은 64비트 CPU와 64비트 EFI까지 준비된 기종이지만 의도적으로 32비트 커널로만 작동하도록 돼있다. 이로 인해 애플에 대한 원성도 있지만 조만간 해결될 것으로 보인다.

왜 64비트 커널이 디폴트로 작동하지 않는 이유에 대해서는 이미 드라이버 지원 문제를 언급했다. 하지만 스노우가 나왔고 드라이버 지원이 서서히 해결되면 당연히 64비트 커널로 사용해야된다고 생각하는 사람들을 위해 추가적인 설명을 보태겠다. 우선 RAM 메모리와의 관련성이다. 레퍼드 32비트 운영체제임에도 불구하고 32체제의 상한선으로 알려진 4GB 이상의 RAM을 활용할 수 있다는것을 모두 알것이다. 하지만 RAM 사이즈가 증가하게되면 어플리케이션이 아니라 커널에서 작동하는 address space depletion 문제가 발생할 수 있다.(잘 이해가 안됩니다...ㅋ)

32비트 커널은 사실 32비트 어드레스 스페이스(4GB RAM)만을 사용하는 것이다. 이 것이 문제는 아니다. 커널이 4GB이상의 메모리를 요구하진 않기 때문이다. 하지만 커널의 일부 역할 중에는 시스템 메모리를 조절하고 운영해주는 기능이 있다. 그리고 그 커널은 64 byte 구조를 이용해 RAM의 각 4 KB 페이지를 읽고 조정한다. Kilobytes가 아니라 64 byte 구조임을 잊지 마시라.

하지만 머지않은 미래에 맥은 96GB RAM을 사용하게 된다. 지금으로써는 상상하기 어렵지만 사실 5년전 지금과 같은 맥의 8 GB RAM도 상상하기 어려웠다. 96GB의 램을 트래킹하고 조정하려면 1.5GB의 커널 어드레스 스페이스가 요구된다. 따라서 현재로서 4GB 기준의 램 메모리를 감안할때 스노우 레퍼드의 64비트 커널을 사용해서 3분의1에 해당하는 메모리를 잠식한다는 것을 감안해야한다.

한편 64 bit 커널은 무한대로 kernel address space를 사용할 수 있다.(16 exabytes) 그리고 데스크톱 시장에서의 RAM메모리가 빠르게 확장되는 가운데 64비트 커널은 필연적인 것이다. 지금 당장은 아니더라도 조만간 64비트의 상용화가 도래할 것이다. 또 서버의 경우는 이미 두자리 숫자의 RAM이 사용되고있다.

맥의 64비트가 가져오는 장점 중 또다른 한가지는 스피드다. 애플이 주장하는 것을 보면 call entry point에서 250% 더 빠르고 kernel user/kernel memory copy에서 70%가 더 빠르다고 한다.

벤치마크가 이를 입증할 것으로 보인다. 하지만 일상적인 사용자들은 64커널 때문에 성능향상을 느낀다는것이 불가능하다. 다만, 64비트 커널이 서버단에서의 병목현상을 없애는데 큰 기여를 할 것은 이론의 여지가 없다.

따라서 64비트 운영체제하에서 64비트 커널이 제대로 작동하는 것을 느낄 수 있다는 것은 결국 96GB RAM을 장착하고 32비트 디바이스 드라이버 하나도 없는 시스템에서만 가능한 것이다. 이제 왜 애플이 완전한 64비트 운영체제를 선보이면서 일부모델에 32비트 커널 모드로 작동하게 했는지를 알것이다. 애플의 시작으로 조만간 모든 사람들이 64비트 컴퓨팅시대를 맞게될 것은 분명하다.

마지막으로 아주 주요한 포인트가 있다. 스노우 레퍼드에서 64비트 어플리케이션을 구동시키고 4GB RAM 이상의 메모리를 설치한다는게 반드시 64비트 커널을 요구하는 것은 아니다. 이미 스노우 레퍼드는 32비트 커널 모드에서도 64비트 어플리케이션과 4GB 이상의 RAM 설치를 완벽하게 지원한다.

64비트 어플리케이션

스노우는 현재 아이튠/Grapher/디비디플레이어만 제외하고는 모든 따라오는 어플이 64비트이다. Finder, Dock, Mail, TextEdit, Safari, iChat, Address Book, Dashboard, Hekp Viewer, Installer, Terminal, calculator 등 모든것이 64 bit 프로그램이다. 애플은 또 앞으로 가급적 32비트 API 지원을 줄여나간다고 했다. 말인 즉, 64비트 소프트웨어의 강력한 추진이다. 이미 레퍼드 시절 소개된 Objective-C 2.1 런타임도 64 bit만 지원하고 있다. 가장 눈범이에서 가장 중요하게 나타나고 있는 64 bit 만의 API는 바로 QuickTime X(10)다. 너무나 중요한 대목이다.

애플이 주도하는 이런 API들은 강요하는 것이 아니라 자연스런 전환을 유도하는 것이기에 더욱 개발자들의 환영을 받고 있다. 물리적인 강요가 아닌 개발자 스스로 64비트 전환이 쉽게 이뤄지도록 주의깊게 고안된 것이라는 점이 포인트다.

-------------------------------------------------

위 내용은 전문가를 위한 사라큐즈의 리뷰중 64비트만 발췌한 것입니다. 저같은 컴맹이 좀더 쉽게 이해하기 위해서 다음 글을 옮겼봤습니다.

http://www.ahatfullofsky.comuv.com/English/Programs/SMS/SMS.html

-------------------------------------------------

우선 맥에서 제공하는 지금 까지 인텔맥 제품은 다음과 같은 CPU를 장착하고 있습니다.

1. 인텔 CoreDuo Processor는 32 bit CPU --> 스노우 레퍼드는 32비트로 작동합니다.
2. 인텔 Core2Duo 64 bit CPU --> 스노우 레퍼드가 64비트로 작동할 수 있습니다.

애플에 따르면 스노우 레퍼드 장착 제품 대다수가 디폴트로 32비트 커널 모드로 작동 합니다. 위에서 언급한것처럼 디비디 플레이어, 아이튠스, Grapher등은 아직 64비트 어플이 아닙니다. 하지만 그외의 모든 64비트 소프트웨어들은 32비트 커널 모드에서도 64비트로 작동합니다!

애플은 의도적으로 일부제품에 스노우 레퍼드 64비트 커널 모드에 제한을 걸었습니다. 64비트 EFI가 장착됐음에도 32비트 커널이 작동한다는게 바로 그것입니다.하지마 그렇다해도 모든 64비트 어플리케이션 (메일, 사파리, 파인더, 아이챗 등)이 64 비트로 작동합니다.

바로 드라이버 호환성 때문에 이런 제한을 걸어둔 것입니다. 다시 말하지만 32비트 커널모드로 작동해도 실질적인 사용에서 모든 64비트 프로그램은 64비트로 작동한다는 것입니다. 반대로도 마찬가지입니다. 만약 64비트 커널 모드로 부팅됐다해도 32비트 어플리케이션이 정상작동합니다.

따라서 스노우가 32비트 커널모드로 작동한다며 64비트 운영체제가 아니라고 하는것은 잘못된 지적입니다.

현재 문제가 되는 것은 Core2Duo 맥북과 맥에어 기종입니다. 64비트로 부팅하려해도 애플에서 블록을 걸어놨습니다. 애플의 의도적인 블록이며 곧 이에 대한 추가지원이 해결될 것으로 보입니다.

comment : (0)

      [Save a Comment]

[Prev]
 LA
 SEOUL
   JP
   Mission Viejo, CA,
   United States
   THE GREEN FUSE (RSS 구독)
   LaymenBlog
   x86osx.com