A file system specification specifies how sectors of a volume are utilized to store files and directories. This can vary quite a bit from one file system to another. For example, FAT32 (file allocation table, 32-bit) uses a linear chain to link clusters into files. However, ext2 (extension 2) uses an inode-tree to link clusters into files (via a depth-first traversal).
Some file systems have open specifications, allowing just about anyone to implement the code to use them. For example, extension-2 (mostly used on Linux systems) is an open file system specifications. Other file systems, such as NTFS (NT file system) is proprietary, which makes it quite difficult for a third party to write code to use it.