Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
 |  |  |  |
а все таки... 25.09.02 21:41 Число просмотров: 1063
Автор: kar Статус: Незарегистрированный пользователь
|
> > один кластер отвечает за два сектора на диске.. а в > фате12 > > он занимает 1,5 байта... и это так :) > По смещению 0Dh единица или ноль? > то что 12 бит это 1.5 байта я и не сомневался ;-)
единица
|
<programming>
|
FAT и BPB - разногласие. 25.09.02 20:54
Автор: kar Статус: Незарегистрированный пользователь
|
(BPB - блок параметров биос)
вообщем такая несостыковка:
1.читаю поле BPB_Totsec16 (смещение 13h;BPB) - общее число секторов в разделе - получаю число 2880
2. читаю поле BPB_FATSz16(смещение 16h) - количество секторов занимаемых одной копией FAT12- получаю 9 секторов
3. далее несложные математические вычисления:
если общее число секторов на диске 2880 , значит число кластеров в фате 1440+2. итак 1442 умножаем на 1,5 (так как 1 кластер = 1,5 байт) получим 2163 байта (FAT в байтах)... делим это на 512 и получаем примерно 4 сектора
.. вот такая вот фигня... 4 сектора против 9 ;)
может кто объяснить?
ps. значение всех полей верны - ручаюсь
|
 |
а почему ты считаешь что в fat12 кластер не = 512 байт 25.09.02 21:05
Автор: Cyril <sc> Статус: Member
|
|
 |  |
а почему ты считаешь что в fat12 кластер не = 512 байт 25.09.02 21:11
Автор: kar Статус: Незарегистрированный пользователь
|
один кластер отвечает за два сектора на диске.. а в фате12 он занимает 1,5 байта... и это так :)
|
 |  |  |
а все таки... 25.09.02 21:33
Автор: Cyril <sc> Статус: Member
|
> один кластер отвечает за два сектора на диске.. а в фате12 > он занимает 1,5 байта... и это так :) По смещению 0Dh единица или ноль?
то что 12 бит это 1.5 байта я и не сомневался ;-)
|
 |  |  |  |
а все таки... 25.09.02 21:41
Автор: kar Статус: Незарегистрированный пользователь
|
> > один кластер отвечает за два сектора на диске.. а в > фате12 > > он занимает 1,5 байта... и это так :) > По смещению 0Dh единица или ноль? > то что 12 бит это 1.5 байта я и не сомневался ;-)
единица
|
 |  |  |  |  |
да, что-то я тоже в непонятках 26.09.02 12:30
Автор: Cyril <sc> Статус: Member
|
> > > один кластер отвечает за два сектора на диске.. а > в > > фате12 > > > он занимает 1,5 байта... и это так :) > > По смещению 0Dh единица или ноль? > > то что 12 бит это 1.5 байта я и не сомневался ;-) > > единица осталось выяснить сколько байтов в секторе(смещение 0x0B), если и там 512, то я сдаюсь и больше глупых вопросов задавать не буду
P.S. А что показывает какой-нибудь редактор дисков, может попробовать
сравнить ???
|
 |  |  |  |  |  |
что тут непонятного ? 26.09.02 19:52
Автор: :-) <:-)> Статус: Elderman
|
По смещению 0Dh находится поле ClustSize (размер кластера в секторах).
Если там 1 - то соответственно 1 кластер = 1 сектор = 512 байт.
Судя по параметрам (Totsecs = 2880, FATSize = 9, FAT12) - это стандартный флоппик 3.5" 1.44 Мб.
|
 |  |  |  |  |  |  |
..допустим 26.09.02 20:11
Автор: kar Статус: Незарегистрированный пользователь
|
> По смещению 0Dh находится поле ClustSize (размер кластера > в секторах). > Если там 1 - то соответственно 1 кластер = 1 сектор = 512 > байт. > Судя по параметрам (Totsecs = 2880, FATSize = 9, FAT12) - > это стандартный флоппик 3.5" 1.44 Мб. хм.. возможно так... тогда появляются следующие вопросы:
1. почему когда я читаю 2й сектор 0й дорожки (0й головки).. я не обнаруживаю сигнатуру фата (FF8)
2. почему когда я читаю 20й сектор (то есть 2й сектор 1й дорожки 0головки)... я не обнаруживаю данные корневого каталога - вижу лишь данные файлов...
|
 |  |  |  |  |  |  |  |
..допустим 26.09.02 22:45
Автор: :-) <:-)> Статус: Elderman
|
> хм.. возможно так... тогда появляются следующие вопросы: > 1. почему когда я читаю 2й сектор 0й дорожки (0й головки).. > я не обнаруживаю сигнатуру фата (FF8)
Думаю потому что твой флоп - не жесткий диск :)
Первый байт в FAT - это Media_Id, который совпадает со своим тезкой в BPB.
F8 - жесткий диск
F0 - флоп 1.44
Второй байт всегда = 0xFF.
> 2. почему когда я читаю 20й сектор (то есть 2й сектор 1й > дорожки 0головки)... я не обнаруживаю данные корневого > каталога - вижу лишь данные файлов...
Данные идут сначала по головкам, затем по дорожкам.
20-й сектор - это 0/1/2 CHS (Cyl/Head/Sec)
RTFM по организации диска!
|
|
|