OSR Logo
Seminars
  
osr.com










Developing File Systems for Windows
Target Audience  Prerequisite  Seminar Outline  Cost   Back to Seminar Schedule

Next Scheduled:   27 April 2009, Boston/Waltham, MA

 Click here for a PDF version of this page

Overview

This four day seminar deals with the issues of developing both file systems and file system filter drivers in the Windows environment, with both a discussion of broader operating systems issues for developers as well as practical issues related to current development. Upon completion of this course, you will have the basic information and technical understanding on how file systems work in the Windows environment.

  This seminar is taught only by experienced systems developers with experience developing file systems for Windows and other operating systems platforms.  


Target Audience

Students with a need to understand or develop file systems or file system filter drivers on Windows.  



Prerequisites

Students must have an understanding of Windows kernel mode drivers, either via direct experience developing kernel mode drivers (including file system drivers) and/or by taking our   Writing Kernel Mode Device Drivers for Windows seminar.

While not required, those students who have prior experience developing file systems and file system filter drivers will get a great deal out of this course because it will aid them in putting everything into context.
  Indeed, students who have previously taken this course prior to embarking upon their project have found it useful a second time after engaging in substantial development because it helps them "fill in the blanks".

Although not required for the course, attendees should have obtained a copy of the Windows IFS Kit from Microsoft, as the course ties many of the concepts into the IFS Kit materials.
 


Seminar Outline

1. Review of the OS The course starts with a standard overview of the operating system and its components, but presented with a very file system centric perspective.

2. Advanced I/O Manager Concepts This section reviews the I/O Manager and then focusing on advanced I/O Manager concepts essential to a solid understanding of Windows file systems. Topics include: a review of all I/O Manager operations, how the I/O Manager handles IRP completion processing, thread context issues, using worker threads, and the construction of IRPs

3. Naming Concepts This section delves into the arena of naming issues and incorporates a discussion of the Windows Object Manager, how names are actually parsed by the I/O Manager and Object Manager and thus how names are presented to the file systems. It also covers issues relating to mount points, drive letter maps, and network providers.

4. The Virtual Memory System Because Windows file systems are tightly integrated with the VM system it is imperative for any course of study to cover the VM System. This section describes in detail the two key components of the VM system, the Memory Manager and the Cache Manager, and how they interact with file systems.

5. File System Introduction Having reviewed the other components of the OS essential to an understanding of file systems, the course turns its attention to the specifics of how file systems on Windows are constructed. This section provides a "high level" view of file systems, including a description of the two types of file systems as well as file servers and filter drivers, both of which are closely related to Windows file systems.

6. File System Fundamentals The balance of this course is constructed to cover, in detail, how file systems are constructed and operate within Windows. The focus here is very pragmatic in an attempt to facilitate the development of file systems by those attending the class. This section covers the basic data structures that are essential to file systems. It describes various objects (File, Section, Device, and Driver) which are of interest to Windows file systems as well as data structures (IRP, Common Header, VPB) used throughout Windows file systems. It ties these concepts together by reviewing actual code within the IFS Kit that shows these key data structures and functions.

7. File System Core Functions This section of the course covers the core file system functions, of interest to all file system developers. This includes creation of new file object, and their subsequent cleanup and close operations as well as
  read, write, directory operations, delete, rename, and various other ancillary operations necessary for the proper implementation of a file system. This section includes review of relevant sections of the IFS Kit.

8. Security File systems may optionally support the Windows security model, or implement their own security model. This section describes security in the context of the Windows security model using discretionary access control lists, system access control lists, owner, and group information. It also describes the process of validating access using the security reference monitor, and interfacing with auditing of I/O operations.

9. File System Auxillary Functions This section discusses various "auxiliary" file system functions that are implemented by some file systems. This includes support for extended attributes, quotas, byte range locks, name tunneling, etc. This section includes review of the relevant sections of the IFS Kit.

10. Fast I/O Operations Microsoft has increasingly implemented a synchronous procedure call interface into certain portions of the OS, of which File Systems are a notable example. The Fast I/O operations were initially intended to improve the overall performance of read and write I/O operations but have since been used to target specific performance improvements for Lan Manager Server (which is a kernel-based file server on Windows. This section describes each of these operations and their basic implementation.

11. Filter Drivers A file system filter driver is a kernel mode component which "attaches" to a file system in order to perform processing on I/O operations before and after they have been processed by the underlying file system. This section discusses some of the key issues involved in the development of file system filter drivers.

12. Network Mini Redirectors The IFS Kit includes a "min-redirector" model. This section of the course reviews the samples within the IFS kit and how mini-redirectors fit into the file system model.

13. Windows and the Future of File System Development What changes are outstanding for Windows file systems development? How will they impact file systems development? This section describes some of the issues still waiting to be resolved in subsequent releases of Windows, and discusses the state of the art in terms of developing file systems.
 

Cost
Developing File Systems for Windows
4 days, lecture
Cost: $3450 when paid 2 weeks in advance ($3650 otherwise)

OSR also teaches private on-site seminars all over the world.

As with all of our seminar offerings, our Terms and Conditions and Bottom Line Guarantee apply.

Seminars Outside North America Please contact OSR at +1.603.595.6500 for seminars held outside of the United States and Canada. Prices vary by location. All courses are taught in English. At some international locations, translation services will be provided. Please contact OSR for more information.


Top of Page
 
 
Home | Consulting | Development | Toolkits | Seminars | Publications | Resources | About OSR | Contact Us

©2008 OSR Open Systems Resources, Inc, ALL RIGHTS RESERVED