Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Файловые типы данных




Файл - именованный набор данных (на внешнем носителе).

При работе с файлом внутренняя структура не имеет значения.

К файлам применимы операции:

· Создание файла

· Открытие

· Чтение и модификация

· Закрытие

· Уничтожение

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

Файлы используются, когда нужно хранить большие объёмы данных и передавать их в другие программы для обработки.

Файлы не всегда хранятся на внешних устройствах. Понятие файла может использоваться при обмене с внешним устройством.

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

<CR> - возврат каретки

<LF> - перевод строки

<FF> - Format F

Существует 2 базовых метода доступа к информации в файлах:

1) последовательный доступ

2) прямой доступ

В зависимости от используемого метода доступа определяются 3 основные вида организации файлов:

1. последовательные файлы (файлы с последовательной организацией)

2. файлы с относительной нумерацией записей

3. индексные файлы

Методы доступа:

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

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

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

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

Виды организации файлов:

1. Последовательная организация файла

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

2. Файлы с относительной нумерацией записей

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

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

Пример объявления файла в Pascal:

Var

F:file of Char;

Все файлы в Pascal состоят из однотипных элементов. Логическое представление файла: .

Имитация прямого доступа выполняется с помощью стандартной процедуры: Seek (p1;p2);

Указатель текущей позиции в файле определяет позицию в файле, с которой работают операции ввода-вывода.

В языках высокого уровня поддерживаются логические файлы на уровне прикладного программирования. Средства поддержки: указатели, файловые переменные.

3. Индексные файлы

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

Индекс – это совокупность указателей на записи в физическом файле. Эти две части могут размещаться в отдельных файлах. Файл индекс значительно меньше физического файла.

Индексная организация позволяет:

1) Ускорять доступ в файле.

Файл индексов может иметь более сложную организацию, чем просто последовательную (например, организация в виде бинарного дерева. Среде время поиска = , а для линейного списка - ).

2) Возможность логически упорядочивать информацию в физическом файле.

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

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

Возможна индексация, имеющая более одного уровня.




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 761; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.017 сек.