发现20次式神碎片副本:系统资源指的是什么

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/29 11:47:10

谈到Windows时,有一个必说的话题--系统资源(System Resource),但系统资源到底是什么,有人说是指CPU,有人说是指硬盘空间,有人说是指内存……<BR><BR>  当应用程序在Windows中运行时,Windows必须实时"跟踪"该应用程序的运行,并保留与之相关的许多信息,如按钮、光标、菜单的位置和位图、窗口的状况等,这些信息由Windows保留在一种叫<U><STRONG>堆</STRONG></U>的内存块中,堆的英文为Heap。简单地说,堆是采用特殊机制管理的内存块。由Windows的一个系统内核User.exe管理的堆叫作User资源堆(User Resource Heap),由另一个系统内核Gdi.exe管理的堆叫作GDI资源堆(Graphical Device Interface Resource Heap,简称GDI Resource Heap),User资源堆和GDI资源堆合称为系统资源堆(System Resource Heap),习惯上就把它们叫作系统资源(System Resource)。<BR><BR>  微软将Windows的系统资源(堆)分为五个堆,其中User资源堆为三个,而GDI资源堆为两个。<BR><BR>  三个User资源堆分别是:16位的用户堆(User Heap,64KB);32位的窗口堆(Windows Heap,2MB);32位的用户菜单堆(User Menu Heap,2MB)。<BR><BR>  两个GDI资源堆分别是:16位的GDI堆(GDI Heap,64KB);32位的GDI堆(GDI,2MB)。</P>
<P>  <STRONG>不要将系统资源和CPU资源(CPU使用率)相混淆</STRONG>,硬盘、光驱、软猫的数据处理、显卡的3D图像处理、声卡的3D音效处理占用的都是CPU时间(即消耗CPU资源),而不是系统资源,这些硬件设备的先进与否与占用系统资源的多少根本没有任何关系,可至今许多人还是将它们混为一谈。按习惯,谈到硬件的资源占用一般是指其CPU资源的占用,而软件的资源占用既包括CPU资源占用又包括系统资源(堆)占用,但计算机用户关心的一般是后者,因此谈到软件的资源占用时一般是指其对系统资源的占用。</P>
<P>  系统资源是用来跟踪应用程序的运行而不是用来运行应用程序的,就像公路上车多车少,并不是车稍微多点就没有办法开车了。因此可以肯定地说,<STRONG>影响<a class='Channel_KeyLink' href='http://dianbo.net/Article/Search.asp?Field=Title&ClassID=&keyword=计算机系统'>计算机系统</a>性能的是<a class='Channel_KeyLink' href='http://dianbo.net/Article/Search.asp?Field=Title&ClassID=&keyword=计算机系统'>计算机系统</a>其他的因素,而绝不会是可用系统资源的大小。</STRONG>当用户<a class='Channel_KeyLink' href='http://dianbo.net/Article/Search.asp?Field=Title&ClassID=&keyword=计算机系统'>计算机系统</a>性能明显降低时,应该从别的方面去查找原因,而不要马上怀疑到系统资源身上。<FONT color=red>从硬件方面来看,内存太小导致系统不得不频繁使用虚拟内存是影响系统性能的主要原因之一;</FONT>从软件方面来看,因为Windows是一个多任务的<a class='Channel_KeyLink' href='http://dianbo.net/Article/Search.asp?Field=Title&ClassID=&keyword=%B2%D9%D7%F7%CF%B5%CD%B3'>操作系统</a>,大家都习惯同时运行多个应用程序而不管当时是否实际需要。而编写和调试这些应用程序的程序员一般只考虑其在单任务环境下的运行,而没有过多的精力从多任务环境来考虑和调试,因此许多应用程序间往往不能很好地协同工作,同时运行多个这样的应用程序会因它们彼此之间发生冲突而导致系统性能下降。当然,Windows 9X多任务管理机制的不完善也是造成这个问题的主要原因之一。

系统资源,简单地说,当应用程序运行时,内存需要一块空间来追踪、保留正在执行的程序的状态,比如按钮、光标、菜单位置和位图、窗口状态等,存储这些信息的空间有个专有名词来形容,那就是我们熟悉的“系统资源”,而存储这些信息的空间是一种称为“堆”的内存块,你可以把“堆”理解成采用特殊机制管理的内存空间。
根据存储对象类型的不同,系统资源分为两个方面:用户资源和GDI(Graphic Device Interface,图形设备接口)资源。由系统内核程序“User.exe”管理的堆叫作用户资源堆,用来存储窗口状态、菜单位置等信息;由系统内核程序“Gdi.exe”管理的堆叫作GDI资源堆,用来存储画刷、画笔、字体、调色板等图形对象信息。用户资源堆和GDI资源堆合称为系统资源堆,习惯上称之为系统资源。
所以,系统资源并不是指CPU资源、内存资源,而是指用户资源、GDI资源。

主要指的是系统内存空间