Файл

Файл ( англ. file - ящик, папка) - это концепция в вычислительной технике: сущность, что позволяет получить доступ к определенному ресурса вычислительной системы и имеет следующие признаки :

  • фиксированное имя ( название файла) (последовательность символов, число или что-то другое, что однозначно характеризует файл);
  • определенное логическое представление и соответствующие ему операции чтения / записи.

На практике это именованный блок информации, который хранится на носители информации.

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

В информатике используется следующее определение: файл - это упорядоченная совокупность данных, хранящейся на диске и занимает именуемую область внешней памяти. Согласно терминологии, принятой в программировании, файл - это произвольный блок информации, устройство ввода-вывода. Каждая компьютерная программа открывает крайней мере три файла стандартных потоков : входной файл ( stdin), исходный файл ( stdout), файл вывода сообщений об ошибках ( stderr). Входной файл обычно ассоциируется с клавиатурой, исходный файл и файл вывода ошибок-с экраном терминала, однако каждый из этих файлов может быть перенаправлен на другой носитель информации, например, на дисковый файл, о котором говорилось выше, на сеть, которая также является файлом, на контроллер любого периферийного устройства компьютера, считывателя информации и т.п.. Файлом может быть также участок оперативной памяти программы.


1. История

Двойка жестких дисков системы IBM 305

Слово "файл" впервые публично использовано в контексте хранения данных компьютером в феврале 1950. В рекламе RCA (Radio Corporation of America) в журнале Popular Science [1] описывая новую "запоминающая" вакуумную трубку, RCA ствреджувалы:

"... The results of countless computations can be kept" on file "and taken out again. Such a" file "now exists in a" memory "tube developed at RCA Laboratories. Electronically it retains figures fed into calculating machines, holds them in storage while it memorizes new ones - speeds intelligent solutions through mazes of mathematics. "

В 1952 "файл" использовали для обозначения информации хранившаяся на перфокартах. [2] Сначала люди рассматривали как файл соответствующую аппаратуру (а не содержание). Например твердые диски компьютера IBM 350 назывались "disk files". [3] Такие системы как Compatible Time-Sharing System ввели идею файловой системы, которая руководила несколькими виртуальными "файлами" на устройство хранения, предоставляя срока его современное значение. Имена файлов в CTSS имели две части, читабельное пользователем "основное имя", и "дополнительное имя" которое указывало на тип файла. [4] [5] Такой подход до сих сохранился в нескольких операционных системах, включая Microsoft Windows. Хотя современный термин "регистровый файл" иллюстрирует раннее понятие файла, это понятие вообще исчезло.


2. Файлы в Unix

В Unix существует 6 типов файлов

  1. Обычный (regular)
  2. Каталог (directory)
  3. Файл внешнего устройства.
  4. Канал с именем (FIFO)
  5. Связь (link)
  6. Сокеты (socket)

Обычный файл встречается чаще. Для операционной системы такой файл выглядит как простая последовательность байт.

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

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

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

Сокеты используются для взаимодействия между процессами. Интерфейс socket используется, например, для доступа к сети TCP / IP.


См.. также