Лекция 11 Управление внешней памятью. Файлы
Иерархия данных
Нижний уровень иерархии составляют битовые комбинации , с помощью которых создаются практически любые элементы данных. На следующем уровне находятся байты и символы. Более крупной структурой являются поля: алфавитные, цифровые или алфавитно-цифровые, а группа взаимосвязанных полей образует записи. Записи могут быть объединены в файлы, а группы взаимосвязанных файлов составлять базу данных.
$ если картинку надо - вот как-то так…$
Битовые комбинации
Байты
Символьные наборы
Поля
Записи
Файлы
Базы данных
$ дальше – прям капитан очевидность. Но такая очевидность была ж не всегда да и не всем… помните о тех, кто был до нас и это «слесарил»…$
Файл (file) - поименованная совокупность данных. С файлами возможно производить операции как с единым целым при помощи операторов: oткрыть(open), закрыть(close), создать(create), уничтожить(destroy), копировать(copy), переименовать(rename), вывести(list). Кроме того, возможны операции над отдельными компонентами файлов: прочитать(read), записать(write), обновить(update), вставить(insert), исключить(delete).
Организация файлов
Под организацией файлов понимается способ расположения записей во внешней памяти. Существуют следующие способы организации.
Последовательная - записи располагаются в физическом порядке, т.е. “следующая” запись - это запись, которая физически следует за предыдущей, здесь записи могут быть как фиксированной длины, так и переменной.
1 2 3 4 5 …
Записи фиксированной
длины
1 2 3 4
Записи переменной
длины
Указатели длины записи
Индексно-последовательная - записи располагаются в логической последовательности в соответствии со значениями ключей, содержащихся в каждой записи. Доступ к индексно-последовательным записям может осуществляться последовательно, в порядке возрастания/убывания значений ключа, либо прямо по ключу, путем поиска по системному индексу.
1 2 3
k1 k2 k3
k1<k2<k3
Индексная таблица
Ключ Адрес
k1
k2
k3
Прямая - доступ к записям осуществляется произвольно по их физическим адресам на запоминающем устройстве прямого доступа.
Библиотечная - это по сути файл, состоящий из последовательных подфайлов, где каждый последовательный подфайл называется элементом, или членом файла. Начальный адрес каждого такого элемента хранится в директории файла. Библиотечные (секционированные) файлы наиболее часто используются для хранения программных библиотек или библиотек макросов.
Методы доступа
Операционные системы реализуют, как правило, различные методы доступа к файлам, которые можно сгруппировать в две категории:
методы доступа с очередями;
базисные методы доступа.
Методы доступа с очередями применяются в тех случаях, когда последовательность обработки записей можно предвидеть, например при последовательной и индексно-последовательной организациях. В этих методах предусматривается упреждающая буферизация и планирование операций ввода-вывода. Кроме того, эти методы обеспечивают автоматическое блокирование и деблокирование записей.
Базисные методы доступа применяются обычно в случаях, когда последовательность обработки записей предвидеть нельзя, в частности при прямом или произвольном доступе. Базисными методами читаются и записываются физические блоки, блокирование и деблокирование, при необходимости, определяет сам пользователь.
Характеристики файлов
Изменчивость - указывает на частоту внесения в файл новых записей и удаление старых. Когда частота мала, файл называют статичным, а когда велика - динамичным или изменчивым файлом.
Активность - определяется процентом записей файла, обрабатываемых в течение данного прогона.
Размер - определяет количество информации, хранящейся в файле.