词条 | 已缓存 |
释义 | 计算机为了使用数据事先将数据读取到内存中,此为了在执行命令的时候更有效率,数据完全装入内存时,称为已缓存。同时,也有为了避免电脑或者其他电子设备在中断与internet连接,无法做数据(音频视频或者其他)进行交换下载的情况,事先对需要使用的数据(音频视频或者其他)进行下载到设备中,临时存放,完成数据下载也可以被叫做已缓存。 计算机中更深的解释windows任务管理器中,有个物理内存,下面有三项,总数、已缓存、还有已用。 总数内存管理器的重大改变体现在它对物理内存的管理方式。先前版本 Windows 所使用的“待机列表”管理有两个局限性。首先,页面的优先化仅取决于进程最近过去的行为,而不会预见到它们未来的内存需求。其次,用于优先化的数据仅限定 于进程在任意给定时刻所拥有的页面列表。这两个缺点会导致出现“午餐后综合症”之类的状况,即您离开计算机一段时间,但需要内存密集型的系统应用程序在此 期间一直都在运行(例如病毒扫描或磁盘碎片整理)。此应用程序会强制您的活动应用程序已在内存中进行缓存处理的代码和数据由内存密集型活动重写。等您回来 后,就会发现性能变得非常缓慢,因为各应用程序必须从磁盘请求它们的数据和代码。 Windows XP 采用了预取支持,该功能基于以前的引导和应用程序启动来执行大规模的磁盘 I/O,以向内存预加载所预期到的代码和文件系统数据,从而改进了引导和应用程序启动性能。Windows Vista 凭借 SuperFetch 又向前迈进了一大步,SuperFetch 是一种通过历史信息和前瞻性内存管理来增强“least-recently accessed”(最近最少访问的)方法的内存管理方案。 已缓存SuperFetch 作为在服务主机进程 (%SystemRoot%\\System32\\Svchost.exe) 内运行的 Windows 服务在 %SystemRoot%\\System32\\Sysmain.dll 中实现。该方案依赖于内存管理器提供的支持,因此它可以检索页面使用历史,以及引导内存管理器将来自磁盘文件或分页文件的数据和代码预加载到“待机列表” 中,并为各页面指定优先级。SuperFetch 服务基本上是将页面跟踪扩展到曾经存储在内存中但已被内存管理器重新使用以为新数据和代码让出空间的数据和代码。该服务会将这一信息存储在 %SystemRoot%\\Prefetch 目录中扩展名为 .db 的场景文件中(位于用于优化应用程序启动的标准预取文件旁边)。在对内存使用情况的这种深入了解基础上, 已用SuperFetch 可在物理内存变为可用时预加载数据和代码。 只要内存变为可用(例如,当某应用程序退出或释放内存时),SuperFetch 便会要求内存管理器提取最近被驱出的数据和代码。这将以每秒少数几页的速率完成,并且 I/O 的优先级为“非常低”,以便预加载操作不会影响用户或其他活动应用程序。因此,如果您离开计算机去享用午餐,并且某个内存密集型的后台任务导致活动应用程 序的代码和数据在您离开期间被驱出内存,则 SuperFetch 通常会在您回来之前将所有或大多数代码和数据返回到内存中。SuperFetch 还包含了对休眠、待机、快速用户切换 (FUS) 和应用程序启动的特定场景支持。例如,当系统处于休眠状态时,SuperFetch 会将数据和代码存储在它预期(基于以前的休眠)将在后续恢复期间被访问的休眠文件中。相比之下,当您恢复 Windows XP 时,先前缓存的数据在被引用时必须从磁盘重新读取。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。