Некоторые преимущества и недостатки различных алгоритмов раскладки файлов на дисковое пространство:
- Непрерывные файлы. 1 Преимущества: простота (нужно знать всего два числа — номер первого блока и число блоков), высокая производительность (требуется только одна операция поиска, и файл может быть прочитан за одну операцию). 1 Недостатки: диск сильно фрагментируется. 1
- Связные списки. 1 Преимущества: нет потерь дискового пространства на фрагментацию, нужно хранить информацию только о первом блоке. 1 Недостатки: уменьшение быстродействия (для того чтобы получить информацию о всех блоках, надо перебрать все блоки), уменьшение размера блока из-за хранения служебной информации. 1
- Связные списки при помощи таблиц в памяти. 1 Преимущества: работает быстрее, так как таблица загружена в память. 1 Недостатки: всю таблицу нужно хранить в памяти. 1
- i-узлы. 1 Преимущества: быстродействие (имея i-узел, можно получить информацию о всех блоках файла, не надо собирать указатели), меньший объём, занимаемый в памяти (в память нужно загружать только те узлы, файлы которых используются). 1 Недостатки: если каждому файлу выделять фиксированное количество адресов на диске, то со временем этого может не хватить. 1
- Битовый массив. 2 Преимущества: позволяет выделять непрерывные блоки эффективнее, чем списки свободных блоков, но на поиск свободных участков с помощью битовых массивов может потребоваться заметное время. 2 Недостатки: при большом размере блока для извлечения нужной записи требуется меньше операций ввода/вывода, но на внутреннюю фрагментацию расходуется более заметная часть пространства накопителя. 2
Выбор алгоритма зависит от конкретных требований и задач пользователя.