只有512MB内存的笔记本采用Vista Home Premium系统,在使用中可能会因为内存容量刚刚满足微软程序员们设置的Vsita最低安装需求而显得运行缓慢。加装内存的确是一项不错的计划,可是又有多少人真的会不辞劳苦的去购买并安装呢?前一段时间,Vista系统中一项名为ReadyBoost的功
ReadyBoost对系统的影响:原理篇一
在评测之前,我们还是先了解一点ReadyBoost的原理。之前测试的时候,我们在微软网站上查阅相关ReadyBoost的文献,发现其对此项功能的介绍也非常少。今天重新查找到了一些相关的文献了,给大家介绍一下。
如今,由于CPU和内存的速度越来越快,而硬盘却一直没有明显的变化,渐渐成为整台系统性能的瓶颈。
始终不变的机械式硬盘依然是最广大消费者忠实的伙伴
首先是磁盘的磁头寻道时间一般约为10毫秒,现今的高频处理器只能等待其慢慢的读取写入数据,有些漫长。尽管内存是用于缓存数据的理想选择,但它的成本还是比较高的。而常见的闪存较为便宜,而且随机读取的速度最高可比常规硬盘快10倍。因此,Windows Vista 中加入了一个名为ReadyBoost的功能来利用闪存存储数据,方法是在这些设备上创建一个逻辑上介于内存和磁盘之间的中间缓存层。
ReadyBoost 由一个在 %SystemRoot%\System32\Emdmgmt.dll 中实现的运行于主机进程中的服务和一个卷过滤器驱动程序 (%SystemRoot%\System32\Drivers\Ecache.sys) 组成。(Emd 是“外部内存设备”的简称,也是 ReadyBoost 在开发期间所使用的名称。)当您将 USB类或者SD卡之类的闪存设备插入系统中后,ReadyBoost 服务会查看该设备以确定其性能特征并将测试结果存储在 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Currentversion\Emdmgmt 中
如果您使用设备进行缓存处理,并且新设备大小介于 256MB 和 32GB 之间、对于 4KB 随机读取的传输率为 2.5MB/s 或更高、对于 512KB 随机写入的传输率为 1.75MB/s 或更高,则 ReadyBoost 将询问您是否想要将部分存储空间用于进行磁盘缓存。(尽管 ReadyBoost 可以使用 NTFS,它还是会将最大缓存大小限制在 4GB,以适应 FAT32 限制。)如果您同意,该服务便会在该设备的根目录下创建一个名为 ReadyBoost.sfcache 的缓存文件,并要求 SuperFetch 在后台预先填充缓存。
设置readyboost缓存大小
在 ReadyBoost 服务对缓存进行初始化之后,Ecache.sys 设备驱动程序会将所有读写数据截取到本地硬盘卷(例如 C:\),并将要写入的所有数据复制到该服务创建的缓存文件中。Ecache.sys 会将数据压缩,压缩比通常达到 2:1,这样,4GB 的缓存文件通常将包含 8GB 数据。驱动程序会联合使用高级加密标准 (AES) 和一个随机生成的每引导会话密钥对其写入的每个块进行加密,以在将设备从系统移除的情况下保证缓存中数据的保密性。
当 ReadyBoost 确定可从闪盘介质内的缓存比硬盘内的缓存更能满足随机读取需求时,它便会从闪盘介质内随机读取数据。当然了,硬盘的有序读取访问要明显胜过闪存,因此,当ReadyBoost侦测到有系统正在使用有序访问数据的时候,将直接从磁盘读取,即使该数据同样位于闪盘介质内的缓存中。
上面的解释就是为什么 ReadyBoost 可以加速系统运行速度的原因。而在文献中还提到了一项功能 SuperFetch ,同时另外一项 ReadyBoot 功能也是依靠 ReadyBoost 提供的服务来提升速度的。
网友评论