FFS: Disk Awareness Is The Solution

Let's see how FFS is designed to be much more efficient than the older file systems.

We'll cover the following

A group at Berkeley decided to build a better, faster file system, which they cleverly called the Fast File System (FFS). The idea was to design the file system structures and allocation policies to be “disk aware” and thus improve performance, which is exactly what they did. FFS thus ushered in a new era of file system research; by keeping the same interface to the file system (the same APIs, including open(), read(), write(), close(), and other file system calls) but changing the internal implementation, the authors paved the path for new file system construction, work that continues today. Virtually all modern file systems adhere to the existing interface (and thus preserve compatibility with applications) while changing their internals for performance, reliability, or other reasons.

Organizing structure: the cylinder group

The first step was to change the on-disk structures. FFS divides the disk into a number of cylinder groups. A single cylinder is a set of tracks on different surfaces of a hard drive that are the same distance from the center of the drive. It is called a cylinder because of its clear resemblance to the so-called geometrical shape. FFS aggregates NN consecutive cylinders into a group, and thus the entire disk can thus be viewed as a collection of cylinder groups. Here is a simple example, showing the four outermost tracks of a drive with six platters, and a cylinder group that consists of three cylinders:

Get hands-on with 1200+ tech skills courses.