|
|
原帖由 WL稻草人 于 2008-1-7 16:50 发表 & ^- I' c8 K, [ P* w b3 Q& [
7 O$ h0 D( i* c7 o ~ K9 ~+ p/ {
9 [. @* o; b# b6 a' L& Y2 j指教不敢当,就是想请您把,什么叫32位系统,什么叫64位系统,为什么有这样区别,这个计算机基础理论知识弄清楚。。6 W. f! V! C" P7 T# v! K F
最后如果您想问为什么一些32位系统能认到4G的内存,您还可以去研究一下“PAE-物理地址扩展” ... # v3 }$ U7 ^' o8 P g
, t. u6 t6 r3 v6 B ^; R谢谢。。。在您的督促下我不得不去在网上查了一些资料,按下头来看了看。。
& e% W& m, ?/ ^ r9 P, x0 w' t/ g2 ]( }/ }
1 [, o ]' A! W( Y7 C# l8 Zx86的32架构允许的最大内存寻址空间为4GB。Intel Physical Address Extension(PAE)是36位内存寻址模式,允许32系统寻址能力超过4GB。
, N q8 V. g2 J+ d0 O; c( HPAE需要适当的硬件和操作系统支持。处理器为Intel Pentium Pro以上,操作系统支持Windows NT 4.0企业版,Windows 2000高级服务器版和数据中心版,以及Windows Server 2003企业版和数据中心版。
) }4 m" C2 D5 _6 `+ C! v. g* w CWindows使用PAE的4KB页面映射64GB物理内存到32位(4GB)虚拟地址空间。Windows 2000和Windows Server 2003中允许PAE的方式是在BOOT.INI中加/PAE开关。
* f" u+ e1 a- `& v4 @' Z1 E$ g* k& P6 C/ X I ~4 i7 X
' r8 O, S! {1 A8 Z操作系统在32bit x86平台上最大寻址空间只有4GB,如果要使用大于4GB的内存,就必须使用Intel的PAE(物理地址扩展)模式。在Windows NT平台实现PAE只需要对boot.ini加上/pae即可。而对于RHEL5,缺省安装模式下是不允许检测超过4GB内存,所以我们需要在内核安装完毕后再安装kernel-PAE套件。
1 c5 e* ~7 w* N) u) O$ \
+ M# {( h5 l5 b _% S: }$ I' P& ^x86 平台的硬件支持两级页表,Intel Pentium pro以上的型号均支持PAE和三级页表,使得系统最大寻址达到36位,就是64GB的内存。但是系统进程运行时使用的永远是虚拟地址,在32位字长的 i386机器上,一个进程永远无法访问超出4G的字节。kernel只能通过拼凑的方式计算出大于4G的内存地址。
8 P8 Y9 n- l4 Y& A& O 0 `/ [* l! x% A; \
8 M x6 _; @4 U2 G% B7 B
O/ T9 b3 V5 w9 @
那就我自己的理解,32位的OS一样可以支持到4G及以上的内存,例如WINDOWS XP,只要手动强制打开PAE就可以了,不知道您是不是也这样理解? |
|