2010年5月30日星期日

关于snow leopard运行模式(32bit or 64bit)

环境:
macbook pro mb991
Mac OS X 10.6.3

1、缺省运行模式:
64 bit Processor
64 bit EFI
32 bit kernel boot mode
32 bit kernel
即 64bit CPU + 32bit Kernel + 64bit Application

$ uname -a
Darwin MacBook-Pro.local 10.3.0 Darwin Kernel Version 10.3.0: Fri Feb 26 11:58:09 PST 2010; root:xnu-1504.3.12~1/RELEASE_I386 i386
通过shell命令,可以看出kernel运行在x86_32模式下。

2、可以在开机时同时按下4、6,进入64位模式
运行模式变为:
64 bit Processor
64 bit EFI
32 bit kernel boot mode
64 bit kernel

$ uname -aDarwin ip-108-0-168-192.rev.dyxnet.com 10.3.0 Darwin Kernel Version 10.3.0: Fri Feb 26 11:57:13 PST 2010; root:xnu-1504.3.12~1/RELEASE_X86_64 x86_64

3、更改默认boot mode
$ vi /Library/Preferences/SystemConfiguration/com.apple.Boot.plist

Kernel Flags

替换成
Kernel Flags
arch=x86_64

运行模式变为:
64 bit Processor
64 bit EFI
64 bit kernel boot mode
64 bit kernel

4、或者通过select startup mode修改startup mode
选择start in 32bit mode
运行模式更改为
64 bit Processor
64 bit EFI
32 bit kernel boot mode
32 bit kernel

选择start in 64bit mode
运行模式更改为
64 bit Processor
64 bit EFI
64 bit kernel boot mode
64 bit kernel

5、apple的一些限制
1)64bit的 kernel只能运行在 64bit的efi上,但从技术上32bit的efi是可以很好的运行64bit的kernel。
2)32bit的kernel可以运行64bit的应用程序,如Finder、Mail、Safari、iCal、iChat等。
3)32-bit processor 只能运行32-bit stuff,64-bit processor可以运行32-bit and 64-bit stuff. (stuff can be system, kernel, applications, drivers, etc). 所以需要64bit的cpu来运行anything。
4)运行模式包括:
64bit Processor + 32bit Kernel + 32bit or 64 bit Application
64bit Processor + 64bit Kernel + 32bit or 64 bit Application
5)有关kernel extensions
A 32-bit Kernel can load only 32-bit kexts (kernel extensions).
A 64-bit Kernel can load only 64-bit kexts (kernel extensions).
如果一个程序使用32-bit kernel extension,如VMware Fusion,32-bit的kernel extension不会运行在64-bit的kernel下,但是即便如此,64位的应用程序可以很好运行32bit kernel+32bit kernel extension下。
6)只有Mac OS X Server缺省工作模式位64 bit模式。
64 bit Processor
64 bit EFI
32 bit kernel boot mode
64 bit kernel

标签: ,


评论: 发表评论

订阅 博文评论 [Atom]





<< 主页

This page is powered by Blogger. Isn't yours?

订阅 博文 [Atom]