Where do filesystems like Reiser, NTFS, etc store the file tables? We're looking at writing our own filesystem, and wondering if we should use a single file to hold it all using btree's or use something out there.

Any advice? This is more a learning exercise than anything.

Edit: removed NFS, and replaced with NTFS