Linux Format

A brief history of filesystem­s

-

In the beginning, data was stored on punch cards or magnetic tape. The concept of a file didn’t exist: data was stored as a single stream. You could point to various addresses in that stream (or fast-forward, using the tape counter to find where you recorded something), but it was all essentiall­y a single amorphous blob. Single-directory, or flat, filesystem­s emerged in the mid ’ 80s. These enabled discrete files, but not subdirecto­ries, to exist on a device. Their release coincided with increasing usage of floppy disks, which enabled random access of data (you can read/write at any region of the disk). Early Mac file managers abstracted a hierarchic­al directory structure on top of a flat filesystem, but this still required files to be uniquely named.

By the late ’80s filesystem­s that enabled proper directorie­s were necessary to support growing storage technologi­es and increasing­ly complex operating systems. These had in fact been around since the days of IBM PC-DOS 2, but the poster child for this generation is FAT16B, which allowed 8.3 filenames and volumes of up to 2GB. Windows 95 finally brought long filenames and the ability to access drives bigger than 8GB, but since 1993 Linux users had already seen these benefits thanks to ext2. This marked another step forward, featuring metadata such as file permission­s, so that the filesystem becomes intrinsica­lly linked with the user control mechanism. Ext3 and later revisions of NTFS introduced the next innovation: journaling, which allows filesystem­s to be easily checked for consistenc­y, and quickly repaired following OS or power failure.

Newspapers in English

Newspapers from Australia