|
|
原帖由 WL稻草人 于 2008-1-7 16:50 发表 ![]()
, @5 Z# ~3 S' H, G& k5 @
6 ]* }& E+ Z% E3 [6 Y" U" s: V2 D' ~
指教不敢当,就是想请您把,什么叫32位系统,什么叫64位系统,为什么有这样区别,这个计算机基础理论知识弄清楚。。
/ z4 W6 A% _) A V! Q g: _4 I最后如果您想问为什么一些32位系统能认到4G的内存,您还可以去研究一下“PAE-物理地址扩展” ...
( c$ ]( T$ _3 Y" ^( K5 d( a0 }0 T% T$ X( D* n" v B. Y: m
谢谢。。。在您的督促下我不得不去在网上查了一些资料,按下头来看了看。。
+ q& a. j3 E( ]( N8 o
% f. ?$ l1 }$ f- v% Y: k! C$ U( f) Y9 g/ ` W' j4 p1 b
x86的32架构允许的最大内存寻址空间为4GB。Intel Physical Address Extension(PAE)是36位内存寻址模式,允许32系统寻址能力超过4GB。
1 N7 _0 ] D/ R4 ]' H" z) z' @PAE需要适当的硬件和操作系统支持。处理器为Intel Pentium Pro以上,操作系统支持Windows NT 4.0企业版,Windows 2000高级服务器版和数据中心版,以及Windows Server 2003企业版和数据中心版。# T0 u$ M& L, N$ K
Windows使用PAE的4KB页面映射64GB物理内存到32位(4GB)虚拟地址空间。Windows 2000和Windows Server 2003中允许PAE的方式是在BOOT.INI中加/PAE开关。
5 J! R; m! H$ V2 i9 u8 a6 K, l9 ], J, v
2 f; y3 w Y+ G操作系统在32bit x86平台上最大寻址空间只有4GB,如果要使用大于4GB的内存,就必须使用Intel的PAE(物理地址扩展)模式。在Windows NT平台实现PAE只需要对boot.ini加上/pae即可。而对于RHEL5,缺省安装模式下是不允许检测超过4GB内存,所以我们需要在内核安装完毕后再安装kernel-PAE套件。
9 |1 c% W7 O8 }( i5 D3 o( r+ {* M( c* z7 t& @
x86 平台的硬件支持两级页表,Intel Pentium pro以上的型号均支持PAE和三级页表,使得系统最大寻址达到36位,就是64GB的内存。但是系统进程运行时使用的永远是虚拟地址,在32位字长的 i386机器上,一个进程永远无法访问超出4G的字节。kernel只能通过拼凑的方式计算出大于4G的内存地址。5 W% B; c t/ {) Z
1 |5 U% ^4 W& j' t7 y+ ?* a( V. i- |9 X, K
6 d9 z8 u' h# ^# S3 {$ `那就我自己的理解,32位的OS一样可以支持到4G及以上的内存,例如WINDOWS XP,只要手动强制打开PAE就可以了,不知道您是不是也这样理解? |
|