- •Введение
- •1 Основные понятия о типах и структурах данных
- •2 Простейшие статические структуры
- •2.1 Характерные свойства статических структур
- •2.2 Векторы
- •2.3 Массивы
- •2.4 Записи
- •2.5 Таблицы
- •2.6 Характерные свойства статических структур
- •3 Полустатические структуры
- •3.1 Общее понятие списковой структуры
- •3.2 Стеки
- •3.3 Очереди
- •3.4 Деки
- •4 Линейные динамические структуры
- •4.1 Характерные черты динамических структур
- •4.2 Односвязные списки
- •4.3 Двусвязные списки
- •4.4 Организация и представление линейных связных списков в памяти эвм
- •4.5 Представление стеков, очередей и деков линейными списками
- •5 Нелинейные связные структуры
- •5.1 Обобщенные двусвязные списки
- •5.2 Многосвязные списки
- •5.3 Сетевые структуры
- •5.4 Деревья
- •5.5 Бинарные деревья
- •6 Строковые данные
- •6.1 Строки
- •6.2 Векторное представление строк
- •6.3 Списковое представление строк
- •7 Файлы
- •7.1 Организация файлов на устройствах внешней памяти
- •7.2 Основные типы файлов
- •7.3 Последовательные файлы
- •7.4 Библиотечные файлы
- •7.5 Файлы прямого доступа
- •7.6 Индексно-последовательные файлы
- •8 Системы управления базами данных
- •8.1 Сущность базы данных и системы управления базами данных
- •8.2 Классификация банков данных и их составных частей
- •8.3 Иерархическая и сетевая модели баз данных
- •8.4 Реляционная модель базы данных
- •9 Задачи и упражнения
- •9.1. Векторы
- •9.2 Матрицы
- •9.3 Строки
- •9.4 Записи и таблицы
- •9.5 Списки
- •9.6 Очереди, стеки, деки
- •9.7 Двоичные деревья
- •Библиографический список
- •Содержание
- •Структуры данных
- •650049, Красноярск, пр.Мира 82.
7 Файлы
7.1 Организация файлов на устройствах внешней памяти
Одной из важнейших структур данных является файл - конечное множество записей, расположенных на некотором устройстве внешней памяти. Элемент файла - запись. Особенность файла как структуры данных - его ориентация на внешнюю память.
Введение понятия файла существенно расширяет иерархию структур данных и дает возможность "перебросить мост" между основной и внешней памятью ВС. На рис. 7.1 представлена иерархия структуры файла и отношение компонентов этой иерархии к основной и внешней памяти ВС. Рисунок указывает ту среду (основную или внешнюю память), в которой можно выделять компоненты иерархии. Следовательно, поле записи можно выделить лишь в основной памяти, в то время как файл существует только во внешней памяти. Запись, находящаяся на промежуточном уровне иерархии между файлом и полем записи, может выделяться, как это видно из рисунка, как в основной, так и во внешней памяти. Поэтому запись представляет собой минимальную единицу данных в операциях передачи между основной и внешней памятью.
Тот носитель данных на устройстве внешней памяти, на котором располагается или может быть расположен файл, называется томом (бобина магнитной ленты, пакет МД и т.д.). На одном томе могут храниться несколько разных файлов, такой том называется многофайловым. Наоборот, один файл может занимать несколько разных томов. В этом случае файл называют многотомным.
7.2 Основные типы файлов
В современных ВС наиболее широко применяются последовательные, библиотечные (расчлененные), произвольно организованные и индексно - последовательные типы логических структур файлов. Дадим краткую характеристику основных типов файлов.
Последовательный файл характеризуется тем, что физическое следование его записей на устройстве внешней памяти полностью совпадает с логическим порядком следования записей. Для доступа к некоторой внутренней записи последовательного файла необходимо просмотреть файл с самого начала до тех пор, пока не будет найдена требуемая запись. Некоторые устройства внешней памяти (например, НМЛ) допускают только последовательную организацию файла.
Библиотечный (расчлененный) файл является развитием последовательного файла и характеризуется тем, что он разделен на независимые друг от друга части, называемые разделами, причем каждый раздел организован последовательно (как последовательный файл) и имеет собственное имя. Имена разделов объединены в справочник, также входящий в файл. Название "библиотечный" объясняется сходством этого типа файла с организацией автоматизированной библиотеки, а также тем, что библиотеки программ операционной системы и других программ запоминаются обычно в библиотечных файлах. Библиотечные файлы организуются только на запоминающих устройствах прямого доступа (НМД, НГМД и т.д.).
Произвольно организованный файл характерен тем, что его записи могут быть размещены во внешней памяти в произвольном порядке относительно друг друга, причем доступ к любой записи файла может быть выполнен непосредственно по ее физическому адресу, без необходимости просмотра предыдущих записей. Вследствие возможности непосредственного, или прямого, обращения к любой записи такой файл называют также файлом прямого доступа. Он может размещаться только на ЗУПД.
В индексно - последовательном файле записи могут быть размещены физически в произвольном порядке, но логический порядок следования записей определяется ключами в записях. Такой файл всегда дополняется одним или несколькими связанными индексами, каждый из которых представляет собой таблицу, содержащую ключи и физические адреса записей файла. Важная особенность индексно - последовательного файла - возможность осуществлять как прямой, так и последовательный доступ к записям. При прямом доступе сначала по ключу записи определяется из индекса физический адрес записи, после чего обращение к ней осуществляется, как в файле прямого доступа. При последовательном доступе в индексе просматривается последовательность ключей в их логическом порядке и происходит обращение к записям в порядке просмотра их ключей. Индексно - последовательный файл всегда размещается на ЗУПД.