Practical File System DesignDominic Giampaolo
Practical File System Design
by Dominic Giampaolo · first published 2013
30mentions
15recommended by
26HN commenters
2011–2024first – last mentioned
58% recommend38% neutral4% critical
Why HN recommends it
Accessible, readable walk-through of filesystem design and implementation, using the author's own BeOS file system (with database-like attributes) as the worked example. Suits anyone curious how filesystems work.
Summarised by Claude from recommending comments
Affiliate links. As an Amazon Associate I earn from qualifying purchases.


A very accessible (though dated) intro to filesystems is Practical File System Design, by Dominic Giampaolo. PDF link: http://www.nobius.org/practical-file-system-design.pdf
on “Writing a file system from scratch in Rust” ↗Practical File System Design by Dominic Giampaolo File Systems: Structures and Algorithms by Harbor There is probably a relevant chapter on the The Linux Programming Interface on file systems as well.
on “Ask HN: What are the good books on filesystems or storage?” ↗> notably Dominic Giampaolo His book on file system design is still a must-read, imo. http://www.nobius.org/~dbg/practical-file-system-design.pdf
on “Gary Kildall” ↗Fun fact: Dominic Giampalo (who wrote the BeOS file system) is on the APFS team. His book "Practical File System Design" is an excellent description of a traditional UNIX file system design. May be out of print now but I think used copies turn up on Amazon.
on “A ZFS developer’s analysis of Apple’s new APFS file system” ↗…namely it includes database-like functionality that enables some really neat features via a standardized interface, rather than hiding them away in vendor-specific file formats. If you're interested, Practical File System Design[0] uses beFS as it's example filesystem (and it's also a really good book in general). 0 - https://www.amazon.com/Practical-System-Design-Dominic-Giamp...
on “Haiku R1/beta2 has been released” ↗There was a book, "Practical File System Design" that went over the implementation details of the BeOS file system. Good reading for anybody interested in more detail.
on “The BeOS file system: an OS geek retrospective” ↗…filesystem author wrote a good book about the design and implementation, including overviews of other filesystems (eg NTFS). He has made the book available for free download at http://www.nobius.org/~dbg/practical-file-system-design.pdf Ars Technica also has a nice 2010 article: http://arstechnica.com/information-technology/2010/06/the-be... The way it implemented the queries well was because they were integrated into the filesystem.…
on “Haiku Project” ↗…like then I highly recommend Dominic Giampaolo's book on the design and implementation of the Be filesystem (he wrote BeFS). The book is freely available from his website as http://www.nobius.org/~dbg/practical-file-system-design.pdf and includes information about the design of other filesystems too. It isn't exhaustive, but does give a very good grounding in filesystems and does cover extended attributes.
on “HFS+ is crazy” ↗> Fun fact: Dominic Giampalo (who wrote the BeOS file system) is on the APFS team. His book "Practical File System Design" is an excellent description of a traditional UNIX file system design. May be out of print now but I think used copies turn up on Amazon. It looks like he has a PDF up on his website: http://www.nobius.org/~dbg/practical-file-system-design.pdf
on “A ZFS developer’s analysis of Apple’s new APFS file system” ↗Practical File System Design: http://www.letterp.com/~dbg/practical-file-system-design.pdf NT File System Design (Rajeev Nagar) -- you can find this used. I believe his web site had a PDF copy for a while, sans pictures. My favorite…
on “The Hot/Crazy Solid State Drive Scale” ↗Dominic Giampaolo, one of the authors of BeFS, is now working on Apple's Spotlight file search engine. BeFS rocketh, check out the book: http://www.letterp.com/~dbg/practical-file-system-design.pdf
on “The BeOS file system: an OS geek retrospective” ↗…expect from an address book as file attributes: http://www.birdhouse.org/beos/byte/24-scripting_the_bfs/ https://www.haiku-os.org/docs/userguide/en/attributes.html Technical: http://www.letterp.com/~dbg/practical-file-system-design.pdf Though you seem to be against specific file systems due to non-portability and that is understandable.
on “Ask HN: Idea Sunday” ↗http://www.nobius.org/~dbg/practical-file-system-design.pdf if you are interested. It's obviously dated (1998) but still an entertaining, and insightful, read.
on “BeOS almost made Apple a different company (2015)” ↗…attributes like a database was way ahead of the curve and it still might be. This book was a great read back in the day of what goes into a "modern" filesystem design https://archive.org/details/practical-file-system-design "Practical File System Design" was technical but also readable. Straight from the man who designed BFS which makes it more of an accomplishment IMO.
on “BeOS: The Alternate Universe's Mac OS X” ↗Here's some info from gherkin0 back from June of 2016: gherkin0 on June 26, 2016 | next [–] > Fun fact: Dominic Giampalo (who wrote the BeOS file system) is on the APFS team. His book "Practical File System Design" is an excellent description of a traditional UNIX file system design. May be out of print now but I think used copies turn up on Amazon. It looks like he has a PDF up on his website: http://www.nobius.org/~dbg/practical-file-system-design.pdf
on “Apple's APFS Migration: A Feat of Engineering” ↗