Обслуживание файловой структуры
Несмотря на то что данные о местоположении файлов хранятся в табличной структуре, пользователю они представляются в виде иерархической (древовидной) системы файлов и каталогов − пользователю так удобнее, а все необходимые преобразования берет на себя операционная система. К функции обслуживания файловой структуры относятся следующие операции происходящие под управлением операционной системы:
создание файлов и присвоение им имен;
создание каталогов (папок) и присвоение им имен;
переименование файлов и каталогов (папок);
копирование и перемещение файлов между внешними ЗУ компьютера и между каталогами (папками) одного носителя;
удаление файлов и каталогов (папок);
навигация по файловой структуре с целью доступа к заданному файлу, каталогу (папке);
управление атрибутами файлов.
Создание и именование файлов и каталогов
Все объекты ФС имеют имена, причем для разных операционных систем приняты разные правила именования объектов ФС. Правила именования определяют:
символы, разрешенные в написании имени;
максимально возможную длину имени;
синтаксические правила записи имени.
В качестве имен реальных (физических) носителей принято использовать буквы латинского алфавита.
Например: A и B − гибкие магнитные диски (дискеты); C − жесткий магнитный диск (винчестер); D − оптический диск (если он есть); E − флэш-накопитель и т.д.
Часто жесткий магнитный диск разбивают на несколько логических дисков. Логический диск − это виртуальный диск на реальном физическом диске. Например, если жесткий диск разбит на два логических диска, то их имена будут соответственно C и D. В этом случае оптический диск будет именоваться следующей буквой − Е. Пользователь работает с логическими дисками как с отдельными носителями, хотя на самом деле логический диск является частью физического диска.
Имя файла − это обозначение файла, состоящее из набора разрешенных символов. Имя файла включает в себя собственно имя и расширение имени, разделяемые точкой. Расширение имени файла − это набор символов, который указывает на тип данных, хранящихся в файле. По расширению операционная система определяет программу, которая нужна для обработки файла. Существует ряд стандартных, общепринятых расширений, например:
.com, .exe − программные (исполнимые) файлы;
.sys − системные файлы;
.bas − программа, написанная на языке программирования Basic;
.pas − программа, написанная на языке программирования Pascal;
.txt − текстовый файл;
.doc − файл-документ текстового процессора Word;
.xls − электронная таблица Excel;
.bmp, .pcx, .gif, .tif, .jpg − файлы, созданные в растровых графических редакторах;
.arj, .zip, .rar − архивные файлы (архивы);
.wav − музыкальный файл стандартного формата;
и др.
Различают: короткое имя файла − длиной не более 8 символов; длинное имя файла − длиной до 256 символов. Современные операционные системы работают и с короткими, и с длинными именами файлов. «Длинное» имя может содержать любые символы, кроме девяти специальных: \ / : * ? " < > |. В имени разрешается использовать пробелы и несколько точек. Расширением имени считаются все символы, идущие после последней точки.
Любая операционная система допускает обращение к группе файлов. Для этого нужно указать групповое имя файлов (шаблон файлов, маску файлов). В маске файлов используют 2 специальных символа:
* − обозначает любое количество любых разрешенных символов (или их отсутствие);
? − обозначает один, любой из разрешенных символов (или его отсутствие).
Например:
*.* − любые файлы (файлы с любым именем и любым расширением);
а*.* − файлы с любым расширением, имя которых начинается с буквы а;
р???.txt − текстовые файлы, имя которых начинается с буквы р и имеет длину не более 4-х символов.
Каталоги (папки) — важные элементы иерархической структуры, необходимые для обеспечения удобного доступа к файлам, если файлов на носителе слишком много. Файлы объединяются в каталоги по любому общему признаку, заданному их создателем (по типу, по принадлежности, по назначению, по времени создания и т. п.). При регистрации файла в каталог записывается следующая информация:
имя и расширение файла;
атрибуты файла;
дата и время создания (модификации) файла;
номер первого кластера файла (точка входа в файл);
размер файла (в байтах);
код циклического контроля (CRC-код).
Каталоги низких уровней вкладываются в каталоги более высоких уровней и являются для них вложенными. Верхним уровнем вложенности иерархической структуры является корневой каталог. Он имеет ряд особенностей:
не имеет имени, т.к. его имя совпадает с именем самого носителя;
создается операционной системой в процессе форматирования носителя;
не может быть удален пользователем.
Каталог, с объектами которого в текущий момент времени работает пользователь, называется текущим (рабочим, активным) каталогом.
Правила присвоения имени каталогу ничем не отличаются от правил присвоения имени файлу, хотя негласно для каталогов не принято задавать расширения имен.
В
иерархических структурах данных адрес
объекта задается маршрутом
(путем доступа),
ведущим
от вершины структуры к объекту. При
записи пути доступа к файлу, проходящего
через систему вложенных каталогов, все
промежуточные каталоги разделяются
между собой определенным символом. Во
многих операционных системах в качестве
такого символа используется «\» (обратная
косая черта).
Полное имя файла, включающее в себя имена объектов ФС, начиная от вершины ФС (имени носителя), заканчивая собственно именем файла называется спецификацией файла (см. рис.).
Копирование и перемещение файлов
В неграфических операционных системах операции копирования и перемещения файлов выполняются вводом прямой команды в поле командной строки. При этом
указывается:
имя команды,
путь доступа к каталогу-источнику,
путь доступа к каталогу-приемнику.
В графических операционных системах существуют наглядные методы выполнения этих команд − с помощью системы меню или устройства «мышь».
Удаление файлов и каталогов (папок)
Средства удаления данных не менее важны для операционной системы, чем средства их создания, поскольку ни один носитель данных не обладает бесконечной емкостью. Существует как минимум три режима удаления данных: удаление, уничтожение и стирание.
Операционные системы обеспечивают, как правило, только два первых режима (режим надежного стирания данных можно выполнить лишь специальными программными средствами).
Удаление файлов является временным. В операционной системе Windows оно организовано с помощью специальной папки, которая называется Корзина. При удалении файлов и папок они перемещаются в Корзину. Эта операция происходит на уровне файловой структуры операционной системы (изменяется только путь доступа к файлам). На уровне файловой системы носителя ничего не происходит — файлы остаются в тех же секторах, где и были записаны. Пользователь имеет возможность восстановить файлы.
Уничтожение файлов происходит при очистке Корзины или при удалении без помещения в Корзину. В этом случае файл полностью удаляется из файловой структуры операционной системы, но на уровне файловой системы диска с ним происходят лишь незначительные изменения. В FAT-таблице файлов он помечается как удаленный, а соответствующие ему кластеры − как «свободные». Физически файл остается там же, где и был. Это сделано для минимизации времени на удаление. Если в кластеры удаленного файла не были записаны новые данные, то с помощью специальных служебных программ файл можно восстановить.
Операция стирания файлов, выполняемая специальными служебными программами, состоит именно в том, чтобы заполнить якобы свободные кластеры, оставшиеся после уничтоженного файла, случайными данными. Поскольку даже после перезаписи данных их еще можно восстановить специальными аппаратными средствами (путем анализа остаточного магнитного гистерезиса), для надежного стирания файлов требуется провести не менее пяти актов случайной перезаписи в одни и те же сектора. Эта операция весьма продолжительна, и поскольку массовому потребителю она не нужна, то ее не включают в стандартные функции операционных систем.
