您现在的位置: 天下网吧 >> 网吧焦点 >> 个人电脑 >> 电脑维修 >> CPU内存 >> 正文

剖析Windows用1G内存还慢的原因

[作者:电脑店 来源:电脑店 时间:2012-11-25我来说两句

现在的内存基本达到了1元/MB的均价,不少朋友的电脑告别了可怜的64MB、128MB内存,256MB已经成为标准配制,512MB甚至1GB的内存也不再是"耸人听闻"。但是有一件事情让很多朋友疑惑:"为什么使用1G内存我的Windows启动、软件运行速度还是这么慢?" 

  安装大容量内存后,系统、程序运行效率没有得到大幅度提高,这是因为系统本身运行机制限制了其管理和运用硬件资源的能力。所以纵然硬件资源非常丰厚,如果超出了Windows管理的范围,那么性能也不会得到明显提升。 

  内存和硬盘 

  许多菜鸟常常将物理内存和硬盘混淆在一起,因为两者的容量都是用MB或GB这类的单位表示,说明物理内存和硬盘之间关系的最好比喻是:一个带一张桌子和一个文件柜的小办公室。 

  文件柜就像硬盘,程序和数据可以长期安全地存放在那里,桌面代表物理内存,允许在办公桌上工作的人(作用和处理器相同)直接用放在桌面上的任何文件(程序和数据)。为了对一个特定文件进行操作,首先必须从文件柜中取出文件并放在桌面上。如果桌面够大,可以在桌面上同时打开多个文件。类似地,如果你有更多物理内存,那么可以运行更多或更大的程序并对更多或更大的资料进行处理。 

  给电脑增加硬盘空间就好比在办公室里放一个更大的文件柜,而增加更多内存就好比得到一个更大的办公桌,可以同时对更多程序和数据进行操作。 

  一、Windows这样使用内存 

  想要知道为什么系统速度提升不再明显,必须先理解Windows 怎样使用内存。这里要涉及一个概念——资源。 

  这不是平时所说的CPU资源,内存资源或统一的"系统"资源。我们接下来要讲到的"资源"就是程序可以操纵的Windows物件。举例来说,屏幕上显示的每个窗口都是一个资源,每幅图片也都可以能是一个资源。如果一个应用程序打开了磁盘上的一个文件,那么这个被打开的文件也是一个资源。以此类推,如果一个应用程序需要使用一个资源,它就会向操作系统提出请求,要求新建一个或从存储器里调用。 

  1.情景再现:程序与系统的对话 

  程序说:"嗨,Windows,我要新建一个300像素宽,200像素高的窗口,ok?"于是,Windows立即按要求创建或调用这个资源进内存,然后反馈给应用程序一个代号:"好,我已经创建好你要的窗口,它的代号是#38710。"此后,需要用到新建的这个窗口时,应用程序都用Windows反馈的代号代表这个资源。"Windows,麻烦你在显示屏幕左上角显示#38710。""好!"最后,当应用程序不需要用到该资源的时候,它会要求Windows去除这个资源。"OK,请你删除#38710。""好!"。 

  2.指针——内存中的邮政编码 

  那么这个代号是依据什么标准生成的呢?在绝大多数操作系统中,它是靠一种叫做"指针"的东西来确定的。你可以把整个内存想像成一个邮局,邮递员把需要寄往各地的信件分类放到很多个不同的信箱里。信箱一个接一个,足足占据了一堵墙。每个心细那个都装了一些信件,包含要送往一个特定地区的信息。而且,就好像每个地区都有邮政编码一样,每一块可以存储数据的内存空间也有一个地址——指针。代表这个存储空间的一串数字。内存中某部分数据的"指针",也就是这些数据占据的第一处内存空间的地址。所以,如果我是一个普通的操作系统,有一个应用程序要求我调用一个窗口,我就会按照它告诉我的要求调用这个窗口进内存,如果这个资源的数据在内存中存储的地址开始于#1234567,那么我就会返回一条信息给应用程序:"好了,我调出了这个窗口,它是#1234567。" 

  3.解决指针带来的问题 

  在PC中,这种指针有4个字节长。所以如果一个应用程序需要给内存里的某个数据配一个指针,那就需要4字节的内存空间。这样的工作方式给早期的Windows设计者带来了不小的麻烦,因为那时制作工艺尚不发达,内存非常昂贵,一台电脑上有8MB的内存就足以让用户无数次从梦里笑醒了,大多数电脑只能配制4MB内存。在内存如此紧张的情况下,一个应用程序却经常需要用到几百万个资源。要用这些资源,就要个每个资源配发一个指针。每个指针占据4个字节,几百万个指针,就会消耗掉数量客观的一块内存空间。这就好比一份钱很少,但如果要发给全国人民每人一份钱,那就是至少一千三百万元的巨款了。 

  所以,Windows设计者采用了另外一种替代方案。他们创建了资源表。就是把当前调入内存的所有资源的信息登记到一个清单。这样一来,当应用程序要求系统调用一个资源时,系统调用后就不给它配发指针了,而是直接告诉应用程序该资源在资源表中的序号。"好了,我已经调用了你需要的资源,它在资源表里面的序号是#383"因为需要不是内存地址,所以就可以用一个只需占用2字节的数字表示。这只是两个字节的差距。但当你只有几MB内存,而你运行的程序动咎调用大量资源时,这两字节的差距就会带来很大的优势。

你知道吗?  

  微软64位操作系统没1GB内存就别玩  

  在32位Windows 2000/XP中,最大支持4GB的内存,每个应用程序最多只能使用2GB内存,因为另一半的内存也留给系统使用了。而在64位WindowsXP中,这个限制没有了,每个程序能完全使用4GB内存,除Windows,微软还在开发64位版本的SQL Server 2000和Windows Server2003,不过要运行这些应用程序,需要你的电脑至少得有1GB内存。  

  4.时过境迁,妙计成缺陷  

  但这种方法也有它的弊端——两个字节能够表现的不同数字非常有限 &nb

本文来源:电脑店 作者:电脑店
我来说两句(请遵守法律法规)
声明
本文来源地址:
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。若文章侵犯了您的相关权益,请及时与我们联系,我们会及时处理,感谢您对本站的支持!联系邮箱:support@txwb.com.
天下网吧·网吧天下