VBI wrote:давай ещё подумаем.
проблема не дописывать, это как раз не проблема - вали себе дальше call SAVE512 по 512 байт.
File Operations. Проблема скорее это обновить размер конкретного файла после окончания
SfS wrote:Чтобы "валить дальше по 512 байт" необходимо синхронно продолжать FAT-цепочку.
SfS wrote:Если я правильно (а правильно ли я понял?) понял, то WC все сектора файла прописываюся в FAT при его создании. То есть фактически, при создании файла - сразу резервируются N секторов, которые считаются из его размера. Потом указатель просто бежит сначала файла по уже зарезервированным секторам и записывает их.
SfS wrote:Как надо сделать, чтобы было как в "настоящих" ОС?
1. В момент создания (открытия) файла необходимо запоминать копию его записи в каталоге, сектор каталога и смещение записи о файле от начала этого сектора.
2. Дописывая очередной блок данных, необходимо следить за переходом в следующий сектор и корректировать FAT при записи каждого нового сектора.
Скорость при записи уменьшится. Расход память увеличится. Насколько?
Расход памяти:
- полная копися записи о файле из FAT + указатель записи-чтения из файла.
- информация о текущей записи в FAT (номер последнего занятого файлом сектора и проч).
Скорость:
- при переходе за границу сектора скорректировать FAT-цепочку.
- при закрытии файла - сохранить его длину.
в случае достижения конца цепочки кластеров, аля конца файла - выдается соответствующий статус.
ессно можно продолжать фигачить в файл дальше, тока ничего происходить не буит - проца тупо станет вылетать ничего не делая...
Koshi wrote:ручками из F10 меню можно удалить, в апи не выводил...
Users browsing this forum: No registered users and 0 guests