Most often, when someone talks about a filesystem or file system, they're referring to disk filesystems such as NTFS, FAT, ext2, ext3, ext4, ISO 9660 and many others but can also refer to network file systems such as CIFS (Common Internet File System aka Samba) and NFS. A filesystem is a specially-designed database of files, their disk location, definition and attributes. Everything on a Unix or Linux filesystem is a file: Directories, processes, links, programs, and device references. All files.
But, is there a perfect filesystem?
Distributed filesystems such as Google's filesystem come pretty close. Ext4 is being praised as the best thing since French toast and VMware's VMFS is responsible for its blazing speed and high security.
But none of them are perfect.
Is there anything that creeps closer to perfect?
Yes, there is one filesystem that comes very close to perfect. It is ramfs.
It is dynamically resizable and very fast. The major downside is that there is the possibility of filling up the ramfs until there's no memory left and, as a result, the system will hang. Another downside is that the data in ramfs is not reboot persistent so any data contained in a ramfs will be lost upon reboot.
If one is clever, however, the data can be written to disk periodically to prevent its loss.
Data reads and writes to and from a ramfs mount are very fast and would be perfect for a strictly lookup (Read-only) database, since no data loss from a reboot would occur. However, if you want to use it for writes as well, the data would need an occasional ramfs to physical write or copy.
I am hopeful that some developers will continue to improve upon this extremely easy-to-use, flexible and fast filesystem.
I'd like to see the following capabilities for ramfs in future incarnations: Configurable space quotas, optional write-to-disk capability and improved memory cleaning.
It would also be kind of cool if you could configure a distributed ramfs (dramfs) among many systems for a shared resource pool.
There is no perfect Linux filesystem but with a little improvement, ramfs would easily become a 9.9 on a 10-point scale. Today's challenge is for some handy programmers to take on ramfs as their new project and make me proud and ramfs a lot better.