Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №7.doc
Скачиваний:
79
Добавлен:
11.02.2015
Размер:
483.84 Кб
Скачать

Файлы и файловая система

Все программы данные хранятся в долговременной (внешней) памяти компьютера в виде файла.

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

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

В различных операционных системах существуют различные форматы имен файлов. В операционной системе МS-DOSсобственно имя файла должно содержать не более 8 букв латинского алфавита и цифр, а расширение состоит из трех латинских букв, например:proba.txt.

В операционной системе Windowsимя файла может иметь до 255 символов, причем можно использовать русский алфавит, например: Единицы измерения информации.Doc.

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

Таблица 1. Типы файловых расширений

Тип файла

Расширения

Программы

.exe, .com

Текстовые файлы

.txt, .doc

Графические

.bmp, .gif, .jpg и др.

Звуковые

.wav, .mid

Видео

.avi

Программы на языке программирования

.bas, .pas

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

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

Таблица 2.Одноуровневый каталог

Имя файла

Номер начального сектора

Файл_1

56

Файл_2

89

Файл_112

1200

Если на диске хранятся сотни и тысячи файлов, то для удобства поиска файлы хранятся в многоуровневой иерархической файловой системе, которая имеет “древовидную” структуру. Такую иерархическую систему можно сравнить, например, с оглавлением данного учебника, которое содержит иерархическую систему разделов, глав, параграфов и пунктов. Начальный, корневой, каталог содержит вложенные каталоги 1-го уровня, в свою очередь, каждый из них может содержать вложенные каталоги 2-го уровня и т.д. Необходимо отметить, что в каталогах всех уровней могут храниться и файлы.

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

Например, в корневом каталоге находятся два вложенных каталога 1-го уровня (Каталог_1, Каталог_2) и один файл (Файл_1). В свою очередь, в каталоге 1-го уровня (Каталог_1) находятся два вложенных каталога второго уровня (Каталог_1.1 и Каталог_1.2) и один файл (Файл_1.1).

Файловая система– это система хранения файлов и организации каталогов.

Рассмотрим иерархическую файловую систему на конкретном примере. Каждый диск имеет логическое имя (А,В - гибкие диски, С, D,Eи т.д. – жесткие и лазерные диски).

Пусть в корневом каталоге диска С:\ имеются два каталога 1-го уровня (GAMES,TEXT), а в каталогеGAMES– один каталог 2-го уровня (CHESS). При этом в каталогеTEXTимеется файлproba.txt, а в каталогеCHESS– файлchess.exe.

Рис. 2. Пример иерархической файловой системы

Путь к файлу. Как найти имеющиеся файлы (chess.exe,proba.txt) в данной иерархической файловой системе? Для этого необходимо указать путь к файлу. В путь к файлу входят имя диска, последовательность имен каталогов и имя файла, которые при записи разделяются обратной косой чертой (\). Таким образом, пути к вышеперечисленным файлам можно записать следующим образом:

C:\GAMES\CHESS\chess.exe

C:\TEXT\proba.txt

Операции над файлами. В процессе работы на компьютере наиболее часто над файлами производятся следующие операции:

  • копирование (копия файла помещается в другой каталог),

  • перемещение (сам файл перемещается в другой каталог),

  • удаление (файл удаляется из каталога).

В операционных системах с графическим интерфейсом иерархическая файловая система представляется в виде иерархической системы папок.

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

Кроме имени, файл имеет атрибуты(дата создания, дата изменения, пользователь прав доступа и т.д.).

Файловая система позволяет организовывать файлы в иерархические древовидные каталоги. Каталог самого верхнего уровня называетсякорневым каталогом. Во многих операционных системах корневой каталог обозначается именем логического источника данных – латинской буквой с двоеточием.

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

Тот каталог, в котором пользователь находится в настоящий момент, называется текущим каталогом.

Последовательность имен каталогов, проходимых от некоторого каталога до нужного файла, называется путем к этому файлу. Имена каталогов в этой последовательности принято разделять знаком «\».

Абсолютное имяфайла складывается из пути к файлу от корневого каталога и имени файла.Относительное имя– из пути к файлу из текущего каталога и имени файла.

Пример. Пусть имя файла E:\SCHOOL\USER\DOC\user.txt

Это полное имя файла, поскольку оно начинается с имени корневого каталога E:. Путь к файлу – E:\SCHOOL\USER\DOC\. Само имя файла – user.txt, гдеtxt– расширение, указывающее на то, что файл должен содержать текстовые данные.

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

символ «?» означает ровно один произвольный символ;

символ «*» означает любую последовательность символов произвольной длины, может задавать и пустую последовательность.

Практические задания с решениями

Задание 1.Какие файлы будут выбраны из текущего каталога по маске d * c.?p ?

Решение. По указанной маске будут выбраны из текущего каталога все файлы, имена которых начинаются наdи заканчиваются на с , и одновременно имеют двухбуквенное расширение, заканчиваются на р.

Задание 2. Если каталог K на диске С: с единственным файлом F.txt перекопировали в каталог S каталога Т на диске D:, то к скопированному файлу можно обращаться по его новому полному имени:

С:\T\S\K\F.txt;

D:\T\S\K\F.txt;

D:\S\T\K\F.txt;

C:\S\T\F.txt.

Решение.Полное "старое" имя файла - C:\K\F.txt (этот подкаталог является "элементом" корневого каталога C:). "Новое место", куда "отправляется" каталог K с файлом - D:\T\S. Следовательно, полное "новое" имя файла - D:\T\S\K\F.txt. Ответ: 2.

Задание 3.Перемещаясь из одного каталога в другой, пользователь последовательно посетил каталогиDOC,USER,SCHOOL,A:\,LETTER,INBOX. При каждом перемещении пользователь либо спускался в каталог на уровень ниже, либо поднимался на уровень выше. Каково полное имя каталога, из которого начал перемещение пользователь?

1) A:\DOC

2) A:\LETTER\INBOX

3) А:\SCHOOL\USER\DOC

4) А:\DOC\USER\SCHOOL

Решение.В задачах, где нужно определить полный адрес файла или каталога, нужно начинать с поиска имени диска, в данном случае каталог находится на дискеA:\(так обозначается корневой каталог). Поскольку в списке посещенных каталогов передA:\стоитSCHOOL, пользователь мог попасть в корень дискаA:\только через каталогSCHOOL, поэтому адрес стартового каталога начинается сA:\SCHOOL, т. к. среди предложенных вариантов только один удовлетворяет этому условию, можно остановиться (правильный ответ – 3), однако, давайте все же доведем процедуру до конца, это позволит выяснить некоторые интересные моменты, которые не сработали здесь, но могут сработать в других задачах.

Как пользователь попал в каталог SCHOOL? по условию он мог как подниматься, так и спускаться по дереву каталогов, явно он не мог спуститься из USER в SCHOOL, потому что SCHOOL находится в корневом каталоге и каждый каталог имеет только одного «родителя»; значит, пользователь поднялся из USER в SCHOOL, и начальная часть полного адреса А:\SCHOOL\USER аналогично можно доказать, что пользователь поднялся в каталог USER из каталога DOC. Таким образом, мы доказали, что правильный ответ – 3.