科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网安全频道Windows Vista推出SuperFetch新型存储设备

Windows Vista推出SuperFetch新型存储设备

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

如果你已经使用Windows有一段时间,你会对术语虚拟内存和页面文件非常熟悉。在过去,为了在我们内存稀缺的系统中让页面文件尽可能地高效,我们都花费大量的时间来改动虚拟内存设置。

作者:zdnet安全频道 来源:论坛整理 2008年9月5日

关键字: Vista Windows Vista

  • 评论
  • 分享微博
  • 分享邮件

  如果你已经使用Windows有一段时间,你会对术语虚拟内存和页面文件非常熟悉。在过去,为了在我们内存稀缺的系统中让页面文件尽可能地高效,我们都花费大量的时间来改动虚拟内存设置。

  后来,RAM的价格降到了更能让人承受的范围,取代了改动虚拟内存,我可以通过增加更多的RAM来提高系统性能。尽管操作系统仍使用虚拟内存,但是在系统中拥有更多的RAM会减少操作系统对虚拟内存的依赖。

  现在,系统中拥有512MB甚至1GB的RAM已经不再是什么稀奇的事情。所以你不必再像过去那样考虑虚拟内存。

  然而,这将随着Windows Vista而改变,它带来了一个被称为SuperFetch的新型内存性能增强系统和一种通过外部存储设备的方法扩展虚拟内存的新方法。在本版的Windows Vista报告中,我将更深入的介绍SuperFetch和EMD。

  虚拟内存

  开始之前我们先了解一下虚拟内存。首先,重申包括Vista在内的Windows操作系统都一直在利用虚拟内存是重要的,即使当所有运行的进程所需要的内存没有超出系统中安装的RAM数量。实际上,当系统中每个进程被操作系统导入时,在运行中都自动分配了一个虚拟内存地址。

  当由所有运行的进程使用的内存超过了可用的RAM数量时,操作系统将开始把内存空间页面移出虚拟地址空间,移向硬盘,从而释放RAM以备他用。然后这些页面被存储在根分区的一个名为Pagefile.sys的文件中。

  当需要用到一个临时被转移到虚拟内存的运行中的进程时,操作系统查找包含该进程的虚拟内存并将之返回到RAM。在这过程中,操作系统不得不将其他内存页面移出RAM,移向页面文件,以便为返回到RAM的进程腾出空间。这种内存页面的移动称为交换技术而且页面文件经常被称为交换文件。这种交换技术需要许多额外支出。

  Prefetch

  Windows Vista的SuperFetch构建在由Windows XP引入的被称为Prefetch的技术之上,所以在了解SuperFetch和EMD之前,最好让我们先谈谈它。首先,预取是操作系统实际需要之前,从磁盘向内存中导入关键数据和代码段的进程。

  记住了这一点,让我们大致了解预取是如何工作的。

  为了让整个预取操作切实地提高性能,Windows XP缓存管理器在系统启动过程中以及在各种应用程序被导入的时候,监视数据在磁盘和RAM之间以及在RAM和虚拟内存之间的移动。当缓存管理器监视这些事件时,它构造目录和每个应用程序或进程引用的所有文件的映射。这些映射被保存到WindowsPrefetch文件夹扩展名为.pf的文件中。

  在这些映射文件被创建之后,缓存管理器将在系统启动以及导入应用程序的时候使用它们以提高效率。更明确地,缓存管理器会拦截将被导入的每一个进程或应用程序并且查看WindowsPrefetch文件夹以确定是否存在相应的映射。如果存在,缓存管理器将指派文件系统立即访问映射中的目录或文件引用。然后缓存管理器将警告内存管理器并告诉它使用映射文件中的信息向内存中导入数据或代码。当这个预取操作完成之后,缓存管理器将允许应用程序或进程继续导入。在应用程序或进程这样做的过程中,它会发现需要的大部分文件和数据已经存在于内存中,因此减少了磁盘访问量并且使得应用程序或进程导入或响应得更迅速。

  为了进一步提高这个预取操作的效率,Windows XP会定期地分析映射文件的内容,编辑一个目录和文件列表,以导入的顺序组织它们,并且将这些信息保存在WindowsPrefetch文件夹的名为Layout.ini的文件中。然后它会安排磁盘碎片整理程序定期运行并且使用Layout.ini文件中的信息以重新部署所有目录文件,让它们排列在磁盘中临近的区域。

  SuperFetch

  既然你知道了Windows XP的Prefetch技术是如何工作的,你就了解了Windows Vista的SuperFetch技术工作原理的70%。作为Windows XP的Prefetch的下一版本,SuperFetch包括了Prefetch的所有功能并做的更多。

  首先,SuperFetch克服了Windows XP的Prefetch中的一个大缺点。正如我前面解释的,Prefetch通过导入大部分由内存中一个应用程序或进程需要的文件或数据,所以可以在需要时更迅速地访问它们。然而,由于这些文件和数据存在于内存中,所以它们受控制虚拟内存的规则支配。换句话说,当其他应用程序需要访问内存,任何预取的数据会被移出到硬盘上的页面文件中。当再次需要它时,必须将它从页面文件中移回到内存,这当然抵消了性能增强。

  SuperFetch更进一步地保证你获得对性能增强的最有效使用。除了构造我前面提到的映射文件之外,SuperFetch还会构造你使用的应用程序的描述文件,它包括你在何时使用和使用的频率等信息。然后,SuperFetch将跟踪描述文件中的应用程序并且记录任何预取数据在何时被移出到页面文件中。SuperFetch将监视引起预取数据被移出到页面文件的应用程序描述文件,并且应用程序一完成,它就将预取数据取回到内存中。所以当你转到访问应用程序,预取数据将在内存中再次可用而且应用程序会快速响应。

  扩展存储设备

  正如我提到的,Windows操作系统会一直利用虚拟内存,无论在系统中安装了多少物理RAM。我还告诉过你SuperFetch中的一种增强方式是尽可能快地重新将预取数据从虚拟内存页面文件移回到物理内存中以保证性能增强的连续性。

  然而,由于页面文件存在于比物理内存响应速度慢的硬盘上,所以SuperFetch会被让硬盘响应其取回操作所花费的时间所阻碍。

  为了改进SuperFetch的取回操作,微软决定利用大容量USB 2.0存储棒/闪存驱动器被广泛应用,相对便宜,非常有效-虽然不像物理内存那样有效,但比硬盘要快得多这一事实。当你向Windows Vista系统插入一个USB 2.0存储棒,SuperFetch能够将任何送到虚拟内存的预取数据重定向到USB驱动器,而不是硬盘上。同样的,当需要将数据取回到内存时,取回操作将更快。

  当你将一个USB 2.0存储棒插入到运行Windows Vista的系统中,你将看到类似于图形A中显示的自动运行对话框。

  

  然后将提示你指定你想分配给SuperFetch的存储空间容量如图所示。正如你看到的,Windows Vista将自动留出建议的空间容量,但是你可以使用滑动条增加空间容量。

  

  

  根据微软的说法,你可以在任何时候移除存储棒而不会丢失数据并且仍然能用它保存其他文件。微软还声明任何保存在存储棒上的SuperFetch数据将被加密,所以当存储棒被用在另一台计算机上时,这些数据是不可访问的。

  虚假SuperFetch谣言

  Internet上流传着Windows XP内置了一个默认禁用的SuperFetch组件的谣言。谣言进一步说你可以通过在注册表中做一个小的改动,在Windows XP中启用SuperFetch。这是虚假的信息,所以不要浪费你的时间去尝试这样做。对注册表项进行改动可能不会对你的系统造成任何损害,但是它也不会带来任何好处。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章