Файловая структура логического диска

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

MS-DOS избавляет пользователя от такой работы и ведет ее сама.

Для обеспечения доступа к файлам файловая система MS-DOS организует и поддерживает на логическом диске определенную файловую структуру(рис. 1.5).

Элементы файловой структуры:

– стартовый сектор(сектор начальной загрузки, Boot-сектор);
– таблица размещения файлов (FAT – File Allocation Table);
– корневой каталог(Root Directory);
– область данных(оставшееся свободным дисковое пространство).

Эти элементы создаются специальными программами в среде MS-DOS в процессе инициализации диска.

Стартовый сектор (сектор начальной загрузки, Boot-сектор)

Здесь записана информация, необходимая MS-DOS для работы с диском:

– идентификатор ОС (если диск системный);
– размер сектора диска;
– количество секторов в кластере;
– количество резервных секторов в начале диска;
– количество копий FAT на диске (стандарт – две);
– количество элементов в каталоге;
– количество секторов на диске;
– тип формата диска;
– количество секторов в FAT;
– количество секторов на дорожку;
– количество поверхностей;
– блок начальной загрузки ОС.

Рис. 1.5. Файловая структура на дискете емкостью 360 кбайт

За стартовым сектором располагается FAT.

FAT (таблица размещения файлов)

Область данных диска представлена в MS-DOS как последовательность пронумерованных кластеров.

FAT – это массив элементов, адресующих кластеры области данных диска. Каждому кластеру области данных соответствует один элемент FAT. Элементы FAT служат в качестве цепочки ссылок на кластеры файла в области данных.

FAT –крайне важный элемент файловой структуры. Нарушения в FAT могут привести к полной или частичной потери информации на всем логическом диске. Именно поэтому, на диске хранится две копии FAT.

Существуют специальные программы, которые контролируют состояние FAT и исправляют нарушения.

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

Размер корневого каталога для данного диска – величина фиксированная, поэтому максимальное количество "привязанных" к нему файлов и других (дочерних) каталогов (подкаталогов) – строго определенное.

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

MS-DOS поддерживает иерархическую структуру каталогов (древообразную, см. рис. 1.6).

Рис. 1.6. Иерархическая структура каталогов

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

Каждый каталог, кроме корневого, имеет "родителя", т.е. другой каталог, в котором зарегистрирован данный каталог. MS-DOS рассматривает каждый каталог, кроме корневого, как файл.

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

1.7).

Рис. 1.7. Иерархическая структура каталогов с файлами

Идентификация логических дисков, каталогов и файлов.Идентификация логических дисков, каталогов, файлов осуществляется на базе имен.

Файловая система MS-DOS не допускает, чтобы логические диски, каталоги, файлы были с одинаковыми ИДЕНТИФИКАТОРАМИ!

В качестве имени логического диска используется одна из букв латинского алфавита (A … Z). Каждый файл или каталог, кроме корневого, имеет полное имя.

Полное имя файла состоит из следующих частей (рис. 1.8):

– имя логического диска (A … Z);
– символ-разделитель(двоеточие) ‘:’;
– символ, идентифицирующий корневой каталог – ‘\’ (слэш);
– перечень каталогов и подкаталогов (разделенных символом ‘\’);
– собственно имя файла.

Рис. 1.8. Полное имя файла

Собственно имя файла состоит из имени, символа-разделителя ‘.'(точка) и расширения имени файла.

Маршрут доступа к файлу = "Имя логического диска" + "двоеточие" + "идентификация корневого каталога" + "весь перечень имен родительских каталогов".

Максимальное количество символов в полном имени файла равно 128.

Максимальное количество символов в имени файла равно 8.

Максимальное количество символов в расширении имени файла равно 3.

Расширение не обязательно, т.е. может и не присутствовать (в этом случае точка тоже отсутствует). Таким образом, размер собственно имени файла не превышает 13 символов (с учетом точки).

В полном имени файла разрешается использовать только следующие символы: A…Z, a … z, 0 … 9, $, &, #, `, ~, (, ), -, %, !, _, ^.

В полном имени файла запрещается использовать все остальные символы.

Примеры допустимых имен файлов:
format.COM read.me myfile.txt 28-03-96.doc 123.45

Примеры не допустимых имен файлов:
123456789.txt aa?.doc 35*.? i\t.f.doc *.txt my:file.txt

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

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

В MS-DOS есть перечень предопределенных и наиболее часто встречающихся расширений файлов. В табл. 3 приведены некоторые из них.

Таблица 1

Расширение Назначение файла
EXE,COM Выполняемые файлы в MS-DOS – это программы, созданные с помощью специальных инструментальных систем программирования, базирующиеся на применении языков программирования
BAT Файл последовательности команд MS-DOS (пакетный)
SYS Системный файл или файл драйвера устройств
OVR OVL Оверлейные файлы
BAK Резервная (предыдущая) копия файла
TXT Текстовый ASCII-файл
DOC Файл-документ MS Word
PAS Текст программы на языке программирования Pascal
C, CPP Тексты программ на языках программирования С, С++
ASM Текст программы на языке Ассемблер.
BMP Файл изображения в формате Windows BitMaP
GIF Файл точечного изображения (Graphic Interchange Format)
PCX Файл изображения в формате Paintbrush
TIF Файл изображения (Tagged Image File Format)
INI, CFG Файлы настроек и конфигураций
TMP Временный файл

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

4 приведен перечень этих имен.

Таблица 2

Имя Назначение
AUX Асинхронный интерфейс (Auxiliary – вспомогательный выход)
CLOCK$ Драйвер часов
CON Консоль (клавиатура, дисплей)
COM1 Первый порт последовательного ввода/вывода (от COMmunication)
COM2 Второй порт последовательного ввода/вывода
COM3 Третий порт последовательного ввода/вывода
COM4 Четвертый порт последовательного ввода/вывода
LPT1 Первый порт параллельного ввода/вывода (от Line PrinTer 1)
LPT2 Второй порт параллельного ввода/вывода
LPT3 Третий порт параллельного ввода/вывода
NUL Отсутствующий выход ("нулевое устройство")
PRN Принтер (от PRiNter – аналог LPT1)

С точки зрения пользователя эти устройства ничем не отличаются от обычных файлов (с ними можно производить все те же операции, что и с обычными файлами). Однако не рекомендуется использовать имена файлов, построенные на базе вышеприведенных зарезервированных имен, такие, как: NUL.BAT, COM2.COO, PRN. TXT и т.п.

Использование их в качестве расширений имен файлов допустимо: TEXT.PRN, FILE1.CON, FILE.NUL и т.п.

Символы подстановки в именах файлов. Когда необходимо произвести какие-либо действия над файлами пользователь вызывает определенные внутренние или внешние команды MS-DOS и передает им в качестве параметров имена файлов. Очень часто приходится производить одни и те же действия над многими файлами.

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

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

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

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

Символ * означает, что команда при фильтрации файлов признает все символы, в имени или расширении файла, начиная с позиции, где находится символ *.

Символы ? и * действуют не зависимо друг от друга применительно к имени или расширению.

Примеры:

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

*.* – все файлы, без исключения;

*.txt – файлы с любыми именами, но с расширением txt;

II*.* – файлы, имена которых начинаются с цепочки символов II и имеющие любое расширение;

YE??0198.* – файлы, имена которых начинаются с цепочки символов YE, два следующих символа могут быть любыми, следующие четыре символа должны быть 0198, расширение любое.

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

Что такое файловая система


admin