Открыть сервисСервис

Файл: понятие, структура и виды

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

Происхождение термина

Слово «файл» происходит от англ. file — «папка, картотека». В бумажном документообороте файлом называли папку с листами бумаги, подшитыми на общий стержень. Перенос термина на электронное хранение данных произошёл в 1950-е годы, когда файлами стали называть наборы записей на перфокартах и магнитных лентах. В русском языке слово «файл» вошло в употребление в 1970-е — 1980-е годы вместе с распространением ЭВМ, а уменьшительная форма «файлик» появилась позже как разговорная.

Устройство файла

Файл состоит из двух логических частей: метаданных и содержимого (данных).

Метаданные хранятся в файловой системе и включают:

  • имя файла и расширение;
  • размер в байтах;
  • дату создания, последнего изменения и доступа;
  • права доступа (кто может читать, изменять, исполнять);
  • тип файла.

Содержимое — это непосредственно байты: текст, изображение, звук, программа или произвольные данные. Операционная система не «понимает» содержимое файла — она лишь управляет его хранением и доступом. Интерпретацией данных занимается прикладное программное обеспечение.

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

Имя файла задаёт пользователь или программа. В разных файловых системах действуют разные ограничения: например, в NTFS допускается до 255 символов, в ext4 — до 255 байт. Старые системы (FAT16) ограничивали имя 8 символами, а расширение — 3 (формат 8.3).

Расширение — часть имени после точки (.docx, .jpg, .mp3), указывающая на формат данных. Оно не является обязательным, но помогает операционной системе определить программу для открытия файла. В Windows расширение скрыто по умолчанию, в Linux и macOS — видно.

Файловые системы

Файл существует в рамках файловой системы — слоя, организующего хранение файлов на носителе. Основные файловые системы:

Файловая системаОСОсобенности
NTFSWindowsЖурналирование, права доступа, сжатие
ext4LinuxСтандарт для дистрибутивов Linux
APFSmacOSОптимизирована для SSD
FAT32кроссплатформеннаяПростая, но ограничена размером файла 4 ГБ
exFATкроссплатформеннаяДля съёмных накопителей

Виды файлов

По назначению файлы делятся на:

  • Документы — текстовые, таблицы, презентации (.docx, .xlsx, .pdf);
  • Изображения — растр (.jpg, .png) и вектор (.svg);
  • Звук и видео — .mp3, .wav, .mp4, .mkv;
  • Исполняемые файлы — программы (.exe в Windows, без расширения в Linux);
  • Библиотеки — .dll, .so, .dylib;
  • Архивы — .zip, .rar, .7z;
  • Конфигурационные файлы — .ini, .json, .yaml;
  • Системные файлы — данные операционной системы.

Файловые архивы

Архив — файл, содержащий один или несколько других файлов, обычно сжатых. Архивирование снижает объём занимаемого места и упрощает перенос группы файлов. Популярные форматы: ZIP (универсальный), RAR (проприетарный, разработан российским программистом Евгением Рошалем), 7z (открытый, с высокой степенью сжатия).

Идентификация файла

Помимо расширения, файлы определяются по магической последовательности — сигнатуре в первых байтах. Например, у JPEG это FF D8 FF, у PNG — 89 50 4E 47. Сигнатура позволяет определить формат даже при переименованном расширении.

Контрольная сумма (MD5, SHA-256) вычисляется по содержимому файла и используется для проверки целостности — например, при скачивании программ с сайтов.

Файл в программировании

В программном обеспечении работа с файлами ведётся через системные вызовы: open, read, write, close в POSIX-системах или соответствующие функции WinAPI в Windows. В языках программирования для этого есть стандартные библиотеки: File в Java, System.IO в C#, os и pathlib в Python.

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

Файлы и облачные хранилища

С развитием интернета файлы всё чаще хранятся не локально, а на удалённых серверах — в облачных хранилищах (Яндекс Диск, Google Drive, Dropbox). Пользователь получает доступ к файлам через браузер или специальное приложение, синхронизирующее локальную папку с облаком.

Интересные факты

  • Самый распространённый формат изображения в мире — JPEG, созданный в 1992 году Объединённой группой экспертов по фотографии (JPEG).
  • Формат PDF был разработан компанией Adobe в 1993 году и в 2008 году признан международным стандартом ISO 32000-1.
  • Ограничение FAT32 на размер файла в 4 ГБ стало причиной перехода консолей PlayStation 3 и Xbox 360 на другие файловые системы.

Источники:

  • Таненбаум Э. Современные операционные системы
  • Рэйфилд Д. Файловые системы Linux
  • ГОСТ Р ИСО/МЭК 14776 — стандарты на файловые системы
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru