5 ms·
For a great introduction to file systems, I highly recommend Practical File System Design with the Be File System by Dominic Giampaolo, creator of the Be File S
by linguae 5y ago
For a great introduction to file systems, I highly recommend Practical File System Design with the Be File System by Dominic Giampaolo, creator of the Be File System who ended up moving to Apple and designed Spotlight, the file indexing and search system that was introduced in Mac OS X Tiger. It's very well written and you'll learn a lot. When I was hired in 2006 as a summer undergraduate research intern at an academic storage systems lab, I used this book to study up on file systems design and implementation. At the time I haven't even taken an operating systems class (I had just completed my freshman year), though I already knew a lot about operating systems by reading a lot of papers and books on Unix as well as writing C programs that used POSIX system calls. This book helped me a lot on my very first research project: exploring the use of SQLite as the basis of a non-hierarchical file system. That was a fun project that helped start my research career.
I still refer to this book from time to time to brush up on file system basics.
- diehunde 5y agoVery interesting! Do you know if this book also talks about the basics of distributed file systems or is it only for single machine?
- linguae 5y agoIf I recall correctly, I don't believe the book covers distributed file systems. For those, I highly recommend reading the research papers describing modern distributed file systems such as HDFS, Google's various storage systems and databases (such as Bigtable and Spanner), and Ceph, making sure to check the bibliographies and read the cited papers to get a better understanding of the background material. That's how I learned the basics of distributed file systems when I worked on a research project involving Ceph back when it was brand new.