создание модели fat16 - PullRequest
       15

создание модели fat16

3 голосов
/ 14 декабря 2011

Я пытаюсь создать файловую систему Model FAT16 в файле с возможностью создавать, просматривать, удалять и копировать файлы и каталоги, но я новичок в программировании любого, у кого есть идеи о том, как я могу это сделать? как это ниже

type
  TFileRec = Packed Record
    ID: WORD; //id of item
    ParID: WORD; //parent id
    Name: String[8]; //name of item
    Ext: String[3]; //extension if any (type)
    Att: BYTE; //attributes (access modifiers, type, etc)
  end;

var
  FAT16: File of TFileRec;
  ItemCount: Integer;

Ответы [ 2 ]

2 голосов
/ 14 декабря 2011

Я предлагаю сделать так, чтобы настроить реализацию FAT 16 для использования файла в качестве носителя жесткого диска. Интерфейс файловой системы FAT к жесткому диску - это команды системного уровня, такие как read_sectors и write_sectors, которые читают / записывают кратные буферы 512B на определенные адреса LBA. В вашем случае вы можете заменить вызовы для чтения секторов и записи функций секторов фактическими записями чтения в файл.

Таким образом, изменяя эти две функции, вы заменяете доступ к носителю на доступ к файлу.

Если быть точным, то существует жесткий системный вызов на жесткий диск, который возвращает размер носителя, который здесь должен быть заменен максимальным размером файла, который предполагается выступать в качестве носителя.

Облегченную реализацию FAT можно найти по адресу здесь

2 голосов
/ 14 декабря 2011

Посмотрите на Реализация составного файла пользователем SO Primoz Gabrijelcic. Это не FAT16, но очень близко к тому, что вы ищете.

...