Предыдущий раздел | Оглавление | Следующий раздел |
5.3.2.2. Размещение с использованием связанного списка
Вторым методом хранения файлов является представление каждого файла в виде связанного списка дисковых блоков (рис. 5.5). Первое слово каждого блока является указателем на следующий блок, а оставшаяся часть блока используется для хранения данных файла.
Этот метод в отличие от непрерывного размещения использует каждый блок диска. Потерь дискового пространства при этом, которые могли бы вызвать фрагментацию, просто нет, кроме наличия в последнем блоке внутренней фрагментации. Кроме того, запись каталога может хранить дисковый адрес только первого блока, а поиск остальной необходимой информации начинается с данного блока.
Но, если сравнивать скорость чтения файла при использовании данного метода с последовательным чтением файла при их непрерывном размещении, то окажется, что произвольный доступ сильно проигрывает в этом отношении. Операционная система для того, чтобы прочитать блок n, должна прочитать поочередно n − 1 предшествующих блоков, начиная со стартовой позиции. Осуществление такого количества операций чтения, очевидно, будет происходить достаточно продолжительное время.
Объем хранилища данных в блоках не будет кратен степени числа 2, так как несколько байтов выделяется для указателя. Необычный размер также снижает эффективность, так как большинство программ производят операции чтения и записи блоками с кратными степени числа 2 размерами. При копировании файлов также возникают дополнительные издержки, так как чтение конкретного блока использует информацию сразу из двух дисковых блоков (первые несколько байтов каждого блока указывают на следующий блок).
Предыдущий раздел | Оглавление | Следующий раздел |