Jump to ratings and reviews
Rate this book

Practical File System Design

Rate this book
This is the new guide to the design and implementation of file systems in general, and the Be File System (BFS) in particular. This book covers all topics related to file systems, going into considerable depth where traditional operating systems books often stop. Advanced topics are covered in detail such as journaling, attributes, indexing and query processing. Built from scratch as a modern 64 bit, journaled file system, BFS is the primary file system for the Be Operating System (BeOS), which was designed for high performance multimedia applications.
You do not have to be a kernel architect or file system engineer to use Practical File System Design. Neither do you have to be a BeOS developer or user. Only basic knowledge of C is required. If you have ever wondered about how file systems work, how to implement one, or want to learn more about the Be File System, this book is all you will need.
* Review of other file systems, including Linux ext2, BSD FFS, Macintosh HFS, NTFS and SGI's XFS.
* Allocation policies for placing data on disks and discussion of on-disk data structures used by BFS
* How to implement journaling
* How a disk cache works, including cache interactions with the file system journal
* File system performance tuning and benchmarks comparing BFS, NTFS, XFS, and ext2
* A file system construction kit that allows the user to experiment and create their own file systems

256 pages, Paperback

First published January 15, 1999

3 people are currently reading
52 people want to read

About the author

Dominic Giampaolo

3 books3 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
3 (20%)
4 stars
7 (46%)
3 stars
5 (33%)
2 stars
0 (0%)
1 star
0 (0%)
Displaying 1 of 1 review
Profile Image for Vasil Kolev.
1,131 reviews198 followers
June 17, 2025
It was interesting and had a good amount of depth for the different issues they've seen. The only problems I have with the book are with the actual file system and implementation - the fixed-size cache, the weird indexes (why would you have an index by size? there's no mention of its usability anywhere), and, of course, the horrifying C++ API, which tries so hard to use inheritance and multiple inheritance that's just painful to watch.

There's, of course, the benefit of hindsight. In the last 20 years, the filesystems have become a lot better (to compare, this one was written when ext2 was the filesystem for Linux, and it can't hold a candle to ext4 that's in use now).
Displaying 1 of 1 review

Can't find what you're looking for?

Get help and learn more about the design.