1.1 - File Systems

Introduction to File Systems

  • Definition of a file system: A file system is the structure used for organizing and storing data on a storage device.

  • Importance of file systems: The file system determines how data is read and written by the operating system, making it a fundamental component when installing an operating system.

Creating a Partition

  • Steps in installing an operating system start with creating a partition.

    • A partition is a section of a storage device designated for a particular filesystem.

    • Formatting is required before data can be stored in that partition.

    • Formatting determines the file system utilized for that partition.

File Systems Overview

  • Different operating systems employ various file systems.

  • Some file systems are cross-compatible across multiple operating systems.

    • Example file systems compatible across Windows, Linux, and macOS include:

    • FAT32

    • NTFS

    • exFAT

NTFS (New Technology File System)

  • NTFS is predominantly used in Windows operating systems as an upgrade to FAT32.

  • Features of NTFS include:

    • Compression: Reduces the size of files and folders to save space.

    • File Encryption: Protects files by encrypting them.

    • Quotas: Allows administrators to control disk space utilization by users.

    • Other management features: Advanced features for file management to enhance performance.

  • Compatibility with other operating systems:

    • Many other OSs can read NTFS information;

    • Modern versions of Linux and macOS can read and write NTFS data.

ReFS (Resilient File System)

  • ReFS is being developed as the successor to NTFS by Microsoft.

    • Early integration seen in Windows Server 2012 and later versions.

  • Key characteristics of ReFS:

    • Designed for both desktop and server environments.

    • Capable of handling large data arrays, supporting significant data volumes in single partitions.

    • Emphasis on data integrity, with self-repair capabilities.

    • Constantly checks its integrity without needing to run utilities like Check Disk.

    • Built-in RAID functionalities to create redundant file systems.

  • Current status:

    • Adoption is limited; Microsoft continues to update and improve ReFS.

FAT32 (File Allocation Table 32)

  • FAT32 is a widely recognized file system that has been around for many years.

  • Specifications of FAT32 include:

    • Maximum volume size: 2 terabytes

    • Maximum file size: 4 gigabytes

  • Limitations:

    • As storage technology advances, systems larger than 2 terabytes necessitate alternative file systems.

exFAT (Extended File Allocation Table)

  • exFAT was created by Microsoft, specifically for flash drive storage solutions.

  • Advantages of exFAT:

    • Allows file sizes larger than 4 gigabytes, unlike FAT32.

    • Facilitates cross-platform use, enabling file transfer between Windows and other OSs (Linux, macOS) via flash drives.

ext4 (Fourth Extended File System)

  • ext4 is an advanced file system version commonly found in Linux and Android operating systems.

  • Operating context:

    • Frequently used in Android portable devices and Linux data centers.

XFS (Extended File System)

  • XFS is designed for high-performance scenarios, primarily in Linux environments.

  • Characteristics of XFS:

    • Supports efficient storage of very large data sets, performed by massive data operations with high-speed processing needs.

    • Journaling capabilities minimize data corruption risks during read/write interruptions.

    • Low fragmentation rates enhance performance on traditional spinning hard drives.

APFS (Apple File System)

  • APFS, introduced in macOS version 10.12.4, is tailored for SSDs and used across Apple's ecosystem, including iOS and iPadOS.

  • Features of APFS:

    • Optimizes storage management on SSDs.

    • Built-in encryption for enhanced security.

    • Quick snapshot capabilities for efficient backups and restores.

    • Increased options for data integrity management.