|
。对于那些比较核心的东东看来我还是不能很快的弄懂了,不过看后也对Windws的内存有了一点片面的理解。下面就说说自己的“观后感”吧,呵呵。说的不好也不要扔板砖。
内存条是越来越便宜了,花上不到1000大洋就可以升级到4GB的内存了。(1GB*4,不知道现在有单条4GB的了吗~)呵呵,且慢,你能保证4GB内存能被你的系统完全识别出来吗?一般说如果是32位XP操作系统应该是最大可以识别出3.6GB的内存。那么那0.4GB哪里去了呢?
按照我的理解,可以给内存下这样一个定义:内存就像是一个小湖,里面承载了许多船(软件),湖面大大小当然就和船的多少有着正比的关系。可以说内存就像一个容器,在
Windows的内存管理器的支配下可以在活动进程、设备驱动以及windows自身三者之间分配资源。大家都知道一般情况下硬盘的容量是远远大于内存的。当我们需要访问某个文件的时候都会调用进入内存(好像详细的还有CPU的一级缓存、二级缓存,这个比内存的速度更快呢。就先忽略CPU作用了~~~),内存虽然在容量上比硬盘要小很多,但是他的访问速度可以比硬盘快很多的。
事实上,一些特别版本的操作系统都是可以支持庞大的物理内存的。32位Windows Server 2008数据中心版支持64GB物理内存!呵呵,可怕吧?加上好的N块CPU 估计可以把一个年级同学的游戏挂着了吧?
在WIndows SP2开发的过程中,相关人员也注意到有一天4GB内存可能将会配备到安装在SP2的计算机上。测试人员发现计算机往往不能正常运行(崩溃、重启、死机~),经过了研究是因为问题出现在设备驱动程序上。这些驱动程序在编写的时候并没有考虑到4GB内存以上的情况。这样那些驱动程序就会自作主张的删掉大于4GB的那些地址。后果当然可想而知了。这样就迫使Windows sp2客户端忽略大于4GB的部分了。
那这样问题又来了,不是说忽略了大于4GB的部分吗?那应该是可以支持4GB大小啊,为什么很多只能最大支持3.6GB内存呢?答案是这样的。物理地址映射不仅仅包含物理内存,还包含设备内存,这样系统会把那些设备内存映射到内存最大处位置。实际上,这些设备内存大概是500MB左右。由这个应该可以说假如你有一条512MB的内存,但是你所运行的软件(当然这里包括系统本身)应该是小于512MB的,因为还有内存作为他用。
写在最后,现在内存的价格确实是便宜了。但是过大的内存似乎并没有什么实质性的性能提升。从512MB到1GB的性能提升较大,1GB到2GB也有不小提高,但是2GB到4GB的性能提升就不是特别明显了。(具体数据我是不知道了,之前看过一个数据比较,大家baidu一下应该能找到)
很多东西写的漏洞还是很大的,各位达人要是能看到就在评论中告诉我吧,一起讨论讨论。
| 谁顶了这篇日志>> 还有谁对该日志投票? | 最近读者>> | ||||||||
|