Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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

Поиск

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

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, расширение любое.

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

Команды работы с файлами

Команда COPY

Копирует в заданное место один или более файлов. Данную команду можно также использовать для комбинирования файлов. При копировании более одного файла MS-DOS выводит на экран имя каждого копируемого файла.

COPY [/Y /-Y][/A /B] источник [/A /B] [+ источник [/A /B] [+...]][приемник [/A /B]] [/V]

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

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

Параметр /-Y показывает, что вы хотите, чтобы команда COPY при замене существующего файла выводила запрос на подтверждение. Указание данного параметра переопределяет все назначения по умолчанию и текущую установку переменной операционной среды COPYCMD.

Параметр /A указывает текстовый файл ASCII. В файле ASCII для указания конца файла можно использовать символ конца файла (CTRL+Z). При комбинировании файлов COPY по умолчанию интерпретирует текстовые файлы как файлы ASCII. Когда /A предшествует списку имен файлов в командной строке, он применяется ко всем файлам, имена которые следуют за /A, пока COPY не обнаруживает параметр /B (в этом случае /B применяется ко всем файлам, имена которых предшествуют параметру /B). Когда параметр /A следует за именем файла, он применяется ко всем файлам, имена которых предшествуют параметру /A, и ко всем файлам, имена которых следуют за /A, пока COPY не обнаруживает параметр /B (в этом случае /B применяется ко всем файлам, имена которых предшествуют параметру /B).

Параметр /B указывает двоичный файл. Он задает, что интерпретатор команд должен считывать число байт, заданных размером файла в каталоге. Параметр /B - используется по умолчанию (если COPY не применяется для комбинирования файлов). Когда /B предшествует списку имен файлов в командной строке, он применяется ко всем файлам, имена которых следуют за /B, пока COPY не обнаруживает параметр /A (в этом случае /A применяется ко всем файлам, имена которых предшествуют параметру /A). Когда параметр /B следует за именем файла, он применяется ко всем файлам, имена которых предшествуют параметру /B, и ко всем файлам, имена которых следуют за /B, пока COPY не обнаруживает параметр /A (в этом случае /A применяется ко всем файлам, имена которых предшествуют параметру /A).

/V проверяет корректность записи новых файлов. О копировании каталогов и подкаталогов подробнее рассказывается в описании команды XCOPY.



Поделиться:


Последнее изменение этой страницы: 2016-07-11; просмотров: 294; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.237.52 (0.008 с.)