Windows文件缓冲处理技术概述
2018-12-21陈亦欣江汉大学数学与计算机科学学院
数码世界 2018年2期
关键词:用户
陈亦欣 江汉大学 数学与计算机科学学院
1 Windows缓存管理器
缓存管理器是Windows系统中的一个组件,提供一个与I/O管理器、虚拟内存管理器和文件系统协同作业的数据缓冲,这个缓冲在整个操作系统的存储设备上保持一致。缓存管理器把可用内存空间分割为跟页面一样大的缓冲区,磁盘中的数据可读入缓冲区,缓冲区数据可写入磁盘。缓存管理器以及文件系统二者可互相调用,前者为后者提供一些调用,并发出IRP请求,后者则为前者注册回调函数。
当有程序首次发出读文件请求时,缓存管理器就把文件数据读取到文件系统缓存之中,接着用户态进程把缓冲区中的数据复制到自己的进程空间里;而当进程完成了自身的工作后,数据先被写入文件系统缓存,最后再由缓存管理器将缓冲区中的数据写回磁盘文件中。
由于被缓冲文件的一切I/O请求全部需要通过缓存管理器,对于缓存管理器的策略会根据用户态进程的数据访问模式的不同而进行调整。对于一个请求读文件的应用程序,缓存管理器会预先将其请求之后的数据也读入缓冲区,从而使得当应用程序接下来请求后面的数据时可以快速响应,缩短了等待时间。对于一个请求写文件的应用程序,缓存管理器会将数据写入缓冲区并保留一段时间暂时不写入磁盘,延迟一段时间再将缓冲区数据一起写入磁盘中。这样就能使多个写操作合并成为一次写操作,更有效率,也降低了重复修改同一块数据时对磁盘反复写的负载。……
登录APP查看全文
