Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГАК-2026.docx
Скачиваний:
1
Добавлен:
16.06.2026
Размер:
2.66 Mб
Скачать

2. Зачем нужна файловая система?

Основные функции файловой системы:

  1. Организация хранения — разбиение дискового пространства на логические блоки.

  2. Именование — присвоение файлам имён для удобства пользователя.

  3. Каталогизация — группировка файлов в папки (директории).

  4. Управление доступом — разграничение прав на чтение, запись, исполнение.

  5. Обеспечение надёжности — восстановление после сбоев, журналирование.

  6. Эффективность — минимизация фрагментации, быстрый поиск.

3. Основные понятия файловых систем

Файл

Файл — это именованная область данных на носителе. Файл имеет:

  • имя (и расширение);

  • атрибуты (размер, время создания, права доступа);

  • содержимое (собственно данные).

Каталог (директория, папка)

Каталог — это специальный файл, содержащий список других файлов и каталогов. Создаёт иерархическую структуру (дерево).

Кластер (блок)

Минимальная адресуемая единица дискового пространства. Обычно 512 байт, 1 КБ, 4 КБ. Файл занимает целое число кластеров.

Метаданные

Данные о данных: информация о файлах (имя, размер, расположение на диске, время, права). Хранятся отдельно от содержимого файлов.

Суперблок

Специальная область в начале раздела, содержащая информацию о файловой системе (тип, размер, состояние).

Таблица размещения файлов

Структура, которая отслеживает, какие кластеры принадлежат каким файлам и какие кластеры свободны.

4. Классификация файловых систем

По носителю

  • Дисковые — для HDD, SSD, флешек (NTFS, ext4, APFS).

  • Сетевые — для доступа по сети (NFS, SMB/CIFS).

  • Виртуальные — не хранят данные на диске, а предоставляют информацию о системе (procfs, sysfs в Linux).

  • Специализированные — для оптических дисков (ISO 9660), для лент (LTFS).

По журналированию

  • Журналируемые — ведут журнал изменений, что позволяет быстро восстановить ФС после сбоя.

  • Нежурналируемые — нет журнала, восстановление после сбоя сложнее и дольше.

По структуре

  • Плоские — нет каталогов (редко, например, в некоторых встраиваемых системах).

  • Иерархические — с каталогами (почти все современные).

  • Объектные — хранят объекты с метаданными, без иерархии (Amazon S3, Ceph).

5. Обзор основных файловых систем

5.1. FAT (File Allocation Table)

История: Разработана Microsoft в конце 1970-х. Простейшая ФС.

Версии:

  • FAT12 — для дискет.

  • FAT16 — для первых жёстких дисков.

  • FAT32 — до сих пор используется на флешках.

Особенности:

  • Простая структура: таблица размещения файлов (FAT) хранит цепочки кластеров.

  • Нет журналирования.

  • Ограничения:

    • Максимальный размер файла: 4 ГБ (для FAT32).

    • Максимальный размер раздела: 2 ТБ (для FAT32).

    • Максимальная длина имени файла: 8.3 (в старых версиях), VFAT добавил длинные имена.

Где используется: Флешки, SD-карты (для совместимости со всеми устройствами).

Плюсы: Поддерживается всеми ОС, простая. Минусы: Нет прав доступа, ненадёжна, ограничения по размеру.

5.2. NTFS (New Technology File System)

Разработчик: Microsoft (1993, с Windows NT 3.1).

Особенности:

  • Журналируемая (журнал $LogFile).

  • Поддержка прав доступа (ACL) — списки контроля доступа.

  • Шифрование (EFS) и сжатие на лету.

  • Дисковые квоты.

  • Жёсткие и символьные ссылки.

  • Максимальный размер файла: 16 ЭБ (теоретически).

  • Максимальный размер раздела: 256 ТБ (на практике).

Структура:

  • MFT (Master File Table) — главная файловая таблица, содержащая записи обо всех файлах.

  • Всё (включая каталоги) — файлы в MFT.

Где используется: Основная ФС для Windows (системный диск, внутренние диски).

Плюсы: Надёжность, производительность, поддержка больших томов, безопасность. Минусы: Слабая поддержка в других ОС (Linux через NTFS-3G, macOS только чтение).

5.3. exFAT (Extended File Allocation Table)

Разработчик: Microsoft (2006). Создана как замена FAT32 для флешек и SD-карт большого объёма.

Особенности:

  • Нет журналирования (как FAT).

  • Сняты ограничения FAT32:

    • Максимальный размер файла: 16 ЭБ.

    • Максимальный размер раздела: 128 ПБ (теоретически).

  • Поддержка прав доступа (ограниченная).

  • Оптимизирована для флеш-памяти.

Где используется: Флешки, SDXC-карты (обязательно для карт >32 ГБ), внешние диски для переноса между Windows и macOS.

Плюсы: Лёгкая, нет ограничений FAT32, широкая поддержка (Windows, macOS, Linux с пакетами). Минусы: Нет журналирования (менее надёжна, чем NTFS), проприетарная.

5.4. ext4 (Fourth Extended File System)

Разработчик: Сообщество Linux (2008). Стандартная ФС для большинства дистрибутивов Linux.

Особенности:

  • Журналируемая (журнал).

  • Поддержка экстентов (непрерывных блоков) — уменьшает фрагментацию.

  • Отложенное выделение (delayed allocation) — повышает производительность.

  • Поддержка томов до 1 ЭБ, файлов до 16 ТБ.

  • Обратная совместимость с ext2/ext3.

Где используется: Основная ФС для Linux (корневой раздел, /home).

Плюсы: Стабильность, производительность, зрелость, поддержка в Linux. Минусы: Слабая поддержка в Windows (нужны сторонние драйверы), нет встроенного сжатия.

5.5. XFS

Разработчик: SGI (для IRIX), позже портирована в Linux.

Особенности:

  • Журналируемая (только метаданных или данных).

  • Высокая производительность на больших файлах.

  • Поддержка томов до 8 ЭБ.

  • Расширенные возможности (квоты, ACL).

  • Онлайн-дефрагментация и расширение.

Где используется: Крупные серверы, системы хранения данных (NAS), высоконагруженные системы.

Плюсы: Отличная производительность на больших файлах, масштабируемость. Минусы: Уменьшение размера раздела только офлайн.

5.6. Btrfs (B-tree File System)

Разработчик: Oracle, сообщество Linux (2009).

Особенности:

  • Копирование при записи (Copy-on-Write, CoW) — при изменении данных создаётся новая копия.

  • Встроенные снапшоты (снимки состояния).

  • Поддержка RAID (0, 1, 5, 6, 10) на уровне ФС.

  • Сжатие данных на лету.

  • Проверка целостности данных (контрольные суммы).

  • Онлайн-дефрагментация, увеличение/уменьшение размера.

Где используется: Современные дистрибутивы Linux (openSUSE по умолчанию, Fedora опционально).

Плюсы: Множество современных функций, гибкость. Минусы: Менее стабильна, чем ext4 (хотя ситуация улучшается), сложнее в управлении.

5.7. APFS (Apple File System)

Разработчик: Apple (2017, заменила HFS+).

Особенности:

  • Копирование при записи (CoW).

  • Шифрование (на уровне файлов, несколько ключей).

  • Снапшоты.

  • Оптимизация для SSD (TRIM, быстрая работа с мелкими файлами).

  • Клонирование файлов и каталогов.

  • Поддержка сжатия.

Где используется: Все устройства Apple: macOS (начиная с High Sierra), iOS, tvOS, watchOS.

Плюсы: Оптимизирована для флеш-памяти, высокая производительность, безопасность. Минусы: Только для устройств Apple.