文件流
每个打开文件的实例在windows NT里被表示为一个文件对象结构。任何关联一个文件对象的线性字节流可以被定义为文件流。文件流的例子包括给定文件的数据,一个目录(包含关于文件被存储在磁盘上的信息),文件系统元数据(例如卷信息),与该文件关联的访问控制列表(ACL),和文件一起存储的扩展信息。
NT文件系统创建,删除,操纵文件流,这是以下操作的结果,要么外部生成用户请求去读或者写文件数据,或者内部生成请求去操纵文件系统描述数据结构。文件系统识别他们希望支持和缓存的文件流。例如,除非由用户另作说明,文件系统缓存用户数据被包含在一个文件里。对于每一个被缓存的文件流,文件系统支持缓存访问和非缓存访问。
缓存管理器使用文件映射来支持文件流缓存,文件映射把缓存和内存管理器对于分页内存的策略结合起来(and it also integrates caching with the memory manager'spolicies for other uses of pageable memory)。处于对缓存管理器的期望,流是表示多少字节信息将被保持在内存中的一个随机字节数。因此,缓存管理器提供的相同服务集可以被文件系统驱动用来缓存文件数据或者文件系统元数据。
本文深入探讨了Windows NT系统中每个打开文件实例的表示方式——文件对象结构,以及任何与其关联的线性字节流如何定义为文件流。详细解释了文件流的类型,如文件数据、目录、文件系统元数据等,并阐述了NT文件系统如何创建、删除、操纵这些文件流。同时,文章还介绍了缓存管理器如何通过文件映射来支持文件流的缓存,以及缓存策略与内存管理器之间的整合。
28

被折叠的 条评论
为什么被折叠?



