Компьютерный файл

Материал из Циклопедии
Перейти к навигации Перейти к поиску
← другие значения

Компьютерный файл — компьютерный ресурс для записи данных на запоминающее устройство компьютера, в первую очередь идентифицируемый по имени файла.

Общая информация[править]

Как слова можно записать на бумагу, так и данные можно записать в компьютерный файл. Файлами можно обмениваться и передавать их между компьютерами и мобильными устройствами через съемные носители, сети или Интернет.

Различные типы компьютерных файлов предназначены для разных целей. Файл может быть предназначен для хранения изображения, письменного сообщения, видео, компьютерной программы или любых других данных. Некоторые файлы могут хранить несколько типов данных одновременно.

Используя компьютерные программы, человек может открывать, читать, изменять, сохранять и закрывать компьютерный файл. Компьютерные файлы могут быть повторно открыты, изменены и скопированы произвольное количество раз.

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

Содержимое файла[править]

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

На некоторых платформах формат указывается расширением имени файла, определяющим правила того, как байты должны быть организованы и осмысленно интерпретированы. Например, байты обычного текстового файла (.txt в Windows) связаны либо с символами ASCII, либо с символами UTF-8, а байты файлов изображений, видео и аудио интерпретируются иначе. Большинство типов файлов также выделяют несколько байтов для метаданных, что позволяет файлу нести некоторую базовую информацию о себе.

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

Размер файла[править]

В любой момент времени файл имеет определенный размер, обычно выражаемый числом байтов, который указывает, сколько памяти занимает файл. В большинстве современных операционных систем размер может быть любым неотрицательным целым числом байтов до системного предела. Многие старые операционные системы отслеживали только количество блоков или дорожек, занимаемых файлом на физическом устройстве хранения. В таких системах программное обеспечение использовало другие методы для отслеживания точного количества байтов (например, CP/M использовала специальный управляющий символ Ctrl-Z для обозначения конца текстовых файлов).

Однако общее определение файла не требует, чтобы его размер имел какое-либо реальное значение, если только данные в файле не соответствуют данным в пуле постоянного хранилища. Особым случаем является файл с нулевым байтом; эти файлы могут быть вновь созданными файлами, в которые еще не были записаны данные, или могут служить своего рода флагом в файловой системе, или являются авариями (результатами прерванных операций с диском). Например, файл, на который указывает ссылка /bin/ls в типичной Unix-подобной системе, вероятно, имеет определенный размер, который редко меняется. Сравните это с /dev/null, который также является файлом, но в качестве символьного специального файла его размер не имеет значения.

Операции[править]

Самые основные операции, которые программы могут выполнять над файлом:

  • Создать новый файл
  • Изменить права доступа и атрибуты файла
  • Открытие файла, что делает содержимое файла доступным для программы.
  • Чтение данных из файла
  • Записать данные в файл
  • Удалить файл
  • Закрыть файл, разорвав связь между ним и программой
  • Усекать файл, сокращая его до указанного размера в файловой системе без перезаписи какого-либо содержимого.

Файлы на компьютере можно создавать, перемещать, изменять, увеличивать, уменьшать (усекать) и удалять. В большинстве случаев компьютерные программы, которые выполняются на компьютере, выполняют эти операции, но пользователь компьютера также может при необходимости манипулировать файлами. Например, файлы Microsoft Word обычно создаются и изменяются программой Microsoft Word в ответ на команды пользователя, но пользователь также может перемещать, переименовывать или удалять эти файлы напрямую с помощью программы управления файлами, такой как проводник Windows (на компьютерах с Windows ) или с помощью командной строки (CLI).

Выявление и организация[править]

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

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

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

Любая строка символов может быть правильным именем для файла или ссылки в зависимости от контекста приложения. Правильно ли сформировано имя, зависит от типа используемой компьютерной системы. Ранние компьютеры допускали использование только нескольких букв или цифр в имени файла, но современные компьютеры позволяют использовать длинные имена (некоторые до 255 символов), содержащие почти любую комбинацию букв или цифр Юникода, что упрощает понимание цели файла. с одного взгляда. Некоторые компьютерные системы позволяют именам файлов содержать пробелы; другие нет. Чувствительность к регистру имен файлов определяется файловой системой. Файловые системы Unix обычно чувствительны к регистру и позволяют приложениям пользовательского уровня создавать файлы, имена которых различаются только регистром символов. Microsoft Windows поддерживает несколько файловых систем, каждая из которых имеет свою политику в отношении учета регистра. Общая файловая система FAT может иметь несколько файлов, имена которых различаются только в том случае, если пользователь использует дисковый редактор для редактирования имен файлов в записях каталога. Пользовательские приложения, однако, обычно не позволяют пользователю создавать несколько файлов с одинаковым именем, но различающихся по регистру.

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

Когда компьютер разрешает использование папок, каждый файл и папка имеют не только собственное имя, но и путь, который идентифицирует папку или папки, в которых находится файл или папка. В пути для разделения имен файлов и папок используется специальный символ, например косая черта. Например, на иллюстрации, показанной в этой статье, путь /Payroll/Salaries/Managers однозначно идентифицирует файл с именем Managers в папке Salaries, которая, в свою очередь, содержится в папке Payroll. В этом примере имена папок и файлов разделены косой чертой; самая верхняя или корневая папка не имеет имени, поэтому путь начинается с косой черты (если бы у корневой папки было имя, оно предшествовало бы этой первой косой черте).

Многие компьютерные системы используют расширения в именах файлов, чтобы помочь определить, что они содержат, также известное как тип файла. На компьютерах с Windows расширения состоят из точки (точки) в конце имени файла, за которой следуют несколько букв для обозначения типа файла. Расширение .txt идентифицирует текстовый файл; расширение .doc идентифицирует любой тип документа или документации, обычно в формате файла Microsoft Word; и так далее. Даже когда расширения используются в компьютерной системе, степень, в которой компьютерная система распознает и учитывает их, может варьироваться; в одних системах они обязательны, а в других полностью игнорируются, если они представлены.

Защита[править]

Многие современные компьютерные системы предоставляют методы защиты файлов от случайного и преднамеренного повреждения. Компьютеры, которые допускают несколько пользователей, реализуют права доступа к файлам, чтобы контролировать, кто может или не может изменять, удалять или создавать файлы и папки. Например, данному пользователю может быть предоставлено разрешение только на чтение файла или папки, но не на их изменение или удаление; или пользователю может быть предоставлено разрешение на чтение и изменение файлов или папок, но не на их выполнение. Разрешения также могут использоваться, чтобы разрешить только определенным пользователям просматривать содержимое файла или папки. Разрешения защищают от несанкционированного изменения или уничтожения информации в файлах и сохраняют конфиденциальность частной информации от неавторизованных пользователей.

Еще одним механизмом защиты, реализованным на многих компьютерах, является флаг только для чтения. Когда этот флаг установлен для файла (что может быть выполнено компьютерной программой или пользователем-человеком), файл может быть просмотрен, но не может быть изменен. Этот флаг полезен для критически важной информации, которую нельзя изменять или стирать, например для специальных файлов, которые используются только внутренними частями компьютерной системы. Некоторые системы также включают скрытый флаг, чтобы сделать определенные файлы невидимыми; этот флаг используется компьютерной системой, чтобы скрыть важные системные файлы, которые пользователи не должны изменять.

Хранилище[править]

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

С физической точки зрения, большинство компьютерных файлов хранятся на каком-либо устройстве хранения данных. Например, большинство операционных систем хранят файлы на жестком диске. Жесткие диски были повсеместной формой энергонезависимого хранилища с начала 1960-х годов[1]. Если файлы содержат только временную информацию, они могут храниться в оперативной памяти. В некоторых случаях компьютерные файлы также могут храниться на других носителях, таких как магнитные ленты, компакт-диски, цифровые универсальные диски, Zip-накопители, USB-накопители и т. д. Использование твердотельных накопителей также начинает конкурировать с жестким диском.

В Unix-подобных операционных системах многие файлы не имеют физического устройства хранения. Примерами являются /dev/null и большинство файлов в каталогах /dev, /proc и /sys. Это виртуальные файлы: они существуют как объекты в ядре операционной системы.

Файловые системы и файловые менеджеры[править]

То, как компьютер организует, именует, хранит и манипулирует файлами, во всем мире называется его файловой системой. Большинство компьютеров имеют как минимум одну файловую систему. Некоторые компьютеры позволяют использовать несколько различных файловых систем. Например, на более новых компьютерах с MS Windows поддерживаются более старые файловые системы типа FAT MS-DOS и старые версии Windows в дополнение к файловой системе NTFS, которая является обычной файловой системой для последних версий Windows. Каждая система имеет свои преимущества и недостатки. Стандартная FAT допускает, например, только восьмисимвольные имена файлов (плюс трехсимвольное расширение) без пробелов, тогда как NTFS допускает более длинные имена, которые могут содержать пробелы. Вы можете назвать файл «Записи о заработной плате» в NTFS, но в FAT вы будете ограничены чем-то вроде payroll.dat (если вы не используете VFAT, расширение FAT, допускающее длинные имена файлов).

Программы файлового менеджера — это служебные программы, которые позволяют пользователям напрямую манипулировать файлами. Они позволяют перемещать, создавать, удалять и переименовывать файлы и папки, хотя фактически не позволяют читать содержимое файла или сохранять в нем информацию. Каждая компьютерная система предоставляет по крайней мере одну программу управления файлами для своей собственной файловой системы. Например, File Explorer (ранее Windows Explorer) обычно используется в операционных системах Microsoft Windows, а Nautilus — в нескольких дистрибутивах Linux.

Источники[править]

  1. Magnetic Storage Handbook 2nd Ed., Section 2.1.1, Disk File Technology, Mee and Daniel, (c)1990,