五千年(敝帚自珍)

主题:【求助】有必要升级到Windows 7吗? -- 重庆老牛

共:💬67 🌺25
全看分页树展 · 主题 跟帖
家园 2003 ENT版是可以的,但对桌面系统意义不大

对于普通32位Windows程序来说,使用的几乎全部是用WIN32 API,而后者的编程模型限制了最多只能使用4G线性内存地址,其中2G为操作系统使用,2G为应用程序使用(实际不到2G,只有1.7G左右),如果使用3GB模式启动操作系统,可以改成操作系统1G,应用程序3G。如果采用AWE API是可以申请到4G以上(就像DOS下通过DPMI接口可以申请到16M内存,这个接口Windows还在支持),但是无疑这样对开发是不利的,因为很少有类库支持这个API,现在手动分配/释放内存几乎是程序员的噩梦。

对于32位超过4G(其实是3.25G或3.5G)的大内存的使用,通常有几种:

1. 象你说的,用作虚拟盘,这种需要在驱动程序级别实现,实际上会造成所有I/O操作需要二次定位,对系统性能有不利影响。

2. Server Integration,可以把多个应用程序装载到不同的4G虚拟空间去,这样可以减少内存频繁分页造成的性能降低。这个是操作系统如2003 Ent自动完成的。

3. 用作Cache或数据缓冲区,如SQL Server,Oracle等可以使用AWE API申请到超过4G的内存用作缓冲,目的也是为了减少分页。

32位程序使用超过4G内存作为普通内存使用是有很大限制的,如进程通讯/共享,I/O等,所以用处不是很大。而且对于桌面系统来说,即使支持Server Integration,但在把所有内存装满之前,CPU已经不堪重负。

桌面系统中需要大内存的通常都是设计类和科学计算类软件,如3ds max等,对这类软件来说,恰好是64位计算的强项,在32位下很难搞得向64位那样好。

综上,桌面系统32位即使能使用大内存也没太大意义,通常的桌面操作如文字处理,上网聊天等4G以下已经足够,XP SP2以上已经最多能用3.5G,利用率已经很高了,实在不甘心把剩下的部分做个虚拟盘之类也不错(这个是微软原生支持的,使用的是PSE技术,硬件上从pentium pro开始就支持,那个修改版的ramdisk也是基于微软自带的程序);如果是做设计64位才是王道。(游戏另说,不知道大内存对32位游戏是否有质的帮助)。

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河