Файловая структура логического диска
Чтобы обратиться к информации на диске, находящейся в файле, надо знать физический адрес первого сектора (№ поверхности + № дорожки + № сектора), общее количество кластеров, занимаемое данным файлом, адрес следующего кластера, если размер файла больше, чем размер одного кластера и т.д. Все это очень туманно, трудно и не нужно.
MS-DOS избавляет пользователя от такой работы и ведет ее сама.
Для обеспечения доступа к файлам файловая система MS-DOS организует и поддерживает на логическом диске определенную файловую структуру (рис.3).
Элементы файловой структуры:
– стартовый сектор(сектор начальной загрузки, Boot-сектор);
– таблица размещения файлов (FAT – File Allocation Table);
– корневой каталог(Root Directory);
– область данных (оставшееся свободным дисковое пространство).
Эти элементы создаются специальными программами в среде MS-DOS в процессе инициализации диска.
Рис.3. Файловая структура на дискете емкостью 360 кбайт
За стартовым сектором располагается FAT.
FAT (таблица размещения файлов)
Область данных диска представлена в MS-DOS как последовательность пронумерованных кластеров.
FAT – это массив элементов, адресующих кластеры области данных диска. Каждому кластеру области данных соответствует один элемент FAT. Элементы FAT служат в качестве цепочки ссылок на кластеры файла в области данных.
FAT – крайне важный элемент файловой структуры. Нарушения в FAT могут привести к полной или частичной потери информации на всем логическом диске. Именно поэтому, на диске хранится две копии FAT. Существуют специальные программы, которые контролируют состояние FAT и исправляют нарушения.
Корневой Каталог. Это определенная область диска, создаваемая в процессе инициализации (форматировании) диска, где содержится информация о файлах и каталогах, хранящихся на диске. Корневой каталог всегда существует на отформатированном диске. На одном диске бывает только один корневой каталог. Размер корневого каталога для данного диска – величина фиксированная, поэтому максимальное количество "привязанных" к нему файлов и других (дочерних) каталогов (подкаталогов) – строго определенное.
Каталоги (подкаталоги). Каталог – это определенное место на диске (в области данных диска), где содержится информация о файлах и подкаталогах, привязанных к данному каталогу.
MS-DOS поддерживает иерархическую структуру каталогов (древообразную, см. рис.4).
Рис.4. Иерархическая структура каталогов
В отличие от корневого каталога, остальные каталоги (подкаталоги) создаются с помощью команд MS-DOS. Основная цель такой структуры каталогов – организация эффективного хранения большого количества файлов на диске.
Каждый каталог, кроме корневого, имеет "родителя", т.е. другой каталог, в котором зарегистрирован данный каталог. MS-DOS рассматривает каждый каталог, кроме корневого, как файл.
Файлы. Файл – это поименованная область памяти на каком-либо физическом носителе, предназначенная для хранения информации. Файл всегда зарегистрирован в каком-либо каталоге, в том числе, может быть "привязан" и к корневому каталогу (см. рис.5).
Рис.5. Иерархическая структура каталогов с файлами
Идентификация логических дисков, каталогов и файлов. Идентификация логических дисков, каталогов, файлов осуществляется на базе имен.
Файловая система MS-DOS не допускает, чтобы логические диски, каталоги, файлы были с одинаковыми ИДЕНТИФИКАТОРАМИ!
В качестве имени логического диска используется одна из букв латинского алфавита (A ... Z). Каждый файл или каталог, кроме корневого, имеет полное имя.
Полное имя файла состоит из следующих частей (рис.6):
– имя логического диска (A … Z);
– символ-разделитель(двоеточие) ':';
– символ, идентифицирующий корневой каталог – '\' (слэш);
– перечень каталогов и подкаталогов (разделенных символом '\');
– собственно имя файла.
Рис.6. Полное имя файла
Собственно имя файла состоит из имени, символа-разделителя '.' (точка) и расширения имени файла.
Маршрут доступа к файлу = "Имя логического диска" + "двоеточие" + "идентификация корневого каталога" + "весь перечень имен родительских каталогов".
Максимальное количество символов в полном имени файла равно 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 есть перечень предопределенных и наиболее часто встречающихся расширений файлов. В табл.1 приведены некоторые из них.
Таблица 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 имеется ряд имен файлов, которые зарезервированы для внутреннего использования. Каждое такое имя отражает какое-либо устройство. Запрещается использование этих имен не по назначению. В табл. 2 приведен перечень этих имен.
Таблица 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, расширение любое.
Атрибуты файлов. Каждый файл и каталог имеет атрибут, который указывает на то, что этот файл является именно файлом, или на то, что он является каталогом. Файлы, в зависимости от атрибута, могут быть скрытыми, архивными, системными, только для чтения.
Дата добавления: 2015-08-01; просмотров: 3315;