Как устроены файлы

Как устроены файлы

Главный способ хранения всех данных

Когда мы говорим о компьютерах, то знаем, что на нём хранятся файлы, а в этих файлах — какие-то данные: музыка, видео, тексты и т. д. Но для компьютера всё немного иначе и сложнее. Сейчас объясним. 

Эта статья — часть цикла об устройстве компьютера для новичков. Покажите её своим родителям или друзьям-гуманитариям, если им нужно объяснить, что такое файл. Если вы хотите чего-то посложнее, почитайте нашу серию статей про векторы и матрицы.

Что такое файл

С точки зрения компьютера файл — это последовательность байтов на жёстком диске. Если представить жёсткий диск на 100 гигабайт как последовательность из 100 миллиардов байт, то файл будет занимать сколько-то из этих байтов на диске. Вот картинка для понимания:

Как устроены файлы

Эта последовательность байтов необязательно идёт друг за другом — файл может состоять из нескольких фрагментов, которые находятся в разных частях диска:

Как устроены файлы

Все остальные файлы хранятся точно так же — одним или несколькими фрагментами на диске. Чтобы компьютер знал, какой файл состоит из каких фрагментов, он часть памяти отводит на таблицу файлов. В ней он хранит данные обо всех файлах на диске:

Как устроены файлы

Имя и расширение

Название файла чаще всего состоит из имени и расширения, которые отделяются друг от друга точкой:

Как устроены файлы

Но на самом деле название файла может быть и без расширения, и без точки или вообще начинаться с точки, как .htaccess

Компьютеру на самом деле без разницы, есть ли у файла расширение или нет. Единственное, зачем оно нужно, — чтобы и компьютер, и человек понимали, какие данные в нём могут храниться и в какой программе нужно открыть этот файл. Для этого компьютер создаёт таблицу расширений и приложений — в ней написано, файлы с каким расширением открывать в каких программах.

Как устроены файлы

👉 В разных операционных системах свои требования к названию файла: в Windows нельзя создать файл .con, а в MacOS это можно сделать без проблем. 

Файлы и папки

Чтобы не сваливать все файлы в одну кучу (а на самых первых компьютерах было именно так), придумали папки — это такие виртуальные коробки, внутри которых могут храниться файлы и другие папки.

Как устроены файлы

Если удалить папку, то удалятся все файлы и папки, которые лежали внутри неё. А если папку переместить на новое место — то всё её содержимое тоже переедет вместе с ней.

Ещё есть такое понятие, как «путь к файлу». Это означает последовательность всех папок, которые нужно пройти, чтобы добраться до нужного файла. Если у нас файл «Отчёт 2022.doc» лежит в папке «Отчёты», а «Отчёты» лежат в папке «Работа» на диске D, то полный путь к файлу будет выглядеть так:

D:\Работа\Отчёты\Отчёт 2022.doc

👉 Папка — это способ организации файлов, придуманный специально для человека. Компьютер и без папок может запомнить, где какой служебный файл у него лежит.

Папка — это тоже файл

Мало кто знает, но папка — это тоже на самом деле файл, просто специальный, со своими задачами. Внутри этого файла записана информация о том, какие файлы относятся к этой папке. А раз папка — это тоже файл, то когда мы вкладываем папку друг в друга, компьютер всего лишь добавляет запись про один файл в другой.

Что может храниться в файле

Файл — это просто последовательность байтов на диске, а значит, туда можно записать что угодно:

  • фильмы,
  • музыку,
  • отчёты,
  • таблицы,
  • фотографии,
  • игры,
  • драйверы,
  • библиотеки для языка разработки.

Главное в файлах не то, что лежит внутри, а как компьютер может с этим работать и какие программы запустить, чтобы файл открылся. Если скинуть на компьютер с Windows фотографии, сделанные на последний айфон в специальном формате, то без дополнительных программ их посмотреть не получится.

Поэтому самое ценное в файлах — чтобы их можно было открыть и посмотреть. Без этого файл так и останется последовательностью нулей и единиц на диске.

Файл и документ — это одно и то же?

Файлами называют вообще любые последовательности байтов на диске, у которых есть имя и адрес. Если файл зашифрован, не открывается, внутри него сбои или пустота — это всё равно файл. 

Документом называют файл, в котором лежит что-то полезное для пользователя, что он может открыть и с чем может осмысленно взаимодействовать. Например, ваша курсовая работа в формате Word — для вас это документ, а для компьютера — файл. 

Для сравнения, системная библиотека программы Microsoft Word — это не документ, а просто файл. Вы не можете его открыть, но его использует программа Word для работы. 

А как хранятся файлы на телефоне и планшете?

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

Текст:

Михаил Полянин

Редактор:

Максим Ильяхов

Художник:

Даня Берковский

Корректор:

Ирина Михеева

Вёрстка:

Кирилл Климентьев

Соцсети:

Алина Грызлова

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме
Токсичные коллеги в ИТ: разговор с психологом
Токсичные коллеги в ИТ: разговор с психологом

Почему в айтишных коллективах бывает душно и тяжело

easy
Что такое обратная совместимость
Что такое обратная совместимость

Это когда старая игра запускается на новой приставке

easy
Что такое исключения в программировании
Что такое исключения в программировании

Рассказ об ошибках, которые можно предусмотреть заранее.

easy
Что такое функциональное программирование
Что такое функциональное программирование

Это не про функции!

easy
Как работает икрокрасный порт
Как работает икрокрасный порт

То есть инфракрасный, мы хотели сказать. Инфракрасный

easy
Кодирование и шифрование — в чём разница?
Кодирование и шифрование — в чём разница?

Одно делается для удобства, а другое — для защиты.

easy
Что такое спринты в программировании

Это время, за которое команда успевает решить какую-то часть задач.

easy
Что такое mobile first
Что такое mobile first

Это когда сначала всё делают для смартфона, а потом для всего остального.

easy
В чём разница между ждущим и спящим режимом
В чём разница между ждущим и спящим режимом

Вся разница — в режиме энергосбережения

easy
Что такое технический долг
Что такое технический долг

Фраза из лексикона сильных профессионалов

easy
easy