windows的文件系统缓存是用的什么算法?

hurryboylqs 2012-04-20 10:59:38
windows的文件系统比如NTFS都有缓存的功能,比如你读过一次文件某一块数据,下次再读的时候就快很多,原因是系统对
读有缓存,请问它都是采用的那些缓存调度算法呢?windows server 2008貌似缓存更强大.
...全文
104 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2012-04-21
  • 打赏
  • 举报
回复
这个好像未公开吧
Lactoferrin 2012-04-21
  • 打赏
  • 举报
回复
windows internals 5第10章
MagicFuzzX 2012-04-20
  • 打赏
  • 举报
回复
我就知道,预读。。。具体算法,没研究。。也不会研究//
FancyCache 概述 FancyCache是一个可以将系统内存或闪存虚拟成硬盘缓存的软件。它把从硬盘中读取的数据存入系统内存或闪存,使系统在下次访问该数据时可以很快从内存读取,避免再次读取速度较慢的硬盘,从而突破硬盘瓶颈,提升系统性能。 FancyCache还具有检测和利用系统未识别内存的功能,解决32位Windows操作系统无法完全使用4G或更多内存的问题。通过将检测到的系统未识别内存用作硬盘缓存的方式,FancyCache使计算机可以利用全部安装的内存。 基本原理 FancyCache为硬盘分配内存作缓存,并拦截系统发送至硬盘的IO请求。如果IO请求读取的数据已经在缓存中,则直接读取缓存中的数据并完成IO请求。否则数据则从硬盘中读取出来,并存入缓存,同时完成IO请求。由此可见,从缓存读取的数据量越多,则系统性能提升的越多。 FancyCache Principle Fig. 1 FancyCache Principle Fig. 2 主要特性 支持 LRU (最近最少使用调度算法) 和LFU (最近最不常用调度算法) 缓存算法, 支持 读写缓存、仅读缓存和仅写缓存 三种缓存策略, 支持 直接写入 和 延迟写入 两种写入模式, 支持 系统内存、系统未识别内存、闪存盘、固态硬盘SSD作为缓存, 支持对分区或整个硬盘缓存, 支持 TRIM 指令, 支持可视化性能监视统计, 支持动态硬盘, 支持NTFS junction point (符号连接), 支持自定义文件系统, 支持即插即用。 为什么使用FancyCache? Windows操作系统本身已经实现了基于文件的缓存系统,我们还需要再使用一个缓存系统FancyCache吗? 某些应用程序会绕过Windows操作系统自身的缓存系统; Windows操作系统的缓存系统是基于全局进行缓存,即对所有数据进行缓存,而FancyCache可以根据用户需要,设置仅对某一特定分区进行缓存。在同等缓存容量下,后者将更具目标性,从而提高缓存命中率。 FancyCache可以识别系统未识别内存,将其利用作缓存; FancyCache可以将闪存盘或SSD固态硬盘用作缓存,提升普通硬盘的访问能力。 软件截图 FancyCache Main UI FancyCache Performance Monitor UI 支持的操作系统 Windows XP, Windows 2003, Windows Vista, Windows 2008, Windows 7, Windows 2008 R2 更多信息 使用帮助 评测应用 FancyCache正进行Beta测试! FancyCache Beta测试版本 0.8.0 已经发布。如果您有时间并愿参与我们的测试,我们表示非常感谢! 测试版本有效期为180天,可以从以下地址获取, 分区版(可对每个分区缓存):进入下载页面 硬盘版(可对整个硬盘缓存):进入下载页面 测试授权文件:点击这里查找最新的测试授权文件,以便继续试用该软件。 我们强烈建议您在非实际生产和工作环境中测试beta版本软件,以免造成不必要的损失。同时Beta测试者请注意在测试之前对重要文件和数据先进行备份,以防万一。如遇系统无法启动等致命问题,用户可以尝试进入安全模式卸载软件。
PrimoCache是一款可以将物理内存、SSD硬盘或闪存盘等虚拟成硬盘缓存的软件。它可以自动将硬盘中读取的数据存入物理内存等速度较快的设备,当系统再次需要该数据时它可以很快从缓存设备中读取,而无需再次访问速度较慢的硬盘,从而有效提升物理硬盘的访问性能。 硬盘缓存增强软件 PrimoCache Desktop Edition 3.0.2 中文多语免费版 PrimoCache 它能做什么? 如果您的计算机装有4GB或更多内存,您可以使用一部分内存作为缓存加速本地磁盘,包括机械硬盘、SSD固态硬盘、闪存盘等,或iSCSI磁盘。 如果您的计算机有一部分内存不能被Windows使用,通常是32位Windows系统,您可以使用这部分“丢失”的内存作为缓存来加速本地磁盘和iSCSI磁盘。 如果您的计算机一个SSD硬盘和一个普通机械硬盘,您可以使用一部分或全部SSD空间作为缓存来加速机械硬盘。 如果您有一个空闲的USB 3.0 闪存盘,您可以用这个闪存盘作为缓存加速普通机械硬盘。 PrimoCache 功能特性简介 PrimoCache基于双级缓存系统架构设计,该架构由一个一级缓存(level-1 cache)和一个二级缓存(level-2 cache)组成。一级缓存使用物理内存作为缓存设备,而二级缓存则通常使用SSD固态硬盘、闪存盘或其它永续性存储设备。很明显地,一级缓存的访问速度远快于二级缓存,尽管一级缓存通常容量小于二级缓存。另一方面,一级缓存中存储的缓存数据在断电后会消失,而二级缓存则具有永久保存的特性。PrimoCache支持任意配置单双级缓存,即可以仅使用一级缓存或仅使用二级缓存,也可以同时使用一级缓存和二级缓存。 由于二级缓存存储设备具有数据永续性的特性,二级缓存中的缓存内容在计算机关机后不会丢失。因此当计算机再次启动后,所需要的常用数据可以直接从二级缓存中读取,而无需访问速度较慢的机械硬盘。对于操作系统或应用程序安装在机械硬盘的计算机,这个特性可以显著减少系统启动时间以及加快应用程序的启动运行。 PrimoCache也支持缓写功能,即可以将系统请求写入的数据先存入缓存设备中,在一定时间后再将数据从缓存设备写入物理硬盘中。缓写功能使系统的写入请求可以快速完成,从而极大地提升硬盘的写入性能。 此外,PrimoCache具备未识别内存管理接口(UIMMI),支持检测系统未识别内存并将其作为一级缓存。由于Windows操作系统和硬件对内存总量的限制,部分系统无法识别所有安装的物理内存,例如,32位桌面Windows系统最大仅支持4GB内存,多余的内存则无法使用。PrimoCache对未识别内存的支持则克服了Windows操作系统的限制,充分利用全部物理内存。 PrimoCache内置智能缓存调度算法,可自动优化决定当缓存空间已满的情况下哪些缓存内容可被丢弃已便腾出空间存储新内容。该算法结合了常用的LFU和LRU算法,并具有自适应调整性,可提供更好的命中率,并无需用户进行参数设置。 PrimoCache支持多种缓存策略以及灵活的缓存设置。您可轻松为您的物理硬盘创建缓存,提高硬盘的读写性能。由于PrimoCache是在Windows驱动层中实现功能,在创建缓存后,系统和其它应用程序无需作任何改变即可自动应用缓存。 基本原理 PrimoCache主要部件位于Windows驱动层,它拦截并处理系统发送至硬盘的IO请求。如果IO请求读取的数据已经在缓存中,则直接读取缓存中的数据并完成IO请求。否则数据则从硬盘中读取出来,并存入缓存,同时完成IO请求。由此可见,从缓存读取的数据量越多,则系统性能提升的越多。 主要特性列表 支持物理内存、SSD固态硬盘、闪存盘等作为缓存设备, 采用双级缓存系统架构, 支持永久二级缓存, 支持“直接写入”和“延迟写入”两种写入模式, 支持 TRIM 指令, 支持系统未识别内存, 支持预取数据到缓存, 内置自适应智能缓存调度算法, 支持三种缓存策略:读写缓存、仅读缓存和仅写缓存, 支持性能数据监视和统计, 支持同时缓存多个硬盘和多个分区, 支持缓存采用自定义文件系统的分区, 支持缓存动态硬盘的分区, 支持即插即用, 支持命令行接口。 为什么使用PrimoCache? Windows操作系统本身已经实现了基于文件的缓存系统,为什么还需要额外再使用PrimoCache? PrimoCache采用基于逻辑块的缓存机制,而Windows是基于文件的缓存机制。这两个缓存机制各有优缺点,PrimoCache可以是Windows缓存系统的一个很好补充。 某些应用程序会绕过Windows缓存系统,但无法绕过PrimoCache,这是因为PrimoCache比Windows缓存位于系统更底层位置。 Window
推荐算法系统实战全系列精品课 :一、课程优势本课程有陈敬雷老师的清华大学出版社配套新书教材《分布式机器学习实战》人工智能科学与技术丛书,新书配合此实战课程结合学习,一静一动,互补高效学习!本课程由互联网一线知名大牛陈敬雷老师全程亲自授课,技术前沿热门,这个《推荐算法系统实战全系列精品课》来自陈敬雷在一线大型互联网公司的多年实战经验总结,比较完备的包含了各个算法系统模块,实实在在的重量级干货分享!听完此系列课,可以实现一个完整的推荐系统!二、课程简介       首先推荐系统不等于推荐算法,更不等于协同过滤。推荐系统是一个完整的系统工程,从工程上来讲是由多个子系统有机的组合,比如基于Hadoop数据仓库的推荐集市、ETL数据处理子系统、离线算法、准实时算法、多策略融合算法缓存处理、搜索引擎部分、二次重排序算法、在线web引擎服务、AB测试效果评估、推荐位管理平台等,每个子系统都扮演着非常重要的角色,当然大家肯定会说算法部分是核心,这个说的没错,的确。推荐系统是偏算法的策略系统,但要达到一个非常好的推荐效果,只有算法是不够的。比如做算法依赖于训练数据,数据质量不好,或者数据处理没做好,再好的算法也发挥不出价值。算法上线了,如果不知道效果怎么样,后面的优化工作就无法进行。所以AB测试是评价推荐效果的关键,它指导着系统该何去何从。为了能够快速切换和优化策略,推荐位管理平台起着举足轻重的作用。推荐效果最终要应用到线上平台去,在App或网站上毫秒级别的快速展示推荐结果,这就需要推荐的在线Web引擎服务来保证高性能的并发访问。这么来说,虽然算法是核心,但离不开每个子系统的配合,另外就是不同算法可以嵌入到各个子系统中,算法可以贯穿到每个子系统。       从开发人员角色上来讲,推荐系统不仅仅只有算法工程师角色的人就能完成整个系统,需要各个角色的工程师相配合才行。比如大数据平台工程师负责Hadoop集群和数据仓库,ETL工程师负责对数据仓库的数据进行处理和清洗,算法工程师负责核心算法,Web开发工程师负责推荐Web接口对接各个部门,比如网站前端、APP客户端的接口调用等,后台开发工程师负责推荐位管理、报表开发、推荐效果分析等,架构师负责整体系统的架构设计等。所以推荐系统是一个多角色协同配合才能完成的系统。       下面我们就从推荐系统的整体架构以及各个子系统的实现给大家深度解密来自一线大型互联网公司重量级的实战产品项目!!!推荐算法系统实战课程大纲如下:1、推荐系统架构设计2、推荐数据仓库集市3、推荐系统ETL数据处理4、CF协同过滤用户行为挖掘5、推荐算法ALS交替最小二乘法6、推荐系统ContentBase文本挖掘算法7、用户画像兴趣标签提取算法8、基于用户心理学模型推荐9、推荐系统多策略融合算法10、准实时在线学习推荐引擎11、Redis分布式缓存处理12、分布式搜索引擎13、推荐Rerank二次重排序算法(基于逻辑回归、GBDT、随机森林、神经网络的算法思想做二次排序)【可试听】14、推荐Rerank二次重排序算法(基于Learning TO rank排序学习思想做二次排序)15、推荐Rerank二次重排序算法(基于加权公式思想做二次排序)16、在线Web实时推荐引擎服务原理及核心处理算法17、在线Web实时推荐引擎服务核心源代码解析18、在线AB测试推荐效果评估19、离线AB测试推荐效果评估20、推荐位管理平台 21、大数据用户画像系统架构图深度解密与详细介绍22、大数据用户画像系统中各个子系统详细讲解三、老师介绍陈敬雷  充电了么创始人,CEO兼CTO陈敬雷,北京充电了么科技有限公司创始人,CEO兼CTO,十几年互联网从业经验,曾就职于用友、中软、凡客、乐蜂网(唯品会)、猎聘网、人民日报(灵思云途)、北京万朝科技,曾任架构师、首席技术官、首席科学家等职务,对业务领域B端、C端、电商、职场社交招聘、内容文娱、营销行业都有着丰富的经验,在技术领域,尤其在大数据和人工智能方向有丰富的算法工程落地实战经验,其中在猎聘网任职期间主导的推荐算法系统项目获得公司优秀项目奖,推荐效果得到5倍的提升。陈敬雷著有清华大学出版社两本人工智能书籍,分别是《分布式机器学习实战(人工智能科学与技术丛书)》已出版、《自然语言处理原理与实战(人工智能科学与技术丛书)》。目前专注于大数据和人工智能驱动的上班族在线教育行业,研发了充电了么app和网站,用深度学习算法、nlp、推荐引擎等技术来高效提升在线学习效率。

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧