Filesystem
Dan Tobias (Talk | contribs) (→Networked and cloud filesystems) |
Dan Tobias (Talk | contribs) (→Networked and cloud filesystems) |
||
(96 intermediate revisions by 8 users not shown) | |||
Line 4: | Line 4: | ||
|image=Office Supplies File Cabinet 02.png | |image=Office Supplies File Cabinet 02.png | ||
}} | }} | ||
− | + | '''Filesystems''' are [[Electronic_File_Formats|Electronic Formats]] that are a prerequisite to being able to read any [[file]] off a digital medium — you have to be able to mount the filesystem, and thus read it, in order to be able to read a file. | |
− | Filesystems are [[Electronic_File_Formats|Electronic Formats]] that are a prerequisite to being able to read any file off a digital medium — you have to be able to mount the filesystem, and thus read it, in order to be able to read a file. | + | |
== Single-system filesystems == | == Single-system filesystems == | ||
− | (How files are organized on one system | + | (How files are organized on one system, device, or medium, such as a disk, tape, or flash memory; see next category for networked and cloud filesystems. Of course, any filesystem can be made available on a network to remote devices, but these are the native filesystems present on the storage device/medium itself.) |
* [[+D filesystem]] (Sinclair, SAM Coupé) | * [[+D filesystem]] (Sinclair, SAM Coupé) | ||
* [[Acer Fast Filesystem]] (SCO OpenServer) | * [[Acer Fast Filesystem]] (SCO OpenServer) | ||
* [[ADFS]] (Acorn MOS, RISC OS) | * [[ADFS]] (Acorn MOS, RISC OS) | ||
− | * [[AdvFS]](Advanced File System, Digital/Tru64 Unix) | + | * [[AdvFS]] (Advanced File System, Digital/Tru64 Unix) |
− | * [[Ami | + | * [[Ami-FileSafe]] (AFS, Amiga) |
* [[APF Imagination Machine disk file system]] | * [[APF Imagination Machine disk file system]] | ||
* [[Apple DOS file system]] (Apple II; see also ProDOS below) | * [[Apple DOS file system]] (Apple II; see also ProDOS below) | ||
+ | * [[Apple File System]] (APFS) (2017 system for Apple devices) | ||
* [[Atari File Management Subsystem]] (FMS: Atari 400/800) | * [[Atari File Management Subsystem]] (FMS: Atari 400/800) | ||
− | * [[ | + | * [[AtheOS File System]] (AtheOS/Syllable) |
+ | * [[BetrFS]] | ||
* [[BFS]] (BeOS) | * [[BFS]] (BeOS) | ||
− | * [[ | + | * [[Btrfs]] (Linux) |
* [[CBMFS]] (Commodore 64, PET, etc.; 5.25" disks) | * [[CBMFS]] (Commodore 64, PET, etc.; 5.25" disks) | ||
** [[Commodore 1581 filesystem]] (3.5" disks) | ** [[Commodore 1581 filesystem]] (3.5" disks) | ||
Line 26: | Line 27: | ||
** [[CMDFS]] (CBMFS extension by Creative Micro Designs) | ** [[CMDFS]] (CBMFS extension by Creative Micro Designs) | ||
* [[Compucolor file system]] | * [[Compucolor file system]] | ||
+ | * [[CMS filesystem]] (IBM mainframe z/VM operating system, formerly known as VM/CMS) | ||
* [[CP/M file system]] | * [[CP/M file system]] | ||
− | |||
* [[DDFS]] (Data Domain File System) | * [[DDFS]] (Data Domain File System) | ||
* [[DTFS]] (Desktop File System, [[SCO OpenServer]]) | * [[DTFS]] (Desktop File System, [[SCO OpenServer]]) | ||
* [[EFS]] (Extent File System, SGI IRIX. Replaced by [[XFS]]) | * [[EFS]] (Extent File System, SGI IRIX. Replaced by [[XFS]]) | ||
− | * [[EOS file system]] (Coleco | + | * [[EOS file system (Coleco)]] (Coleco ADAM "data pack" tape drives and disks) |
− | * [[ | + | * [[EROFS]] |
* [[ext]] (developed for Linux, previously used MINIX fs) | * [[ext]] (developed for Linux, previously used MINIX fs) | ||
* [[ext2]], [[ext3]], [[ext4]] (these are all just variants of each other) | * [[ext2]], [[ext3]], [[ext4]] (these are all just variants of each other) | ||
* [[F2FS]], (Flash Friendly Filesystem) | * [[F2FS]], (Flash Friendly Filesystem) | ||
− | * [[FAT8]] | + | * [[FAT]] |
− | * [[FAT12]] | + | ** [[FAT8]] |
− | * [[FAT16]] | + | ** [[FAT12]] |
− | * [[FAT32]] | + | ** [[FAT16]] |
+ | ** [[FAT32]] | ||
+ | ** [[exFAT]] (Microsoft, for flash memory) | ||
* [[FFS]] (Amiga Fast File System) | * [[FFS]] (Amiga Fast File System) | ||
* [[Files-11]] (VMS) | * [[Files-11]] (VMS) | ||
+ | * [[Firmware File System]] | ||
* [[Fossil]] (Plan 9) | * [[Fossil]] (Plan 9) | ||
− | |||
* [[HAMMER]] (DragonflyBSD) | * [[HAMMER]] (DragonflyBSD) | ||
+ | ** [[HAMMER2]] (successor to HAMMER) | ||
* [[HFS]] (MacOS) | * [[HFS]] (MacOS) | ||
* [[HFS+]] | * [[HFS+]] | ||
+ | * [[HFS (IBM)]] (IBM mainframe Unix filesystem, not to be confused with Apple HFS) | ||
+ | * [[High Sierra]] | ||
* [[HPFS]] (OS/2 native file system) | * [[HPFS]] (OS/2 native file system) | ||
− | * [[ISO 9660]] | + | * [[iPod Filesystem]] |
− | * [[JFFS2]] | + | * [[ISO 9660]] (optical discs) |
+ | * [[JFFS]] | ||
+ | ** [[JFFS2]] | ||
* [[LanyFS]] (Lanyard Filesystem) | * [[LanyFS]] (Lanyard Filesystem) | ||
+ | * [[Linear Tape File System]] (LTFS) | ||
* [[LogFS]] | * [[LogFS]] | ||
* [[MDR (Floppy Disk)|MDR]] (audio instrument format close to MSDOS) | * [[MDR (Floppy Disk)|MDR]] (audio instrument format close to MSDOS) | ||
* [[MFS]] (ancient Macintosh filesystem) | * [[MFS]] (ancient Macintosh filesystem) | ||
* [[MINIX file system]] | * [[MINIX file system]] | ||
− | * [[NILFS2]] | + | * [[NILFS]] (and NILFS2) |
+ | * [[North Star DOS file system]] | ||
+ | * [[NOVA (filesystem)|NOVA]] | ||
* [[NTFS]] | * [[NTFS]] | ||
− | * [[ | + | * [[OFS]] (Amiga Old File System) |
+ | * [[PFS]] (Professional File System, Amiga) | ||
* [[PRAMFS]] (Persistent & Protected RAM File-System) | * [[PRAMFS]] (Persistent & Protected RAM File-System) | ||
* [[ProDOS file system]] (Apple II) (also used in Apple III SOS) | * [[ProDOS file system]] (Apple II) (also used in Apple III SOS) | ||
Line 64: | Line 76: | ||
* [[ReiserFS]] | * [[ReiserFS]] | ||
** [[Reiser4]] | ** [[Reiser4]] | ||
− | * [[SDFS]] ( | + | * [[SDFS]] (OpenDedup deduplication based filesystem) |
+ | * [[securefs]] | ||
+ | * [[SFS (Amiga)|SFS]] (Smart File System, Amiga) | ||
+ | * [[Sinclair QL filesystem]] | ||
* [[SkyFS]] (SkyOS) | * [[SkyFS]] (SkyOS) | ||
− | * [[ | + | * [[TFS]] |
+ | * [[TI-99/4A file system]] | ||
+ | * [[TR-DOS filesystem]] (ZX Spectrum) | ||
+ | * [[TRSDOS file system]] (Tandy) | ||
+ | * [[UBIFS]] | ||
* [[UCSD p-System Filesystem]] (UCSD Pascal) | * [[UCSD p-System Filesystem]] (UCSD Pascal) | ||
− | + | * [[UFS]] (Unix File System, Solaris and BSD) | |
− | * [[UFS]] (Unix | + | |
** [[UFS2]] | ** [[UFS2]] | ||
+ | * [[Universal Disk Format]] (UDF) (optical discs) | ||
* [[VMUFAT]] (Filesystem for Dreamcast VMU units) | * [[VMUFAT]] (Filesystem for Dreamcast VMU units) | ||
− | * [[VSAM]] (Virtual Storage Access Method) | + | * [[VSAM]] (Virtual Storage Access Method – not a filesystem per se, runs on top of IBM's VTOC filesystem) |
+ | * [[VTOC]] (Native filesystem of the IBM z/OS aka OS/390 aka MVS and z/VM aka DOS/VSE mainframe operating systems) | ||
* [[VxFS]] (VERITAS File System) | * [[VxFS]] (VERITAS File System) | ||
* [[WAFL]] (NetApp's commercial file system) | * [[WAFL]] (NetApp's commercial file system) | ||
+ | * [[WBFS]] | ||
* [[Xiafs]] (Linux, dropped in favour of ext2) | * [[Xiafs]] (Linux, dropped in favour of ext2) | ||
* [[XFS]] (SGI) | * [[XFS]] (SGI) | ||
− | |||
* [[YAFFS]] | * [[YAFFS]] | ||
− | * [[ZFS]] | + | * [[ZFS]] (Sun) |
+ | * [[ZFS (IBM)]] (IBM mainframe Unix filesystem, not to be confused with Sun's ZFS) | ||
+ | |||
+ | == Compressed filesystems == | ||
+ | (Filesystems and related topics whose main purpose is [[compression]]. Not all filesystems that support compression are listed here.) | ||
+ | |||
+ | * [[cramfs]] | ||
+ | * [[Cromfs]] | ||
+ | * [[DwarFS]] | ||
+ | * [[Isofs transparent compression]] | ||
+ | * [[Squashfs]] | ||
+ | * [[zisofs]] | ||
+ | |||
+ | See also [[Compression#Disk compression]] and [[Compression#Transparent file compression]]. | ||
== Networked and cloud filesystems == | == Networked and cloud filesystems == | ||
− | (Used to make files available to multiple systems over a local or wide area network, including "on the cloud" via the Internet; systems access files through a protocol or API. The low-level storage details, usually concealed from end users and even most developers, may be within one or more of the single-device filesystems above, and the networked/cloud filesystem is generally defined independently of such details and might have very different characteristics and rules as to how the files are named, addressed, and structured.) | + | (Used to make files available to/from multiple systems over a local or wide area network, including "on the cloud" via the Internet; systems access files through a protocol or API. The low-level storage details, usually concealed from end users and even most developers, may be within one or more of the single-device filesystems above, and the networked/cloud filesystem is generally defined independently of such details and might have very different characteristics and rules as to how the files are named, addressed, and structured.) |
* [[Amazon S3]] | * [[Amazon S3]] | ||
* [[Andrew File System]] (Carnegie Mellon University) | * [[Andrew File System]] (Carnegie Mellon University) | ||
+ | * [[Ceph]] | ||
+ | * [[Elastic File System]] (AWS) | ||
+ | * [[EOS file system (CERN)]] (open-source file system used at CERN) | ||
+ | * [[Filecoin]] (a cryptocurrency and file system) | ||
* [[Google Drive]] | * [[Google Drive]] | ||
* [[Google File System]] | * [[Google File System]] | ||
− | * [[Hadoop Distributed File System]] | + | * [[Hadoop Distributed File System]] (HDFS) |
+ | * [[IPFS]] | ||
+ | * [[Keybase filesystem]] | ||
+ | * [[Longaccess]] | ||
* [[MEGA file system]] | * [[MEGA file system]] | ||
* [[NetWare File System]] (Novell NetWare, replaced by [[NSS]]) | * [[NetWare File System]] (Novell NetWare, replaced by [[NSS]]) | ||
+ | * [[NFS]] (Unix network filesystem protocol) | ||
* [[NSS]] (Novell Storage Services) | * [[NSS]] (Novell Storage Services) | ||
* [[OneDrive]] (Microsoft) | * [[OneDrive]] (Microsoft) | ||
* [[OpenStack Swift]] | * [[OpenStack Swift]] | ||
+ | * [[Permacoin]] (also a [[currency]]) | ||
+ | * [[POHMELFS]] (distributed Linux filesystem) | ||
+ | * [[SDFS]] (OpenDedup deduplication based filesystem) | ||
+ | * [[SFS]] (SyncFS) | ||
* [[SMB]] (Server Message Block, a protocol for a networked filesystem) | * [[SMB]] (Server Message Block, a protocol for a networked filesystem) | ||
+ | * [[Storj]] (another currency/filesystem scheme) | ||
+ | * [[WebDAV]] (network filesystem implemented as extensions to HTTP) | ||
+ | * [[XtreemFS]], (Linux, distributed file system) | ||
+ | |||
+ | == Virtual filesystems == | ||
+ | * [[%clay vane]] (Urbit) | ||
+ | * [[AVFS]] | ||
+ | * [[FUSE]] | ||
+ | * [[GnomeVFS]] | ||
+ | ** [[GVfs (GNOME)]] | ||
+ | * [[Virtual File System for Git]] (was GVFS) | ||
+ | |||
+ | == Other / Misc. == | ||
+ | * [[πfs]] | ||
+ | * [[BrowserFS]] | ||
+ | * [[Magikfs]] | ||
+ | * [[ProFS]] | ||
+ | * [[RockFAT]] | ||
+ | * [[SAFS]] | ||
+ | * [[Stegfs]] | ||
+ | |||
+ | == File content signature == | ||
+ | (used to match files to a hash table or similar system in order to detect duplicates, help find specific files when their exact | ||
+ | location is unknown, handle distributed networked filesystems, etc. See also [[Error detection and correction]].) | ||
+ | |||
+ | * [[FWKCS]] | ||
+ | |||
+ | == File lists == | ||
+ | * [[Everything File List]] (.efu) | ||
− | == Format details == | + | == Format details, etc. == |
+ | * [[AAIP]] | ||
+ | * [[Android File Structure]] | ||
* [[AppleDouble]] | * [[AppleDouble]] | ||
+ | * [[Apple ISO 9660 extensions]] | ||
* [[Apple Partition Map]] | * [[Apple Partition Map]] | ||
* [[AppleSingle]] | * [[AppleSingle]] | ||
+ | * [[ARCHIMEDES ISO 9660 extension]] | ||
+ | * [[Auto-created directories]] | ||
* [[desktop.ini]] (Windows) | * [[desktop.ini]] (Windows) | ||
* [[Desktop Services Store]] (Mac OS X) | * [[Desktop Services Store]] (Mac OS X) | ||
− | * [[ | + | * [[DMF (Distribution Media Format)]] |
+ | * [[DOS/Windows file attributes]] | ||
+ | * [[EA DATA. SF]] | ||
+ | * [[El Torito]] | ||
+ | * [[GUID Partition Table]] | ||
+ | * [[Joliet]] | ||
+ | * [[Master Boot Record]] (MBR) | ||
+ | * [[RAID]] | ||
* [[Resource Fork]] (MacOS) | * [[Resource Fork]] (MacOS) | ||
+ | * [[Rock Ridge]] | ||
+ | * [[System Use Sharing Protocol]] (SUSP) | ||
* [[TRANS.TBL]] | * [[TRANS.TBL]] | ||
+ | * [[VFAT]] | ||
+ | * [[XDF (Extended Density Format)]] | ||
== Links == | == Links == | ||
+ | * [[Wikipedia:List of file systems|List of file systems (Wikipedia)]] | ||
* [http://www.dreamhost.com/dreamscape/2013/09/12/cloud-storage-architectures/ Cloud Storage Architectures] | * [http://www.dreamhost.com/dreamscape/2013/09/12/cloud-storage-architectures/ Cloud Storage Architectures] | ||
* [https://www.usenix.org/legacy/event/hotos09/tech/full_papers/seltzer/seltzer.pdf Hierarchical File Systems are Dead] | * [https://www.usenix.org/legacy/event/hotos09/tech/full_papers/seltzer/seltzer.pdf Hierarchical File Systems are Dead] | ||
+ | * [http://qanda.digipres.org/176/filesystem-checksums-value-digital-preservation-context Do filesystem-based checksums add value in a digital preservation context?] | ||
+ | * [http://lists.gnu.org/archive/html/coreutils/2014-08/msg00012.html My experience with using cp to copy a lot of files (432 millions, 39 TB)] | ||
+ | * [https://www.csail.mit.edu/crash_tolerant_data_storage Crash-proof filesystem] | ||
+ | * [http://l-o-c-a-l-h-o-s-t.com/wiki/doku.php?id=localhost:events:rwx:know_your_filesystem Know Your Filesystem] | ||
+ | * [https://danluu.com/file-consistency/ File crash consistency and filesystems are hard] |
Latest revision as of 23:44, 5 January 2024
Filesystems are Electronic Formats that are a prerequisite to being able to read any file off a digital medium — you have to be able to mount the filesystem, and thus read it, in order to be able to read a file.
Contents |
[edit] Single-system filesystems
(How files are organized on one system, device, or medium, such as a disk, tape, or flash memory; see next category for networked and cloud filesystems. Of course, any filesystem can be made available on a network to remote devices, but these are the native filesystems present on the storage device/medium itself.)
- +D filesystem (Sinclair, SAM Coupé)
- Acer Fast Filesystem (SCO OpenServer)
- ADFS (Acorn MOS, RISC OS)
- AdvFS (Advanced File System, Digital/Tru64 Unix)
- Ami-FileSafe (AFS, Amiga)
- APF Imagination Machine disk file system
- Apple DOS file system (Apple II; see also ProDOS below)
- Apple File System (APFS) (2017 system for Apple devices)
- Atari File Management Subsystem (FMS: Atari 400/800)
- AtheOS File System (AtheOS/Syllable)
- BetrFS
- BFS (BeOS)
- Btrfs (Linux)
- CBMFS (Commodore 64, PET, etc.; 5.25" disks)
- Commodore 1581 filesystem (3.5" disks)
- GEOS VLIR (GEOS Variable Length Index Record )
- CMDFS (CBMFS extension by Creative Micro Designs)
- Compucolor file system
- CMS filesystem (IBM mainframe z/VM operating system, formerly known as VM/CMS)
- CP/M file system
- DDFS (Data Domain File System)
- DTFS (Desktop File System, SCO OpenServer)
- EFS (Extent File System, SGI IRIX. Replaced by XFS)
- EOS file system (Coleco) (Coleco ADAM "data pack" tape drives and disks)
- EROFS
- ext (developed for Linux, previously used MINIX fs)
- ext2, ext3, ext4 (these are all just variants of each other)
- F2FS, (Flash Friendly Filesystem)
- FAT
- FFS (Amiga Fast File System)
- Files-11 (VMS)
- Firmware File System
- Fossil (Plan 9)
- HAMMER (DragonflyBSD)
- HAMMER2 (successor to HAMMER)
- HFS (MacOS)
- HFS+
- HFS (IBM) (IBM mainframe Unix filesystem, not to be confused with Apple HFS)
- High Sierra
- HPFS (OS/2 native file system)
- iPod Filesystem
- ISO 9660 (optical discs)
- JFFS
- LanyFS (Lanyard Filesystem)
- Linear Tape File System (LTFS)
- LogFS
- MDR (audio instrument format close to MSDOS)
- MFS (ancient Macintosh filesystem)
- MINIX file system
- NILFS (and NILFS2)
- North Star DOS file system
- NOVA
- NTFS
- OFS (Amiga Old File System)
- PFS (Professional File System, Amiga)
- PRAMFS (Persistent & Protected RAM File-System)
- ProDOS file system (Apple II) (also used in Apple III SOS)
- QFS
- ReFS (Microsoft's new FS- Resilient Filesystem, on Windows 8 Server)
- ReiserFS
- SDFS (OpenDedup deduplication based filesystem)
- securefs
- SFS (Smart File System, Amiga)
- Sinclair QL filesystem
- SkyFS (SkyOS)
- TFS
- TI-99/4A file system
- TR-DOS filesystem (ZX Spectrum)
- TRSDOS file system (Tandy)
- UBIFS
- UCSD p-System Filesystem (UCSD Pascal)
- UFS (Unix File System, Solaris and BSD)
- Universal Disk Format (UDF) (optical discs)
- VMUFAT (Filesystem for Dreamcast VMU units)
- VSAM (Virtual Storage Access Method – not a filesystem per se, runs on top of IBM's VTOC filesystem)
- VTOC (Native filesystem of the IBM z/OS aka OS/390 aka MVS and z/VM aka DOS/VSE mainframe operating systems)
- VxFS (VERITAS File System)
- WAFL (NetApp's commercial file system)
- WBFS
- Xiafs (Linux, dropped in favour of ext2)
- XFS (SGI)
- YAFFS
- ZFS (Sun)
- ZFS (IBM) (IBM mainframe Unix filesystem, not to be confused with Sun's ZFS)
[edit] Compressed filesystems
(Filesystems and related topics whose main purpose is compression. Not all filesystems that support compression are listed here.)
See also Compression#Disk compression and Compression#Transparent file compression.
[edit] Networked and cloud filesystems
(Used to make files available to/from multiple systems over a local or wide area network, including "on the cloud" via the Internet; systems access files through a protocol or API. The low-level storage details, usually concealed from end users and even most developers, may be within one or more of the single-device filesystems above, and the networked/cloud filesystem is generally defined independently of such details and might have very different characteristics and rules as to how the files are named, addressed, and structured.)
- Amazon S3
- Andrew File System (Carnegie Mellon University)
- Ceph
- Elastic File System (AWS)
- EOS file system (CERN) (open-source file system used at CERN)
- Filecoin (a cryptocurrency and file system)
- Google Drive
- Google File System
- Hadoop Distributed File System (HDFS)
- IPFS
- Keybase filesystem
- Longaccess
- MEGA file system
- NetWare File System (Novell NetWare, replaced by NSS)
- NFS (Unix network filesystem protocol)
- NSS (Novell Storage Services)
- OneDrive (Microsoft)
- OpenStack Swift
- Permacoin (also a currency)
- POHMELFS (distributed Linux filesystem)
- SDFS (OpenDedup deduplication based filesystem)
- SFS (SyncFS)
- SMB (Server Message Block, a protocol for a networked filesystem)
- Storj (another currency/filesystem scheme)
- WebDAV (network filesystem implemented as extensions to HTTP)
- XtreemFS, (Linux, distributed file system)
[edit] Virtual filesystems
- %clay vane (Urbit)
- AVFS
- FUSE
- GnomeVFS
- Virtual File System for Git (was GVFS)
[edit] Other / Misc.
[edit] File content signature
(used to match files to a hash table or similar system in order to detect duplicates, help find specific files when their exact location is unknown, handle distributed networked filesystems, etc. See also Error detection and correction.)
[edit] File lists
- Everything File List (.efu)
[edit] Format details, etc.
- AAIP
- Android File Structure
- AppleDouble
- Apple ISO 9660 extensions
- Apple Partition Map
- AppleSingle
- ARCHIMEDES ISO 9660 extension
- Auto-created directories
- desktop.ini (Windows)
- Desktop Services Store (Mac OS X)
- DMF (Distribution Media Format)
- DOS/Windows file attributes
- EA DATA. SF
- El Torito
- GUID Partition Table
- Joliet
- Master Boot Record (MBR)
- RAID
- Resource Fork (MacOS)
- Rock Ridge
- System Use Sharing Protocol (SUSP)
- TRANS.TBL
- VFAT
- XDF (Extended Density Format)
[edit] Links
- List of file systems (Wikipedia)
- Cloud Storage Architectures
- Hierarchical File Systems are Dead
- Do filesystem-based checksums add value in a digital preservation context?
- My experience with using cp to copy a lot of files (432 millions, 39 TB)
- Crash-proof filesystem
- Know Your Filesystem
- File crash consistency and filesystems are hard