Файл (Операционные Системы)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 18:46, 21 июля 2016.

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

История

Слово file впервые применено к компьютерному хранилищу в 1950 году. Реклама памяти на запоминающих ЭЛТ фирмы RCA в журнале «Popular Science» [1] гласила:

« …результаты бесчисленных вычислений можно держать «в картотеке» (on file) и получать снова. Эта «картотека» теперь существует в запоминающей трубке, разработанной в лабораториях RCA. Она электрически сохраняет цифры, отправленные в вычислительную машину, и держит их в хранилище, заодно запоминая новые — ускоряя интеллектуальные решения в лабиринтах математики. »

В 1952 году слово file отнесли к колоде перфокарт [2]. Поначалу словом file называли само устройство памяти, а не его содержимое (см. Регистровый файл). Например, диски IBM 350, использовавшиеся, например, в машине IBM 305, назывались disk files. Системы наподобие Compatible Time-Sharing System ввели концепцию файловой системы, когда на одном запоминающем устройстве существует несколько виртуальных «устройств памяти», что и дало слову «файл» современное значение. Имена файлов в CTTS состояли из двух частей, «основного имени» и «дополнительного имени» (последнее существует и поныне как расширение имени файла).

Классификация файлов

Содержимое файлов

Файлы могут содержать в себе любую информацию. Это могут быть как программы, выполняемые под управлением какой-либо операционной системы, либо файлы с данными для этих программ. Независимо от операционных систем персональных компьютеров все файлы можно разделить на текстовые и бинарные (по другому - двоичные ) файлы. Текстовыми файлами называют файлы, в которых используются в качестве информационных символы с шестнадцатеричными кодами 20h-7Eh (32 -126 десятичными) и 80h-7Eh (128 - 254 десятичными). В качестве служебных кодов и только в качестве них допускается использовать символы с кодами:

  • 09h (9) (HT) - горизонтальная табуляция.
  • 0Ah (10) (LF,EOL) - новая строка (перевод строки).
  • 0Bh (11) (VT) - вертикальная табуляция.
  • 0Ch (12) (FF) - новая строка (перевод страницы).
  • 0Dh (13) (CR) - возврат каретки.
  • 1Ah (26) (SUB,EOF) - конец файла.

Примечание: При визуализации текстового файла символ горизонтальной табуляции заменяется несколькими (обычно восемью) проблемами, символ вертикальной табуляции - несколькими пустыми строками. Символ возврата каретки переводит курсор (или позицию вывода нового символа) на первый элемент начала строки. Символ перевода строки выводит следующий символ на своем месте, только строкой ниже. Поэтому символ EOL (End-of-Line) действительности - это последовательность символов CR/LF. Все символы, расположенные после символа конца файла, при выводе игнорируются.

Среди всех текстовых файлов можно выделить подмножество чистых ASCII файлов , информационные символы которых имеют только коды с номерами 20h - 7Eh. Двоичные же файлы представляют из себя последовательность из любых символов. Их длина определяется из заголовка файла. Это разделение является важным для различных операционных систем, поскольку назначение и обработка бинарных и текстовых файлов в операционных системах различаются.

Другие виды классификации файлов

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

Файлы и каталоги

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

Параметры файлов

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

Свойства файла

В зависимости от файловой системы, файл может обладать различным набором свойств.

Имя файла

В большинстве файловых систем имя файла используется для указания, к какому именно файлу производится обращение. В различных файловых системах ограничения на имя файла сильно различаются: в FAT16 и FAT12 размер имени файла ограничен 8.3 знаками (8 на имя и 3 на расширение); в других системах имя файла ограничено обычно в 255 байт; в NTFS имя ограничено в некоторых ОС 256 символами Unicode (по спецификации — 32 768 символов).

Помимо ограничений файловой системы, интерфейсы операционной системы дополнительно ограничивают набор символов, который допустим при работе с файлами.

  • Для MS-DOS в имени файла допустимы только заглавные латинские буквы, цифры. Недопустимы пробел, знак вопроса, звёздочка, символы больше/меньше, символ вертикальной черты. При вызове системных функций именами файлов в нижнем или смешанном регистре, они приводятся к верхнему регистру.
  • Для Windows в имени файла разрешены заглавные и строчные буквы, цифры, некоторые знаки препинания, пробел. Запрещены символы >, <, |, ?, *, /, \, :, ".
  • Для GNU/Linux (с учётом возможности маскировки) разрешены все символы, кроме / и байта, значение которого равно нулю, то есть 0x00.

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

Расширение имени файла

Расширение имени файла (часто расширение файла или расширение) как самостоятельный атрибут файла существует в файловых системах FAT16, FAT32, NTFS, используемых операционными системами MS-DOS, DR-DOS, PC DOS, MS Windows и используется для определения типа файла. Оно позволяет системе определить, каким приложением следует открывать данный файл. По умолчанию в операционной системе Windows расширение скрыто от пользователя.

В остальных файловых системах расширение — условность, часть имени, отделённая самой правой точкой в имени.

Основные атрибуты

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

Название атрибута перевод значение файловые системы операционные системы
READ ONLY только для чтения в файл запрещено писать FAT32, FAT12, FAT16, NTFS, HPFS, VFAT DOS, OS/2, Windows
SYSTEM системный критический для работы операционной системы файл FAT32, FAT12, FAT16, NTFS, HPFS, VFAT DOS, OS/2, Windows
HIDDEN скрытый файл скрывается от показа, пока явно не указано обратное FAT32, FAT12, FAT16, NTFS, HPFS, VFAT DOS, OS/2, Windows
ARCHIVE архивный (требующий архивации) файл изменён после резервного копирования или не был скопирован программами резервного копирования; при изменении файла ОС автоматически устанавливает этот атрибут FAT32, FAT12, FAT16, NTFS, HPFS, VFAT DOS, OS/2, Windows
Suid Установка пользовательского ID выполнение программы от имени владельца ext2 Unix-like
Sgid Установка группового ID выполнение программы от имени группы (для каталогов: любой файл созданный в каталоге с установленным SGID, получит заданную группу-владельца) ext2 Unix-like
Sticky bit липкий бит изначально предписывал ядру не выгружать завершившуюся программу из памяти сразу, а лишь спустя некоторое время, чтобы избежать постоянной загрузки с диска наиболее часто используемых программ, в настоящее время в разных ОС используется по-разному ext2 Unix-like

Время

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

Владелец и группа файла

В некоторых файловых системах предусмотрено указание на владельца файла и группу-владельца.

Права доступа

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

В UNIX-подобных операционных системах для файлов обычно выделяют три типа прав: на запись, чтение и выполнение.

Каждое право задаётся раздельно для владельца, для группы и для всех остальных. ACL позволяют расширить этот список.

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

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

Просмотр файлов в DOS Shell

Оболочка DOS Shell не случайно рассматривается первой среди всех графических оболочек фирмы Microsoft. Именно здесь зародились все остальные приемы работы и назначения клавиш, используемые в более “молодых” оболочках.

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

Интерфейс SHELL представляет собой программу, которая выполняет функции DOS. При работе с этой программой обычный символ готовности (>) отсутствует.

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

Оболочка Shell запускается командой:

С:\>DOSSHELL

После ввода этой команды и запуска MS-DOS SHELL на экране появляется окно интерфейса. Программа DOSSHELL занимает 4,4 Кб памяти.

Выход и возврат в Shell

Некоторые программы не работают под управлением интерфейса SHELL. Для их запуска необходимо выйти из этой оболочки. Существует два Способа выхода из MS-DOS SHELL, Если нужно временно покинуть SHELL для выполнения каких-либо действий с использованием командного режима DOS, то следует нажать клавиши Shift+F9 либо в списке программ Главной Группы (Main) выбрать Командный Режим (Command Prompt). На экране дисплея появляется текст:

Microsoft (R) MS-DOS (R) Version 5.0 (С) Copyright Corp 1981- и символ готовности, например, С:\>.

Для возврата в SHELL следует ввести команду EXIT. Возврат происходит в тот каталог, из которого был осуществлен выход из SHELL.

Резидентные в памяти программы (TSR) следует запускать до ввода команды DOSSHELL. Например, команду PRINT необходимо вводить до запуска интерфейса SHELL

Если нужно окончательно выйти из SHELL и вернуться в командный режим DOS, то следует нажать функциональную клавишу F3. После этого на экране появляется символ готовности DOS (>) и программа SHELL удаляется из памяти, освобождая пространство размером 4,4 Кб. Аналогичный выход из SHELL осуществляется нажатием клавиш Alt+F4, либо выбором eXit (Выход) в меню File (Файл). Обратно к интерфейсу SHELL можно вернуться повторным его запуском командой DOSSHELL.

Терминология, используемая в Shell

После ввода команды DOSSHELL на экране появляется окно графического интерфейса Shell. Графический интерфейс может работать в двух режимах:

  • Графический режим: в качестве указателя мыши используется стрелка, а место указания выбора каталога или файла обозначается пиктограммой в виде прямоугольника.
  • Текстовый режим: В качестве указателя мыши используется прямоугольник, а место указания выбора каталога обозначается квадратными скобками. Перед файлами такое место указания не предусмотрено.

При описании графического интерфейса SHELL используется следующая терминология:

  • Заголовок SHELL: MS-DOS Shell
  • Строка меню (menu bar)
  • Элемент меню
  • Текущий каталог, например, C:\DOS
  • Пиктограммы дисководов (drive icons). Они различны для различных типов физических устройств: гибких дисков, жесткого диска и псевдодиска. Если компьютер подключен к сети, то появляется надпись NET. Имеют свои отметки также и логические дисководы, создание в результате выполнения команды SUBST.
  • Дерево каталогов (Directory Tree). Если какой-либо каталог содержит подкаталоги нижнего уровня, то он помечается символом +>>.
  • Область списка файлов, в верхней части которой указан каталог, содержащий эти файлы.
  • Область списка программ.
  • Строка состояния в нижней части экрана. В этой строке выводятся быстрые клавиши, сообщения Shell и текущее время, например, 10:28а.
  • Линейка просмотра (Scroll Bar) располагается по краям областей.
  • На концах линейки просмотра имеются стрелки просмотра (Scroll Arrow). Они используются для прокрутки информации.
  • При прокрутке информации по линейке просмотра перемещается бегунок (Scroll Box).
  • Пиктограмма (иконка).
  • Курсор выбора.
  • Область списка активных программ.
  • Время, например, 10:28а. а до полудня, р после полудня.
  • Область дерева каталогов. Для просмотра каталогов можно пользоваться линейкой просмотра, расположенной справа.
  • Указатель мыши. В графическом режиме представляется стрелкой, в текстовом режиме прямоугольником.
  • Диалоговое окно (Dialog Box). Оно появляется для ввода дополнительной информации.
  • Окно текста, в которое вводится текст.
  • Кнопка опции, с помощью которой выбирается один вариант из списка возможных альтернатив.
  • Область контроля.
  • Командные кнопки, с помощью которых можно подтвердить выполнение команды (OK), отказаться от выполнения команды (Cancel), либо получить справочную информацию (Help).

Представление файлов и каталогов в графической оболочке SHELL осуществляется с помощью дерева каталогов и списка файлов в текущем каталоге.

Операции над файлами

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

  • Копирование — копия файла помещается в другой каталог.
  • Чтение — данные из файла помещаются в область памяти.
  • Перемещение — сам файл перемещается в другой каталог.
  • Удаление — запись о файле удаляется из каталога.
  • Переименование — изменяется имя файла.
  • Запись — в файл помещаются данные.

Особенности реализации

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

В некоторых файловых системах (например, в файловой системе OS VAX VMS) файлы имеют версию, что позволяет открывать более старые варианты данного файла. В файловой системе Mac OS (HFS) у файлов есть два «потока»: поток данных (где хранится содержимое файла) и поток ресурсов, хранящий информацию о программе, предназначенной для открывания данного файла и, возможно, некоторую информацию для этой программы. В NTFS файл может содержать, кроме основного, сколько угодно именованных потоков.

Примечание

  1. [1], Bonnier Corporation. Popular Science. — Bonnier Corporation. — P. 96–. — ISBN ISSN 01617370
  2. [2], Robert S. Casey, et al. Punched Cards: Their Applications to Science and Industry, 1952.