Writing kernel-mode Windows NT programs--such as file-system drivers (FSDs), filter drivers, and antivirus programs--poses a challenge to even experienced Windows programmers. It's hard enough to get these programs to work, but getting them to live peacefully with other kernel programs and NT itself is an art. Nagar sorts through the mechanics of writing such programs in this book, which is no mean feat considering that Microsoft provides no documentation for its development kit. The author begins by orienting the reader to NT's kernel mode, detailing what runs there, how the various programs interact, and what you need to keep in mind when developing software for the kernel mode.
The book then explores NT's key managers--I/O, virtual memory, and cache--covering the operation and exposed services for each. Nagar then takes the explanatory information he's provided and works it into a how-to guide to developing FSDs. In walking you through developing an actual FSD, the author covers I/O requests, cache operations, and buffers. Exercise files appear on the companion diskette.
Short of having a live instructor, you could not ask for a better guide to this complicated subject.
About the Author
Rajeev Nagar has been working on operating systems (specifically storage management systems) for the past six years. He has designed and implemented kernel software for the Windows NT, AIX, HPUX, and SunOS platforms. His file system development work has included local, disk-based file systems, networked file systems, and distributed file systems. His undergraduate degree is in computer engineering, and he has a master's degree in computer science. Rajeev has implemented an OSF distributed file system client on the Windows NT platform, as well as other filter drivers for storage management products.