레퍼드 64비트 지원...

레퍼드를 소개할 때, 등장하는 문구 중 하나가 "64비트"라는 것입니다.

윈도우즈 비스타를 소개할 때도 "64비트"라는 것에 대해서 많은 홍보를 했던 것으로 기억합니다.
머지 않은 미래의 운영 체제의 주요 기반이 64비트가 될 것이라는 점에는 의문의 여지가 없을 듯 합니다.

타이거도 64비트를 지원하였지만, 이번 레퍼드에서는 뭐가 달라졌는지 궁금했습니다.

찾아보니, 타이거는 GUI를 제외하고는 64비트를 이미 지원하고 있더군요. GUI쪽은 32비트로만 가능했다고 하네요.64비트를 지원하는 응용 프로그램을 만들기 위해서는 GUI따로, 64비트 프로그램(유닉스, 콘솔 기반) 따로 개발해서 연결해야 한다고 합니다.

이번 레퍼드에서는 응용 프로그램 수준에서 64비트 지원이 가능해졌다고 합니다. GUI의 64비트 개발이 가능해졌다고 볼 수 있겠네요(http://developer.apple.com/leopard/overview/ ). 따라서, 따로 따로 개발할 필요없이 하나의 바이너리로 개발할 수 있다는 점이 장점이 되었다고 해야겠군요.

그런데, 확인차 터미널을 열고 Mach 커널 파일을 확인해 보니, 커널 자체는 아직 32비트이네요.

Macintosh:/ $ file /mach_kernel
mach_kernel: Mach-O universal binary with 2 architectures
mach_kernel (for architecture i386):        Mach-O executable i386
mach_kernel (for architecture ppc):        Mach-O executable ppc

x86과 PowerPC용의 32비트 바이너리가 유니버설 바이너리로 묶여 있네요.

음... 이번 레퍼드에서는 전체적인 64비트 지원을 기대했었는데, 애플측에서는 32비트 하위 호환성을 포기할 수 없었나 봅니다.사실, 완전히 64비트로 바뀌어 버리면, 윈도우즈 비스타 64비트 버전에서와 같은 드라이버 비호환성 문제점들이 생길 수 밖에 없겠죠. 커널 자체는 32비트이지만(이 때문에 Core Duo등의 64비트 미지원 32비트 CPU도 문제없이 작동할 수 있는 것이겠죠),64비트 프로그램이 완전하게 구동될 수 있도록 해준다고 하네요.

실제로 /usr/lib/ 디렉토리의 라이브러리 파일들은 각 CPU 종류들을 지원할 수 있도록 유니버설 바이너리로 묶여있네요("$ file /usr/lib/*" 명령으로 확인했을 때, ppc/i386/ppc64/x86_64 4가지를 지원하고있음을 확인할 수 있음).

하긴, 애플 입장도 생각해 볼 수 있겠네요. 아직, 64비트 수요가 그다지 많지 않는데, 굳이 모든 위험을 감수하고,32비트/64비트 버전을 따로 따로 제공하는 것은 이중 일이 될 수도 있고, 드라이버 문제 등의 비호환성 문제가 발생할 위험성도 있으니 말이죠.

레퍼드에 들어 있는 응용 프로그램들은 Chess를 제외하고는 거의 다 32비트용인 것 같습니다(http://forums.appleinsider.com/showthread.php?t=80285 ). 따라서, 애플이 레퍼드에서 제공한 기본 환경에서는 64비트 수행 성능을 확인할 수는 없겠군요. 아마 다음의 어떤 버전에서나 가능해지지 않을까 생각해 봅니다.

by 돌멩이 | 2007/11/01 14:45 | | 트랙백 | 덧글(1)

트랙백 주소 : http://techmania.egloos.com/tb/941757
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by 수상한사람 at 2008/01/13 19:55
유니버설 바이너리를 통해서, 애플은 CPU를 가리지 않게 되었다고 합니다,,
PPC 이던간에, intel 이던간,,,, 32비트이든지 64비트던지,,

하지만,, 유니버설 바이너리로 개발되지 않으면,, 해당이 안된다고 하네요,
Leopard는 유니버설 바이너리로 개발되서, PPC용 레퍼드가 따로 나오지 않는다고 합니다,,
※ 로그인 사용자만 덧글을 남길 수 있습니다.

◀ 이전 페이지다음 페이지 ▶