Я строю свой собственный виртуальный файловой системы в С.Как реализовать defragmantation подобный метод в файловой системе
Теперь я хочу, чтобы реализовать какой-то метод defragmantation, где он ищет пробелы и закрывает их.
Так что, если файл 1 является размер 10 и на позиции X и файл 2 размер 20 и на позиции Z, я хочу, чтобы переехал в положение Y.
Моя идея сейчас взять размер файла 2 , вычтите его из размера файла 1 и используйте результат, чтобы сдвинуть файл 2 влево так высоко, как результат.
У меня есть код псевдо, потому что я не могу придумать рабочего раствора:
for (int i = 0; i < files; i++)
//look for inconsistencies/gaps.
if (found gaps)
file 2 - file 1 = x;
shiftfiletotheleft x bytes;
Спасибо за идеи и ответы заранее.
«Как реализовать дефрагментацию для виртуальной файловой системы, которую я изобрел», здесь _way_ выходит за рамки. Попробуйте спросить, как работает дефрагментация. –