The cache manager is a set of kernel-mode functions and system threads that cooperate with the memory manager to provide data caching for all Windows file system drivers (both local and network).
Key Features of the Cache Manager
The cache manager has several key features:
• Supports all file system types (both local and network), thus removing the need for each file system to implement its own cache management code
• Uses the memory manager to control which parts of which files are in physical memory (trading off demands for physical memory between user processes and the operating system)
• Caches data on a virtual block basis (offsets within a file)—in contrast to many caching systems, which cache on a logical block basis (offsets within a disk volume)—allowing
for intelligent read-ahead and high-speed access to the cache without involving file system drivers.
• Supports “hints” passed by applications at file open time (such as random versus sequential access, temporary file creation, and so on)
• Supports recoverable file systems (for example, those that use transaction logging) to recover data after a system failure
None of the cache manager’s internal functions are outlined in this chapter beyond the depth required to explain how the cache manager works. The programming interfaces to the cache manager are documented in the Windows Driver Kit (WDK). For more information about the WDK, see www.microsoft.com/whdc/devtools/wdk/default.mspx.
Source of Information : Microsoft Press Windows Internals 5th Edition