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



ЗНАЕТЕ ЛИ ВЫ?

Последовательный метод доступа

Поиск

Последовательный (sequential) метод доступа является простейшим. Он основан на «ленточной» модели файла. Этот метод доступа является «естественным» для ряда приложений. Например, компиляторы и текстовые редакторы используют этот метод доступа.

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

Последовательный метод доступа (см. рис. 13.1) основан на «ленточной» модели файла и применим как для устройств последовательного доступа, так и для устройств прямого доступа.

Рисунок 13.1 – Файл с последовательным доступом

Прямой метод доступа

При прямом (direct) методе файл представляет собой пронумерованный набор записей фиксированной длины, доступ к которым осуществляется в произвольном порядке. Этот метод базируется на «дисковой» модели доступа к данным. Прямой метод доступа к файлу аналогичен произвольному методу доступа к ячейке основной памяти.

Файлы с прямым доступом широко используются для непосредственного доступа к большим объемам информации. Зачастую прикладные системы баз данных основаны на этом методе доступа.

Для реализации прямого метода в операции доступа должен быть добавлен номер блока, к которому будет применяться эта операция.

Не все операционные системы поддерживают как последовательный, так и прямой методы доступа. Существуют системы, поддерживающие только один из этих методов. В некоторых системах требуется указывать метод доступа при создании файлов.

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

Последовательный метод Прямой метод
Перемотка reset cp: = 0;
Чтение read next read cp; cp:= cp + 1;
Запись write next write cp; cp: =cp + 1;

 

Другие методы доступа

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

Пусть, например, некоторый файл хранит информацию некоторых продуктах и их ценах. Каждая запись содержит 10-разрядный универсальный код продукта и 6-разрядную цену. Таким образом, длина записи составляет 16 байтов. Если размер блока на диске равен 1024 байта, то в каждом блоке можно разместить 64 записи.

Пусть файл хранит сведения о 120000 товарах. Следовательно, он располагается примерно в 2000 блоках (2 миллиона байт). Если файл отсортирован по коду продукта, можно построить индекс, состоящий из значений кодов продукта в первой записи каждого блока. Такой индекс содержит 2000 записей по 10 байтов и может быть размещен в памяти. Чтобы найти цену конкретного продукта, нужно осуществить бинарный поиск в индексе, чтобы получить адрес блока, содержащего необходимую запись. Затем можно осуществить поиск записи в блоке.

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

Такой способ применен в индексно-последовательном методе доступа ISAM (Index Sequential Access Method), используемый в серии операционных систем для компьютеров фирмы IВМ (OS, VMS и др.).

 

Каталоги

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

­ Файловая система разбивается на части, называемые томами (volumes) или минидисками (minidisks). Обычно каждый диск содержит один или несколько томов. Некоторые операционные системы позволяют одному тому располагаться на нескольких дисках.

­ Каждый том содержит информацию о хранящихся на нем файлах. Эта информация сгруппирована в таблицу, которая называется таблицей содержания тома (volume table of contents), каталогом или директорией тома или просто директорией (device directory или directory).

Каталог содержит атрибуты всех файлов, например имя, расположение, размер; права доступа, тип и т. д.

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

Типичный набор операций с директорией включает следующие:

­ Поиск файла (Searсhing for a file). Всегда должна иметься возможность отыскать нужный файл. Поскольку файлы обычно имеют символические имена, и некоторые имена означают связи между файлами, может потребоваться найти все файлы, имена которых соответствуют определенному шаблону.

­ Создание файла (Creating a file). Необходимо иметь возможность создавать новые файлы и добавлять их в каталоги.

­ Чтение содержимого каталога (List a directory). Необходимо иметь возможность получить список файлов каталога, а также содержимое записи о каждом файле.

­ Удаление файла (Deleting a file). Если файл больше не потребуется, то его желательно удалить из каталога. Освобожденная память может быть впоследствии использована для размещения других файлов.

­ Переименование файла (Renaming a file). Поскольку имена файлов говорят их хозяевам о содержимом файлов, то они должны быть измененяемыми. Переименование файла может сопровождаться изменением местоположения записи о файле в каталоге.

­ Копирование файловой системы (Traverse the file system). Может понадобиться получить доступ к каталогам и файлам в пределах структуры каталогов. Это удобно для сохранения структуры и содержимого файловой системы с регулярными интервалами. Такой подход применяется при восстановлении системы после ее краха.|поперечина|

 



Поделиться:


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

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