Найти в Дзене
IT Еxtra

Как работает компьютер? Часть 76. Файловые системы: как данные организованы на диске?

Предыдущий урок: Как работает компьютер? Часть 75. Управление устройствами ввода-вывода Мы уже знаем, как операционная система управляет памятью и процессами, но все эти вычисления были бы бессмысленны, если бы их результаты нельзя было сохранить надолго. Для этого служат диски — SSD и HDD. Однако, если бы мы просто сбрасывали данные на диск как попало, это быстро превратилось бы в хаос. Представьте огромную библиотеку, где книги сваливают в одну большую кучу без названий, оглавлений и полок. Найти нужную информацию было бы невозможно. Именно чтобы избежать такого хаоса, существуют файловые системы. Файловая система — это набор правил и структур данных, которые превращают пространство диска, представляющее собой просто последовательность нулей и единиц, в упорядоченное хранилище с файлами и папками, к которым мы привыкли. Вся магия начинается с разметки диска. Когда вы подключаете новый диск, он подобен чистому листу бумаги. Прежде чем использовать его, операционная система должна про

Предыдущий урок: Как работает компьютер? Часть 75. Управление устройствами ввода-вывода

Мы уже знаем, как операционная система управляет памятью и процессами, но все эти вычисления были бы бессмысленны, если бы их результаты нельзя было сохранить надолго. Для этого служат диски — SSD и HDD. Однако, если бы мы просто сбрасывали данные на диск как попало, это быстро превратилось бы в хаос. Представьте огромную библиотеку, где книги сваливают в одну большую кучу без названий, оглавлений и полок. Найти нужную информацию было бы невозможно. Именно чтобы избежать такого хаоса, существуют файловые системы. Файловая система — это набор правил и структур данных, которые превращают пространство диска, представляющее собой просто последовательность нулей и единиц, в упорядоченное хранилище с файлами и папками, к которым мы привыкли.

Вся магия начинается с разметки диска. Когда вы подключаете новый диск, он подобен чистому листу бумаги. Прежде чем использовать его, операционная система должна провести на нём «разметку» — создать таблицу разделов. Эта таблица, расположенная в самом начале диска, сообщает системе, на сколько логических частей («разделов») разделён диск. Каждый раздел затем можно отформатировать под определённую файловую систему. Форматирование — это процесс создания на разделе всех необходимых структур выбранной файловой системы.

IT Extra

Само сердце файловой системы — это её метаданные, то есть «данные о данных». Представьте себе библиотечный каталог. В нём нет самих книг, но есть карточки, которые точно указывают, где какую книгу искать. Так же работает и файловая система. Основная структура метаданных в UNIX-подобных системах (Linux, macOS) называется inode (index node). Inode — это не имя файла, а его уникальный паспорт. В нём хранится вся информация о файле: его размер, права доступа, время создания и, самое главное, указатели на те самые блоки на диске, где физически записано содержимое этого файла. Имена файлов и их связь с inode хранятся в других структурах — каталогах, которые, по сути, сами являются файлами со списком имён и соответствующих им номеров inode.

-2

Когда вы пытаетесь открыть файл /home/user/report.txt, система выполняет примерно следующие шаги:

  1. Находит корневой каталог / и ищет в нём запись с именем home. Она содержит номер inode для каталога home.
  2. Обращается к этому inode, читает данные каталога home и находит в нём запись user, получая номер inode для каталога user.
  3. Читает каталог user, находит запись report.txt и, наконец, получает номер inode самого файла.
  4. По номеру inode находит его структуру, из которой узнаёт адреса блоков диска, где хранится содержимое файла report.txt.
  5. Считывает эти блоки в оперативную память.

Современные файловые системы также решают проблему целостности данных. Представьте, что вы записываете файл на диск, и в этот момент отключается электричество. Данные могут быть повреждены. Для борьбы с этим используется механизм журналирования. Перед тем как внести изменения в саму файловую систему (например, обновить inode или записать новые блоки), ОС сначала записывает план предстоящих действий в специальную область — журнал (или лог). Это как сделать пометку в черновике «сейчас я соберу книжную полку». Только после того, как план безопасно записан, система приступает к его выполнению. Если в процессе сбоя питание пропадёт, то при следующей загрузке система проверит журнал, увидит незавершённую операцию и сможет её откатить или завершить, предотвращая повреждение структур файловой системы.

Таким образом, файловая система — это не просто способ хранения файлов. Это сложная база данных, которая обеспечивает целостность, быстрый доступ и эффективное управление дисковым пространством. Она незаметно для нас превращает безликую последовательность битов на диске в удобную иерархическую структуру папок и файлов, делая взаимодействие с данными простым и надёжным.

Спасибо за внимание!

Следующий урок:
Как работает компьютер? Часть 77. Интерфейсы: общение с ОС

Если вам интересно копать глубже, разбирать реальные кейсы и получать знания, которых нет в открытом доступе — вам в IT Extra Premium.

Что внутри?
Закрытые публикации: Детальные руководства, разборы сложных тем (например, архитектура высоконагруженных систем, глубокий анализ уязвимостей, оптимизация кода, полезные инструменты и объяснения сложных тем простым и понятным языком).
Конкретные инструкции: Пошаговые мануалы, которые вы сможете применить на практике уже сегодня.
Без рекламы и воды: Только суть, только концентрат полезной информации.
Ранний доступ: Читайте новые материалы первыми.

Это — ваш личный доступ к экспертизе, упакованной в понятный формат. Не просто теория, а инструменты для роста.

👉 Переходите на Premium и начните читать то, о чем другие только догадываются.

👍 Ставьте лайки если хотите разбор других интересных тем.

👉 Подписывайся на IT Extra на Дзен чтобы не пропустить следующие статьи

👇
Понравилась статья? В нашем Telegram-канале ITextra мы каждый день делимся такими же понятными объяснениями, а также свежими новостями и полезными инструментами. Подписывайтесь, чтобы прокачивать свои IT-знания всего за 2 минуты в день!

IT Extra