Язык SQL

Замечание о фрагментации дисковых файлов


Страницы файла, представленного в 11.3, разбросаны по диску. Первые три страницы ■можно прочитать очень быстро, поскольку они расположены на одном цилиндре. Однако чтение четвертой страницы потребует значительно больше времени. Такой файл считается фрашекти- рованным, так как его части разбросаны по дисководу. Каждая операционная система содержит программные средства дефрагментации, которые могут преобразовать физическую схему расположения файлое так, чтобы страницы файла находились поблизости друг от друга. Эти программы также помещают вместе свободные страницы диска Работа программы дефрагментации улучшает последовательный доступ к файлам. .Ь.- ‘ – ; », т .г-.

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

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

Комментарии закрыты