Организация файловой системы, управление работой с файлами

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

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

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

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

Имена файлов в MS DOS

Как было сказано, для упорядочения файлов каждый из них должен иметь уникальное имя. При поиске файла на диске система кроме имени файла должна "знать" и логическое имя диска, на котором этот файл расположен. Такая исчерпывающая информация о локализации файла на магнитном носителе называется спецификацией файла и имеет вид D:имя_файла.расширение. Здесь D: есть логическое имя привода, состоящее из латинской буквы и двоеточия. Имя привода не нужно указывать только в том случае, когда файл или файлы, с которыми работает пользователь, размещены или подлежат размещению на текущем приводе.

Имя файла в MS DOS состоит из одного-восьми символов, содержание имени системе безразлично. При записи имен можно использовать :

Латинские буквы от А до Z.

Цифры от 0 до 9.

Символы $ & # @ ! % ' ( ) - { } ~ `.

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

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

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

* + : ; " , . / \ < > | ? = [ ]

Нельзя также оставлять в имени или расширении (или между ними) пробелы: например, текст вида EX AMPL.PAS рассматривается системой как имена двух файлов EX и AMPL.PAS соответственно. Не допускается и превышение длины имени сверх указанных выше пределов - машина "обрежет" такое имя до восьми символов, и, если образовавшееся новое имя совпадет с именем уже существующего файла, может произойти разрушение информации в этом файле.

Некоторые имена файлов зарезервированы в операционной системе в качестве имен устройств (т.е. используются в командах на местах имен файлов для перенаправления потоков информации при вводе-выводе). К числу таких имен относятся:

AUX или

COM1, COM2 используются при выполнении операций ввода-вывода с дополнительными устройствами (не входящими в основную конфигурацию ПЭВМ - например, виртуальный диск);

CON используется при вводе информации в файл непосредственно с клавиатуры или для перенаправления вывода на экран терминала;

LST или PRN

или LPT1, LPT2,

LPT3 используются при направлении вывода информации, на принтер;

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

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

Использование "множественных" символов

В спецификациях файлов можно использовать два "множественных символа: (*) и (?). Эти символы позволяют в некоторых случаях существенно сократить длину набираемых команд при однотипной обработке группы файлов. Наиболее часто эти символы используются в таких командах, как DIR, DEL и COPY.

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

DIR EX?MPL.PAS

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

Символ (*), включенный в спецификацию файла вместо имени или расширения, имеет смысл слова "все". Например, команда

DEL *.PAS

означает: удалить ВСЕ файлы с расширением BAS независимо от их имен, а команда

DEL *.*

вообще удалит из рабочей директории диска ВСЕ файлы, хранящиеся в ней.

Символ (*) может использоваться и в комбинациях с другими символами. Например, команда

DIR PRI*.D*

выведет на экран характеристику всех файлов, имена которых начинаются символами PRI, а расширение - символом D, и по смыслу эквивалентна команде DIR PRI?????.D??.

Директории

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

Организация файловой системы, управление работой с файлами - student2.ru

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

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

В конце текста указано общее количество файлов в опрашиваемой директории и объем оставшегося свободного пространства (в байтах) магнитного диска с логическим именем С: (на котором директория размещена).

Если есть необходимость посмотреть характеристику только какого-либо конкретного файла, то в команде DIR следует указать его имя.

Наши рекомендации