Файловая система: понятие, функции, виды
На диске нет папочек с подписью «Курсовая.docx», как на рабочем столе. Есть блоки, адреса, таблицы размещения. Папки и имена - удобная сказка, которую рассказывает файловая система. Без неё ОС не знала бы, где начинается файл и где он заканчивается.
Файловая система (ФС) - способ организации, хранения и именования данных на носителе (HDD, SSD, флешка, иногда даже в оперативной памяти), плюс набор правил доступа к этим данным.
ФС - часть операционной системы или тесно с ней связанный слой. Пользователь видит проводник. Программа видит путь к файлу. Контроллер диска видит сектора. Файловая система стоит посередине и переводит одно в другое.
Файл, каталог, путь
Файл - именованная область данных на носителе: текст, картинка, программа, архив.
Каталог (папка) - контейнер, в котором хранятся ссылки на файлы и другие каталоги.
Путь - адрес файла в дереве каталогов.
Пути бывают абсолютные и относительные. Абсолютный в Windows часто начинается с буквы диска: C:\Users\Anna\Diplom\intro.docx. В Linux - с корня /: /home/anna/diplom/intro.docx. Относительный считается от текущей папки: ..\images\scheme.png.
Расширение (.docx, .pdf, .exe) подсказывает тип, но это не железная гарантия. Файл можно переименовать; содержимое от этого не станет другим форматом. ОС и программы смотрят и на расширение, и на сигнатуру внутри.
Что именно хранит файловая система
Кроме «полезных байтов» файла ФС держит метаданные:
- имя;
- размер;
- даты создания/изменения/доступа (набор зависит от ФС);
- права доступа и владелец;
- где на диске лежат блоки данных (карта размещения).
Удалили файл в корзину - часто данные ещё на месте, пропала лишь запись в каталоге (упрощённо). Поэтому «восстановление» иногда срабатывает, а надёжное стирание делают отдельными средствами.
Атрибуты и права
В Windows привычны атрибуты вроде «только чтение», «скрытый», «системный». В Unix/Linux сильнее акцент на правах: чтение, запись, выполнение для владельца, группы и остальных.
Права решают бытовые драмы: почему «не сохраняется файл» на чужой флешке с чужой ФС, или почему скрипт «не запускается», хотя открывается в блокноте. Во втором случае часто не хватает права на выполнение.
Популярные файловые системы
- NTFS - основная для современных Windows: права, журналирование, большие тома.
- FAT32 / exFAT - частый выбор для флешек и обмена между разными ОС. FAT32 проще и совместимее, но с лимитом размера файла (4 ГБ). exFAT этот лимит снимает.
- ext4 - типичный вариант для многих дистрибутивов Linux.
- APFS - семейство Apple для актуальных macOS/iOS-устройств.
Отформатировали флешку в NTFS - macOS может читать с оговорками или через доп. средства, запись не всегда удобна «из коробки». Для универсальной флешки между Windows и macOS чаще берут exFAT. Это не «лучше/хуже вообще», а про совместимость сценария.
Журналирование и фрагментация
Журналируемые ФС (NTFS, ext4 и др.) записывают намерение операции в журнал. После внезапного отключения питания проще привести структуру каталогов в согласованный вид. Это не панацея от потери файла, который не успели дописать, но спасает от «поломанного тома».
Фрагментация - когда файл размазан кусками по диску. На HDD это замедляет чтение: головке дальше бегать. На SSD картина другая: нет механики, зато есть своя логика выравнивания износа. Дефрагментация «как в нулевых» для SSD обычно не нужна и даже вредна бездумным запуском.
Операции пользователя и что происходит «под капотом»
- Копирование - читаем блоки источника, пишем новые, создаём запись в каталоге.
- Перемещение внутри одного тома - часто достаточно обновить запись каталога, без полного копирования данных.
- Перемещение на другой диск - по сути копирование + удаление исходника.
- Форматирование - создание (или пересоздание) структур ФС на разделе. Быстрое форматирование чаще затирает служебные таблицы, не каждый байт полезных данных.
Отсюда правило лабораторной: форматирование «не для очистки улик» и не замена шифрованию/безопасного стирания.
Связь с ОС и устройствами хранения
Одна ОС может понимать несколько ФС. Один физический диск делят на разделы, на каждом - своя ФС. Загрузчик ищет том, с которого поднимать систему.
Носители сами по себе (HDD, SSD, USB flash) - про железо и интерфейсы. Как на них разложить файлы - уже зона ФС. Про устройства хранения в справочнике есть отдельный материал: устройства хранения информации. Про роль ОС - в статье про операционные системы.
Имена, кодировки, регистр
В Windows имена файлов обычно нечувствительны к регистру: Report.docx и report.docx в одной папке конфликтуют. В классическом Linux - чувствительны: это два разных файла. Отсюда сюрпризы при переносе проектов с сайта на хостинг.
Длины имён, запрещённые символы (\ / : * ? " < > | в Windows) и кодировка имён (Unicode) тоже задаются правилами ФС и ОС. «Файл не копируется» иногда значит: имя на источнике допустимо, на приёмнике нет.
Частые ошибки в ответах
- Путают файл и папку, путь и ярлык.
- Считают, что расширение жёстко определяет формат.
- Пишут «FAT лучше NTFS», без контекста совместимости.
- Смешивают удаление записи каталога и физическое затирание данных.
- Называют проводник файловой системой.
Проводник - программа-оболочка. ФС - правила и структуры на томе. Красивые иконки к определению не прилагаются.
Краткая шпаргалка
- ФС организует данные на носителе: имена, каталоги, размещение блоков, права.
- Файл + метаданные; каталог строит дерево; путь указывает место в дереве.
- NTFS, ext4, APFS, FAT32/exFAT - разные компромиссы.
- Журналирование помогает после сбоев; фрагментация критичнее для HDD.
- Форматирование создаёт структуры ФС; быстрый формат не равен гарантированному уничтожению содержимого.
Практический минимум: уметь объяснить, чем файл отличается от каталога, зачем нужна ФС, и привести два-три примера с областью применения (Windows-диск, флешка, Linux-раздел).