阅读:1926回复:4
请问filemon中FastIo的作用?
看IFS document说是cache file与同步读写走这个路线,请问具体是什么意思?究竟什么时候回用到同步读写,什么时候会是cache file的状态,谢谢!
|
|
|
沙发#
发布于:2003-12-01 12:52
没人回答啊?那我自己顶一下吧! :(
|
|
|
板凳#
发布于:2003-12-02 10:00
看看INSIDE NT FILESYSTEM INTERNALS吧。。。。。。
|
|
|
地板#
发布于:2003-12-02 12:41
希望对你有帮助 :D :D
Rationale The rationale for providing Fast I/O seems to be one of convenience―many I/O operations are repeatedly performed against the same data. For example, like most modern operating systems, Windows NT integrates file system caching with the virtual memory system―using the system memory as a giant cache for file system information. Such systems are extremely efficient and boost both the actual and perceived performance of the system. A second reason for this integration is Windows NT’s support for memory-mapped files. Supporting both read/write access and memory mapped file access to the same data, requires either a high-cost (and hence low performance), cache-consistency scheme or the scheme used by NT―where all data is stored in the virtual memory system. This ensures that data is always consistent―even between two programs accessing the same data using different access techniques. This tight integration means that both read and write operations can often be satisfied from this cached data. In the search for performance, then, this fact can be exploited for read and write by simply calling a specialized routine which moves data from the VM cache into the user’s memory, or vice versa. This eliminates the need to allocate an I/O request packet since the operation can be satisfied synchronously and need not call into lower drivers. It is this fundamental model which is realized by the fast I/O operations. Once these fast I/O entry points have been created to provide added performance for read and write, it is only a small additional step to adding other commonly performed operations to the list as well―and over time, this list has grown to its current (as of NT 3.51) list of 13 entry points. As we describe each of these entry points, it will become obvious that most of them really are geared specifically towards supporting file systems and fast I/O. These entries are contained in the FAST_IO_DISPATCH structure as described in ntddk.h. The first element of this structure describes the size of the structure, providing a straightforward mechanism for adding new elements to this data structure in the future in a compatible fashion. Copyright ? 2001 OSR Open System Resources, Inc. All rights reserved. Reproduced by permission. Built on Wednesday, January 15, 2003 |
|
地下室#
发布于:2003-12-26 17:15
你可以跟踪看一下会发现WINDOWS系统在很多时候在文件操作会调用FastIoQueryBaseInformation(),而打开文本文件或目录则没有这样的过程---这是我的一点体会.
|
|