Составители:
63
одного блока из буфера во внешнюю память. Буфер находится в основ-
ной памяти, и его размер соответствует размеру блока.
При осуществлении чтения из файла указатель считывания указыва-
ет на одну из записей в блоке, который в данный момент находится в
буфере. Когда этот указатель должен переместиться на запись, отсут-
ствующую в буфере, происходит чтение очередного блока из внешней
памяти в буфер.
Аналогично, при осуществлении записи в файл фактически проис-
ходит внесение записей в буфер файла непосредственно за записями,
которые уже находятся там. Если очередная запись не помещается в
буфере, содержимое буфера переносится в свободный блок внешней
памяти, который присоединяется к концу списка блоков данного фай-
ла. После этого буфер становится свободным для помещения в него
очередной порции записей.
Рассматривая операции с файлами, в первом приближении можно
считать, что файлы – это просто совокупности записей, над которыми
можно выполнять операции, которые уже обсуждались выше. Однако
имеются две важные особенности.
Природа устройств внешней памяти такова, что время, необходимое
для поиска блока и чтения его в основную память, достаточно велико в
сравнении со временем, которое требуется для относительно быстрой
обработки данных, содержащихся в этом блоке. Процесс записи блока
из буфера в определенное место внешней памяти занимает примерно
столько же времени.
Оценивая эффективность структур данных и работы алгоритмов, в
которых используются данные, хранящиеся в виде файлов, приходится
в первую очередь учитывать количество обращений к блокам, т. е. сколь-
ко раз производится считывание в основную память или запись блока
во внешнюю память. Предполагается, что размер блока фиксирован в
операционной системе, поэтому нет возможности ускорить работу ал-
горитма, увеличив размер блока и сократив тем самым количество об-
ращений к блокам.
Еще одной особенностью хранения данных во внешней памяти явля-
ется наличие так называемых закрепленных записей. Иногда, напри-
мер, в базах данных, используют указатели на записи, представляющие
собой пару «физический адрес блока – смещение записи в блоке». След-
ствием применения подобных указателей является то, что записи, на
которые имеются эти указатели, нельзя перемещать, поскольку не ис-
Страницы
- « первая
- ‹ предыдущая
- …
- 61
- 62
- 63
- 64
- 65
- …
- следующая ›
- последняя »