Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
структуры и алгоритмы / Лекции_лабор_структ.doc
Скачиваний:
56
Добавлен:
04.06.2015
Размер:
2.98 Mб
Скачать

7 Файлы

7.1 Организация файлов на устройствах внешней памяти

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

Введение понятия файла существенно расширяет иерархию структур данных и дает возможность "перебросить мост" между основной и внешней памятью ВС. На рис. 7.1 представлена иерархия структуры файла и отношение компонентов этой иерархии к основной и внешней памяти ВС. Рисунок указывает ту среду (основную или внешнюю память), в которой можно выделять компоненты иерархии. Следовательно, поле записи можно выделить лишь в основной памяти, в то время как файл существует только во внешней памяти. Запись, находящаяся на промежуточном уровне иерархии между файлом и полем записи, может выделяться, как это видно из рисунка, как в основной, так и во внешней памяти. Поэтому запись представляет собой минимальную единицу данных в операциях передачи между основной и внешней памятью.

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

7.2 Основные типы файлов

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

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

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

Произвольно организованный файл характерен тем, что его записи могут быть размещены во внешней памяти в произвольном порядке относительно друг друга, причем доступ к любой записи файла может быть выполнен непосредственно по ее физическому адресу, без необходимости просмотра предыдущих записей. Вследствие возможности непосредственного, или прямого, обращения к любой записи такой файл называют также файлом прямого доступа. Он может размещаться только на ЗУПД.

В индексно - последовательном файле записи могут быть размещены физически в произвольном порядке, но логический порядок следования записей определяется ключами в записях. Такой файл всегда дополняется одним или несколькими связанными индексами, каждый из которых представляет собой таблицу, содержащую ключи и физические адреса записей файла. Важная особенность индексно - последовательного файла - возможность осуществлять как прямой, так и последовательный доступ к записям. При прямом доступе сначала по ключу записи определяется из индекса физический адрес записи, после чего обращение к ней осуществляется, как в файле прямого доступа. При последовательном доступе в индексе просматривается последовательность ключей в их логическом порядке и происходит обращение к записям в порядке просмотра их ключей. Индексно - последовательный файл всегда размещается на ЗУПД.

Соседние файлы в папке структуры и алгоритмы