File allocation table. As an adjective, a file system, originally a type of file system native to Microsoft MS-DOS.

As a noun, the logical structure describing a disk partition for the FAT file system.

fault tolerance

A feature of the NT-based operating system that includes the end-user-visible Disk Administrator utility supported by a system-supplied intermediate driver, ftdisk. The ftdisk driver handles disk partition mirroring, striping, and volume set management.


See file control block (FCB).


Floppy disk drive controller. A special-purpose chip and associated circuitry that directs and controls reading from and writing to a computer's floppy disk drive.


See functional device object (FDO).


A display driver instruction that contains 64 bits of data and an address.

file control block (FCB)

An internal file system structure in which a file system maintains state for an open file.

See also context control block (CCB) and directory control block (DCB).

file object

An object that is visible in user mode and that represents an open instance of a file, device, directory, or volume. A file object is accessed through the file handle that is returned by a protected subsystem's API function. This function calls down to a system service that opens (or creates) a file. Callers of the I/O system services can wait on a file handle.

At any given moment, several file objects can be associated with a single, shared data file, but each such file object has a unique handle and an object-specific value for the current file pointer.

A file object is sometimes called a because the entity that backs any run-time set of file objects is retained across system boots.

file system process (FSP)

FSP usually refers to a set of device-dedicated or system-worker threads that assist a file system driver (FSD), but can also refer to a kernel-mode process set up by an FSD. FSP threads are generally used when a file system driver requires a thread context in which to work. An example is when the driver must wait without tying up the calling thread. An FSP kernel-mode process is used only when an FSD must have a driver-specific process address space in which its device-dedicated threads execute. Most file system drivers conserve system memory and improve performance by not creating their own kernel-mode processes.

Communication between the FSD and the FSP threads is performed through the use of a communication region. This region is generally allocated in a device object's device extension and consists of an interlocked queue and a synchronization event.

Note that any driver (not just file systems) can create one or more device-dedicated threads, and a file system driver can use system worker threads. In particular, a driver should create a thread for I/O operations that use synchronization mechanisms other than spin locks (such as events, timers, semaphores, and mutexes). Such a driver's thread can wait for an indefinite, nonzero interval on a kernel-defined dispatcher object, but context switches to the thread slow down such a driver's I/O operations.

See also device object, and event object. For more information see the topic, Device Extensions.


An entity that represents a collection of related connection points called pins, which have some internal routing. Under Microsoft DirectShow this is a user-mode entity (an instance of a COM object normally implemented by a DLL), and under WDM Streaming this is a kernel-mode entity (a device object that is normally implemented by a kernel driver).

filter device object

A device object created by a filter driver. The filter device object (filter DO) represents the device for the filter driver.

For more information, see the topic Types of WDM Device Objects.

filter drivers

An optional driver that adds value to or modifies the behavior of a device. A filter driver can service one or more devices. An "upper-level" device filter driver adds value for a particular device. For example, an upper-level device filter driver for a keyboard could enforce additional security checks. A "lower-level" device filter driver monitors and/or modifies I/O requests to a particular device. Typically, such filters redefine hardware behavior to match expected specifications.

For more information, see the topic Filter Drivers.

flush mechanism

A mechanism that enables GDI to synchronize itself to the current state of a surface. In addition to providing a synchronization routine, a display driver can also activate either a time-based flush mechanism or programmatic flush mechanism. It does this by setting the flGraphicsCaps2 member of the DEVINFO structure to one of the following flag values:

  • GCAPS2_SYNCTIMER - Causes the driver's synchronization routine to be called periodically (GDI calls the driver's synchronization routine every 50 ms.). Drivers that batch DDI calls must specify this flag. By doing so, these drivers avoid problems such as lag in a software cursor's movement or in drawing that is performed in bursts.

    GDI passes the DSS_TIMER_EVENT flag to DrvSynchronizeSurface when this synchronization routine is called due to a periodic event.

  • GCAPS2_SYNCFLUSH - Causes the driver's synchronization routine to be called whenever the Microsoft Windows function is called. Drivers that perform asynchronous rendering must specify this flag and provide a synchronization routine.

    GDI passes the DSS_FLUSH_EVENT flag to DrvSynchronizeSurface when this synchronization routine is called due to a flush-based event.

See also asynchronous rendering.


A GDI user object that is used to give a driver access to information about a particular instance of a font. As an accelerator, the driver is allowed to access the public members of the FONTOBJ structure.


In the original Microsoft Windows multimedia APIs, media types were tagged with 32-bit values created from four 8-bit character codes, known as FOURCCs.


Frames per second.

fragmentation threshold

The size at which packets are divided into smaller packets to be transmitted on an 802.11 LAN. The IEEE 802.11-1997 standard requires packets that exceed the fragmentation threshold to be divided into smaller packets and transmitted as a sequence of data/ACK transactions. The fragmentation threshold is determined on a station-by-station basis.

frame buffer

Dedicated memory on a video adapter that can hold the contents of a single screen image. One type of frame buffer is the linear frame buffer, in which memory is mapped linearly into CPU address space. The other type of frame buffer is the banked frame buffer, so-called because its memory is partitioned into contiguous segments, or "banks." Most currently-manufactured video accelerators have linear frame buffers.

free build

A "production" or "retail" build of the operating system. Free builds of the system are compiled and built without symbols. Free builds include compiler optimizations that can make it difficult to debug drivers and other system components. The free build is smaller in size and faster than a checked build. For more information see the topic, Checked and Free Build Differences.

See also checked build.


A file system. An FS is a file system driver that registers itself with the I/O manager as an active file system. Several file systems can be active at the same time. File systems are dynamically located when a volume is mounted or when a remote name is being resolved. The I/O manager calls the registered FSs in turn until one file system "recognizes" the volume structure or remote name.

Examples of system-supplied file systems are FAT, NTFS, CDFS, the LAN manager redirector, NPFS (named pipe file system), and RAW.

See also IFS.


File system control code. A system-defined or vendor-defined control code used to identify file system control operations that are requested by sending the IRP_MJ_FILE_SYSTEM_CONTROL IRP. Only file systems and file system filter drivers receive these requests.


File system driver. The FSD refers to the portion of a driver that executes in the context of the caller, to which an I/O request is dispatched when the request is originally made. The FSD has no process virtual address space and no particular thread context because it operates in the context of whoever happens to call it.

An FSD also executes in the context of the lower-level (intermediate or mass-storage device) driver's DPC routine when the I/O operation is being completed if the FSD indicated that it should be called upon completion of the IRP.

The term FSD normally refers to the device driver part of a file system driver when the driver also has an FSP associated with it; otherwise, it is simply called a file system.


See file system process (FSP).

full duplex

In terms of data flow, full duplex indicates a bidirectional data flow.

full-motion video

Video reproduction at 30 frames per second (NTSC-original signals) or 25 frames per second (PAL-original signals).

functional device object (FDO)

A device object created by a PnP function driver using IoCreateDevice. The FDO represents the device for the function driver.

For more information, see the topic Types of WDM Device Objects.

See also physical device object (PDO) and filter device object.



Send comments about this topic to Microsoft