Next: 2.1.2 Out of Kernel
Up: 2.1 Types of File
Previous: 2.1 Types of File
2.1.1 Device Level
The lowest level file systems are part of the operating system and call
device drivers directly. These file systems are usually aware of and often
optimized for specific device characteristics, as shown in Figure
fig-level-device.
Figure:
Data Path in a Device Level File System
Figure:
Data Path in a Device Level File System
|
3.6in
 |
Examples of such file systems include
- The Berkeley Fast File System (FFS) [McKusick84] for
physical disks.
- Sun Microsystem's UFS [LoVerso91], an optimized version of
FFS.
- The LFS ``log structured'' file system, optimized for sequential writes
[Rosenblum91] on hard disks.
- NFS [Sandberg85,Pawlowski94], that uses the network
as its file system ``device.''1
- The High-Sierra file system (HSFS, ISO9660) for CD-ROMs
[Kao89].
- The FAT-based file system originally developed for DOS
[Tanenbaum92], and later adapted for Unix machines to
access a floppy as a native PC-based file system (PCFS)
[Forin94].
Such file systems are difficult to port because they are coupled to the
surrounding operating system: system call handlers call the file system code
and the file system code calls device drivers.
Because these file systems are optimized for the common combination of hard
disks and Unix workloads, we find only a handful in use. Note that while
many Unix vendors have their own version of a disk-based local file system,
these are in most cases only small variations of the Berkeley FFS.
Next: 2.1.2 Out of Kernel
Up: 2.1 Types of File
Previous: 2.1 Types of File
Erez Zadok
1999-12-07