/ informatics / operating system /
A file system manages the abstraction of grouped data blocks that belong to a single file. File systems use metadata such as date created, and access permissions to manage the access.
Common file systems
|ZFS||Solaris, FreeBSD||volumes, snapshots|
File Allocation Table (FAT)
The FAT is table that stores information about each Block. The information can be: * the block is defect * the block is free * pointer to the next block of a file * last block of a file
Index Nodes (I-Nodes)
Each file has an I-Node that stores: * Counter of references (links) to that file
Journaling helps to avoid corruption of the file system. Before actually performing changes to the file system, the action is written to a Journal and then executed. If the operating system crashes during the execution of the action, the action can be repeated from the Journal (after reboot).
Snapshots provide immutable (read only) copies of the file system at a single point in time.
Fragmentation means unusable memory because of inexact alignment of used memory blocks.
Unused bytes within a memory block. Files reserve complete blocks of memory. Therefore, the last block is most likely only partly used.
Unused blocks between Files. Happens if files are resized and become smaller or if a sequence of free blocks is slightly larger than the size of a new file.