 








|
 |
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.
|
|
|
|