Как обращаться к группе файлов
Часто возникает ситуация, когда надо работать не с одним файлом, а с группой файлов.
Пример 9.5.Операции с группой файлов:
§ копирование группы файлов с одного диска на другой;
§ удаление группы файлов;
§ перемещение группы файлов на другой диск;
§ поиск группы файлов заданного типа и т.п.
Эти операции достаточно легко выполнить, пользуясь при формировании имен и типов файлов шаблоном.
Шаблон имени файла– специальная форма, в которой в полях имени и типа файла используются символы * или ? .
Символ * служит для замены любой последовательности символов. В шаблоне может быть использовано в поле имени и типа по одному символу * .
Пример 9.6.Задав имя *.ТХТ, вы обратитесь ко всем текстовым файлам. Задав имя SD*.*, вы обратитесь ко всем файлам, имя которых начинается на SD.
Символ ?служит для замены одного символа. В шаблоне может быть использовано несколько таких символов.
Пример 9.7.Имя RT??.BAS позволит обратиться ко всем файлам типа BAS, имя которых состоит из четырех символов, причем первые два символа обязательно RT, третий и четвертый – любые.
ХАРАКТЕРИСТИКА MS DOS
§ Организация доступа к файлу
§ Модульная структура MS DOS
§ Размещение MS DOS на диске и в оперативной памяти
§ Загрузка MS DOS в оперативную память с диска
ОРГАНИЗАЦИЯ ДОСТУПА К ФАЙЛУ
Структура каталога
Надеемся, что вы хорошо представляете себе организацию хранения книг в библиотеке и соответственно процедуру поиска нужной книги по ее шифру из каталога. Перенесите свое представление об этом на способ хранения файлов на диске и организацию к нему доступа.
Доступ– процедура установления связи с памятью и размещенным в ней файлом для записи и чтения данных.
Имя логического диска, стоящее перед именем файла в спецификации, указывает логический диск, на котором следует искать файл. На этом же диске организован каталог, в котором хранятся полные имена файлов, а также их характеристики: дата и время создания; объем (в байтах); специальные атрибуты. По аналогии с библиотечной системой организации каталогов полное имя файла, зарегистрированное в каталоге, будет служить шифром, по которому операционная система находит месторасположение файла на диске.
Каталог– справочник файлов с указанием месторасположения на диске.
Различают два состояния каталога – текущее (активное) и пассивное. MS DOS помнит текущий каталог на каждом логическом диске.
Текущий (активный) каталог– каталог, в котором работа пользователя производится в текущее машинное время.
Пассивный каталог– каталог, с которым в данный момент времени не имеется связи.
В операционной системе MS DOS принята иерархическая структура (рис. 9.1) организации каталогов. На каждом диске всегда имеется единственный главный (корневой) каталог. Он находится на 0-м уровне иерархической структуры и обозначается символом "\". Корневой каталог создается при форматировании (инициализации, разметке) диска, имеет ограниченный размер и не может быть удален средствами DOS. В главный каталог могут входить другие каталоги и файлы, которые создаются командами операционной системы и могут быть удалены соответствующими командами.
Рис. 9.1.Иерархическая структура организации каталога
Родительский каталог– каталог, имеющий подкаталоги.
Подкаталог– каталог, который входит в другой каталог.
Таким образом, любой каталог, содержащий каталоги нижнего уровня, может быть, с одной стороны, по отношению к ним родительским, а с другой стороны, подчиненным по отношению к каталогу верхнего уровня. Как правило, если это не вызывает путаницы, употребляют термин "каталог", подразумевая или подкаталог, или родительский каталог в зависимости от контекста.
Каталоги на дисках организованы как системные файлы. Единственное исключение – корневой каталог, для которого отведено фиксированное место на диске. Доступ к каталогам можно получить, как к обыкновенному файлу.
Примечание. В структуре каталогов могут находиться каталоги, не содержащие ни одного файла или подкаталога. Такие подкаталоги напиваются пустыми.
Правила наименования подкаталогов такие же, как и правила наименования файлов (см. подразд. 9.1). Для формального отличия от файлов обычно подкаталогам присваивают только имена, хотя можно добавить и тип по тем же правилам, что и для файлов.
Доступ к содержимому файла организован из главного каталога, через цепочку соподчиненных каталогов (подкаталогов) n-го уровня. В каталоге любого уровня могут храниться записи как о файлах, так и о каталогах нижнего уровня.
На рис. 9.2 приведена простейшая структура каталога, где в главном каталоге 0-го уровня хранятся только записи о файлах, каталогов нижнего уровня не существует.
На рис. 9.3 приведена иерархическая структура каталога, где в каталогах любого уровня хранятся записи о файлах и каталогах нижнего уровня. Причем переход в каталог нижнего уровня может быть организован только последовательно через соподчиненные каталоги.
Рис. 9.2. Простейшая структура каталога, в котором отсутствуют каталоги нижнего уровня
Рис. 9.3. Типовая структура каталога, состоящего из каталогов нижнего уровня: при обозначении каталога нижнего уровня используются три цифры: первая цифра обозначает номер уровня; вторая –
порядковый номер этого каталога на данном уровне, третья указывает, на каком уровне зарегистрировано его имя. Каждый каталог имеет имя КАТ с индексами. Например, КАТ342 – имя каталога третьего уровня, который зарегистрирован в каталоге второго уровня под номером 4
Нельзя перейти из главного каталога сразу в каталог, например 5-го уровня. Нужно обязательно пройти через все предыдущие каталоги высшего уровня.
Описанный выше принцип организации доступа к файлу через каталог является основой файловой системы.
Файловая система– часть операционной системы, управляющая размещением и доступом к файлам и каталогам на диске.
С понятием файловой системы тесно связано понятие файловой структуры диска, под которой понимают, как размещаются на диске: главный каталог, подкаталоги, файлы, операционная система, а также какие для них выделены объемы секторов, кластеров, дорожек.
Правила формирования файловой структуры диска.При формировании файловой структуры диска операционная система MS DOS соблюдает ряд правил:
§ файл или каталог могут быть зарегистрированы с одним и тем же именем в разных каталогах, но в одном и том же каталоге только один раз;
§ порядок следования имен файлов и подкаталогов в родительском каталоге произвольный;
§ файл может быть разбит на несколько частей, для которых выделяются участки дискового пространства одинакового объема на разных дорожках и секторах.
Путь и приглашение
Из рис. 9.1 - 9.3 видно, что доступ к файлу осуществляется через каталог благодаря зарегистрированному в нем имени данного файла. Если каталог имеет иерархическую структуру, то доступ к файлу операционная система организует в зависимости от положения подкаталога, в котором зарегистрировано имя искомого файла.
Доступ к файлу можно организовать следующим образом:
§ если имя файла зарегистрировано в текущем каталоге, то достаточно для доступа к файлу указать только его имя;
§ если имя файла зарегистрировано в пассивном каталоге, то, находясь в текущем каталоге, вы должны указать путь, т.е. цепочку соподчиненных каталогов, через которые следует организовать доступ к файлу.
Путь– цепочка соподчиненных каталогов, которую необходимо пройти по иерархической структуре к каталогу, где зарегистрирован искомый файл. При задании пути имена каталогов записываются в порядке следования и отделяются друг от друга символом \.
Взаимодействие пользователя с операционной системой осуществляется с помощью командной строки, индицируемой на экране дисплея. В начале командной строки всегда имеется приглашение, которое заканчивается символом >. В приглашении может быть отображено: имя текущего диска, имя текущего каталога, текущее время и дата, путь, символы-разделители.
Приглашение операционной системы– индикация на экране дисплея информации, означающей готовность операционной системы к вводу команд пользователя.
Пример 9.8.
А:\
Текущим дисководом является дисковод с гибким диском А, текущим каталогом – главный, на что указывает символ \.
C:\KAT1\KAT2
Текущим диском является жесткий диск С. Текущим каталогом – каталог второго уровня КАТ2, входит в каталог первого уровня КАТ1, который, в свою очередь, зарегистрирован в главном каталоге.
Возможны три варианта организации пути доступа к файлу в зависимости от места его регистрации:
§ файл находится в текущем каталоге (путь отсутствует). При организации доступа к файлу достаточно указать его полное имя;
§ файл находится в пассивном каталоге одного из нижних уровней, подчиненного текущему каталогу. При организации доступа к файлу необходимо указать путь, в котором перечислены все имена каталогов нижнего уровня, лежащих на этом пути (включая каталог, в котором зарегистрирован данный файл);
§ файл находится в пассивном каталоге на другой ветке по отношению к местонахождению текущего каталога иерархической структуры. При организации доступа к файлу необходимо указать путь, начиная с главного каталога, т.е. с символа \. Это объясняется тем, что в иерархической структуре движение возможно только по вертикали сверху-вниз. Горизонтальные переходы из каталога в каталог недопустимы.
В нижеприведенных примерах иллюстрируются возможные варианты пути.
Пример 9.9.
Условие: файл F1.TXT зарегистрирован в текущем каталоге 1-го уровня К1 жесткого диска С. Поэтому на экране индицируется приглашение C:\K1
Пояснение: в этом случае путь отсутствует, и для доступа к файлу достаточно указать только его полное имя F1.TXT
Пример 9.10.
Условие: файл F1.TXT зарегистрирован в каталоге 2-го уровня К2 жесткого диска С. Текущий каталог – К1. Поэтому на экране индицируется приглашение C:\K1
Пояснение: в этом случае путь будет начинаться от каталога К1 вниз через подчиненный ему каталог К2. Поэтому перед полным именем файла указывается путь от текущего каталога К2\ F1.TXT
Пример 9.11.
Условие: файл F1.TXT зарегистрирован в каталоге 2-го уровня N2. Текущий каталог – К1. Поэтому на экране индицируется приглашение C:\K1
Пояснение: в этом случае путь пройдет через главный каталог в новую ветвь иерархической структуры через каталоги N1 и N2. Перед полным именем файла надо указать весь путь от главного каталога \N1\N2\F1.TXT
Внимание!Отличие примера 9.12 от примера 9.11 в следующем: в примере 9.12 перед именем первого каталога ставится символ \, что определяет путь поиска файла от главного каталога вниз по указанной цепочке; в примере 9.11 перед первым именем каталога не ставится символ \, что задает путь поиска файла от текущего каталога вниз.
Познакомившись с понятием пути, вернемся к введенному в подразд. 9.1 понятию спецификации файла. Существует сокращенная спецификация файла и полная спецификация файла, в образовании которой участвует путь. На рис. 9.4 показаны варианты правила образования спецификации файла.
Рис. 9.4, Форматы спецификаций (в [ ] указан необязательный параметр)
Пример 9.12.Сокращенная форма спецификации файла C:\K1T.BAS
Файл с программой на Бейсике KIT BAS находится в главном каталоге жесткого диска.
Полная форма спецификации файла
C:\KAT1\KAT2\BOOK1.TXT
Текстовый файл BOOK1.TXT зарегистрирован в каталоге второго уровня КАТ2 жесткого диска С.