工作集

中文名 工作集
导航器视图 使用工作集来限制显示的资源集
导航器中显示 资源、资源子代以及资源父代
目录导航

概念

所谓工作集是指进程已映射的物理内存部分(即这些内存块全在物理内存中,并且 CPU 可以直接访问),还有一部分不在工作集中的虚拟内存则可能在转换列表中(CPU 不能通过虚地址访问,需要 Windows 映射之后才能访问),还有一部分则在磁盘上的页面文件里。工作集在进程运行时会被 Windows 自动调整,频繁访问的页面(4KB 的块)会留在内存中,而不频繁访问的页面在内存紧张时会被从工作集中移出,暂时保存在内存中的“转换列表”中,或者进一步换出到页面文件中。当应用程序再次访问某一页面时,操作系统会将它重新加回工作集中。

介绍

现代计算机系统中内存的访问速度远远高于外存的访问速度。如果系统中不产生缺页中断,则访问数据的时间约等于内存访问时间。但是如果发生缺页中断,则需要从外存中将该页调入,因此会大大降低系统性能。通过对缺页率的长期研究,Denning提出了工作集理论。由于程序在运行时对页面的访问是不均匀的(即局部性),如果能够预知程序在某段时间内要访问那些页面,并将它们提前调入内存,这将降低缺页率,提高CPU利用率。本章中用来描述驻留在物理内存中的虚拟页面子集的术语叫做“工作集”。在过去的几节里,我们已经集中介绍了Windows2000/XP进程的地址空间布局、地址变换过程、页表以及页表项等。下面我们将解释Windows2000/XP是如何根据局部性原理,在物理内存中保持一个虚拟地址的子集来提高效率。工作集分为两种——进程工作集和系统工作集。

注为了支持Windows2000/XP终端服务程序(它在一个单独的Windows2000/XPServer系统中支持多个独立的、可交互的用户会话程序)所进行的内核扩展,添加了一个第三类工作集:会话工作集。

在分析每种工作集的细节之前,首先需要了解决定哪些页面被调人物理内存以及它们保留多长时间的总体策略。然后,再研究上述两种工作集。

相关百科
返回顶部
产品求购 求购