|
|
原帖由 WL稻草人 于 2008-1-7 16:50 发表 . K. q [4 z2 X8 H5 d5 c3 u+ f
% m! _9 [7 @/ \% G# Q. q I. W
8 J, s' \, \* |8 d; O指教不敢当,就是想请您把,什么叫32位系统,什么叫64位系统,为什么有这样区别,这个计算机基础理论知识弄清楚。。
S `8 Y$ [* {; y! j0 N1 j1 p最后如果您想问为什么一些32位系统能认到4G的内存,您还可以去研究一下“PAE-物理地址扩展” ...
# {2 m% D. o+ u' A! l# a$ [' p& }( x
谢谢。。。在您的督促下我不得不去在网上查了一些资料,按下头来看了看。。
: `* T) g, ~. E1 V% a; O5 K! g8 t
f! F7 W# j: S( f# \% C
* C# w% E- G8 u5 p! ?2 h4 I! P7 px86的32架构允许的最大内存寻址空间为4GB。Intel Physical Address Extension(PAE)是36位内存寻址模式,允许32系统寻址能力超过4GB。# [/ T* p# p2 w# i* `9 U
PAE需要适当的硬件和操作系统支持。处理器为Intel Pentium Pro以上,操作系统支持Windows NT 4.0企业版,Windows 2000高级服务器版和数据中心版,以及Windows Server 2003企业版和数据中心版。! F) R* Q+ j( a) c9 U7 N
Windows使用PAE的4KB页面映射64GB物理内存到32位(4GB)虚拟地址空间。Windows 2000和Windows Server 2003中允许PAE的方式是在BOOT.INI中加/PAE开关。 2 ]6 V6 H P) Y8 j: S
) |: w" G W9 d0 ?% q( r
# x$ y4 p; Z1 o' n2 f7 @操作系统在32bit x86平台上最大寻址空间只有4GB,如果要使用大于4GB的内存,就必须使用Intel的PAE(物理地址扩展)模式。在Windows NT平台实现PAE只需要对boot.ini加上/pae即可。而对于RHEL5,缺省安装模式下是不允许检测超过4GB内存,所以我们需要在内核安装完毕后再安装kernel-PAE套件。2 c: O) s9 [4 O8 C8 }7 l2 a/ d
* q: b# h9 _) x& @8 ^: s) zx86 平台的硬件支持两级页表,Intel Pentium pro以上的型号均支持PAE和三级页表,使得系统最大寻址达到36位,就是64GB的内存。但是系统进程运行时使用的永远是虚拟地址,在32位字长的 i386机器上,一个进程永远无法访问超出4G的字节。kernel只能通过拼凑的方式计算出大于4G的内存地址。
/ _' y9 i8 q& z* E7 P( O! M # ?" z9 G* |: v7 `
0 M( l6 y' A ]: k1 q% D% ~9 p( g. F, K; b8 K0 O/ L" y
那就我自己的理解,32位的OS一样可以支持到4G及以上的内存,例如WINDOWS XP,只要手动强制打开PAE就可以了,不知道您是不是也这样理解? |
|