adsl club

Справочник

Форум

Программы

Фильмы

Ресурсы

Файлообмен

Хостинг

Ростелеком
Вопрос по файловой таблице FAT
Ответить на тему    Форум АДСЛ КлубаЦИФРОВОЙ ФЛЕЙМ :)ПРОГРАММИРОВАНИЕ
Автор Сообщение
zedes
Форумчанин
СообщениеДобавлено: Сб 5-03-11 : 20-22    Заголовок сообщения: Вопрос по файловой таблице FAT Ответить с цитатой

Уважаемые программеры, кто мне сможет ответить конкретно на следующие вопросы:

И так берем карту CD, форматируем в FAT, записываем на нее три файла,
далее делаем образ этой карты.

Вот мои три файла: risun1.gif Корневой каталог диска.
Давайте разберем первый файл:stroka.txt
По смешению 0x5C21F:0x5C21E:0x5C21D:0x5C21C - его размер в байтах, который равен 1200 байт, который занимает /512 = 3 кластера.

Следующий рисунок: risun2.gif. Начало таблицы Fat.
И так Первые 4 байта - подпись, F8 FF FF FF, далее по идее должно быть номера следующих кластеров, но их нет одни FF, что за хрень?
И где еще два файла?
И опять если файл дробится, то есть последовательно не записан, где тогда это записано?

Может посоветуете какую нибудь книжку хорошую по этому поводу?



risun2.gif
 Описание:  
 Размер файла:  3.95 KB
 Просмотрено:  3141 раз(а)

risun2.gif


risun1.gif
 Описание:  
 Размер файла:  4.56 KB
 Просмотрено:  3141 раз(а)

risun1.gif

 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
sog
Гуру
СообщениеДобавлено: Сб 5-03-11 : 20-43    Заголовок сообщения: Ответить с цитатой

существуют программы, которые показывают дампы в удобном для прочтения человеком виде
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение Посетить сайт автора   Номер ICQ
zedes
Форумчанин
СообщениеДобавлено: Сб 5-03-11 : 21-45    Заголовок сообщения: Ответить с цитатой

Какие программы, к примеру хотя бы одну? WinHex не предлагать.

Мне нужно как записываются файлы?
К примеру: начало таблицы (данных, файлов) FAT начинается со второго кластера. Тогда первые два кластера 0 1 отведены под так называемую таблицу размещения (разбиения) этих файлов.
При записи файла, файл пишется на первый свободный кластер (к примеру 2 кластер), далее ищется опять свободный кластер к примеру 5, и так далее. Все это должно быть отражено в начале таблицы FAT, то есть в первых двух кластерах.
Если я ручками делаю, то есть по смещению 0x0001F604 0x0001F605 и далее (03 00 04 00) для первого файла.
То все работает. Но ведь диск и без этих цифр работает.

Так все таки кто расскажет в чем причина? В чем нюанс?
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
zedes
Форумчанин
СообщениеДобавлено: Вс 6-03-11 : 16-07    Заголовок сообщения: Ответить с цитатой

Спасибо все за оказанное содействие.

Ларчик просто открывался: оказывается размер кластера напрямую зависит от размера диска, к примеру для 1Гбайтного - 16кБайт.
Далее каждый кластер разделен на сектора по 512 байт, в моем случае 32 сектора на кластер, то есть 32*512=16384 Байта.
Далее если файл более 16кБайт то файл занимает более одного кластера, и вот только в этом случае происходит запись информации о кластерах в начало таблицы fat.
Где то так.

Тема закрыта.
Всем еще раз спасибо за помощь.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
Показать сообщения:   
Ответить на тему    Форум АДСЛ КлубаЦИФРОВОЙ ФЛЕЙМ :)ПРОГРАММИРОВАНИЕ Часовой пояс: GMT + 7
Страница 1 из 1

 

 
Аватары: Вкл|Выкл   ЮзерИнфо: Вкл|Выкл   Подписи: Вкл|Выкл
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы можете скачивать файлы