411 REFERENCE · Wikibooks
Operating System Design/File Sys
Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.
A file system is a way of organizing information on a physical drive or other media (e.g, RAM) for access. In general, file systems can be divided into several groups:
Local file systems ‒ ext2/3, FAT32, NTFS
Distributed file systems ‒ NFS, AFS
Parrallel or cluster file systems ‒ GFS, PVFS, Lustre
Some current file systems:
File Allocation Table (FAT)
NTFS
ext4
JFS
BFS
HFS
ReiserFS
NTFS and FAT are used under Windows, while ext4 and ReiserFS tend to be used by Linux.
A file system may be described by a set of characteristics:
Ability to work with huge number of files/directories in a directory (e.g ReiserFS).
Large files support ‒ some file systems have 2-4G limit for this. Switching to 64-bits addressing solves the problem.
Fragmentation ‒ NTFS quickly becomes fragmented, while ext4 doesn't.
Fault tolerance ‒ compare e2fsck runs on dirty ext2 vs logging facilities of ext3 or ReiserFS.
Scalability ‒ some file systems have limits on their disk sizes.
Use of encryption/compression
Charsets support ‒ for example, FAT does not allow use of some symbols in file names, while NTFS does.
Long file names ‒ for ext4, 256 chars; FAT16 8+3 chars max
This section discusses the key components to a file system and common problems that an operating system must deal with. It concludes with a discussion about some of the more popular file systems in use today.