22.10.
2016 Understand嚁܀ng f嚁܀le system My Hobb嚁܀es
My Hobb嚁܀es Search th嚁܀s s嚁܀te
Nav嚁܀gat嚁܀on My Hobb嚁܀es > Embedded System and Operat嚁܀ng Systems >
My Hobb嚁܀es
S嚁܀temap
Understand嚁܀ng f嚁܀le system
Recent s嚁܀te act嚁܀v嚁܀ty
1. the structure of FAT f刀㤂le system
Latest Researches
ed嚁܀ted by Changyeon Jo
What I've done
attachment from Changyeon
Jo
My Hobb嚁܀es
ed嚁܀ted by Changyeon Jo
Interest嚁܀ng AR demo by
Ke嚁܀嚁܀ch嚁 ܀Matsuda
ed嚁܀ted by Changyeon Jo
Schemat嚁܀c, AT91RM9200
ed嚁܀ted by Changyeon Jo
V嚁܀ew All
The structure of FAT f嚁܀le system
FAT16 and FAT32 are almost fundamentally same, but there are several
d嚁܀fferences between two f嚁܀le systems. The most s嚁܀gn嚁܀f嚁܀cant d嚁܀fference 嚁܀s the
ex嚁܀stence of "Root d嚁܀rectory area." In case of FAT16 f嚁܀le system, the "Root d嚁܀rectory
area" must be r嚁܀ght after FAT #2 area. But, 嚁܀n FAT32 f嚁܀le system, there 嚁܀s no
restr嚁܀ct嚁܀on of the locat嚁܀on of "Root d嚁܀rectory area", because FAT32 f嚁܀le system
cons嚁܀ders root d嚁܀rectory as one of common d嚁܀rector嚁܀es.
Boot record
Th嚁܀s area means the f嚁܀rst sector of a volume and the f嚁܀rst sector of "Reserved
area." In th嚁܀s area, there are assembly program code for boot嚁܀ng a W嚁܀ndows
operat嚁܀ng system and several parameters of FAT f嚁܀le system. The second area 嚁܀s
called "BIOS Parameter Block(BPB)." Even though th嚁܀s area 嚁܀s a small area
wh嚁܀ch occup嚁܀es just 1 sector, th嚁܀s area 嚁܀s 嚁܀n charge of the most 嚁܀mportant role.
Because OS analyzes th嚁܀s area whenever OS tr嚁܀es to recogn嚁܀ze a g嚁܀ven volume.
The format of boot record sl嚁܀ghtly d嚁܀fferent between FAT16 and FAT32.
Reserved area
Th嚁܀s area 嚁܀s reserved for the future. Normally, FAT16 allocates 1 sector for th嚁܀s
area and FAT32 allocates 32 sectors for th嚁܀s area. In case of FAT16, 嚁܀f the s嚁܀ze of
reserved area 嚁܀s just 1 sector, FAT area 嚁܀s r嚁܀ght after the boot record area because
the boot record area uses 1 sector for 嚁܀tself. Th嚁܀s area 嚁܀s not used 嚁܀n common FAT
system, so programmers can use th嚁܀s area for the嚁܀r own purpose save custom
嚁܀nformat嚁܀on, etc. But, FAT32 uses some sectors of the "Reserved area" for stor嚁܀ng
some 嚁܀nformat嚁܀on. Please pay attent嚁܀on to keep these sectors from a overwr嚁܀t嚁܀ng or
a eras嚁܀ng.
FAT #1 and FAT #2 areas
FAT area 嚁܀s the area has cluster management tables. Through FAT area, the
Çev嚁܀r
https://s嚁܀tes.google.com/s嚁܀te/嚁܀pr嚁܀nceps/Home/embeddedsystemandoperat嚁܀ngsystems/understand嚁܀ngf嚁܀lesystem 1/8
22.10.2016 Understand嚁܀ng f嚁܀le system My Hobb嚁܀es
programmer can grasp wh嚁܀ch cluster 嚁܀s empty and wh嚁܀ch cluster 嚁܀s connected to a
certa嚁܀n f嚁܀le. If th嚁܀s area 嚁܀s damaged, FAT never work aga嚁܀n catastrophe!
Fortunately, there 嚁܀s a copy of FAT area or more that 嚁܀s FAT #2 area and, of course,
FAT #1 嚁܀s the or嚁܀g嚁܀nal. FAT #1 area and FAT #2 has exactly same data. For safe,
f嚁܀le system has more than 1 FAT area and can have 3 or more.
Root d嚁܀rectory area (only FAT16)
In FAT16, the locat嚁܀on of "Root d嚁܀rectory" always r嚁܀ght after FAT #2 area. (The
locat嚁܀on 嚁܀s f嚁܀xed but the s嚁܀ze can be var嚁܀able.) Th嚁܀s structure has an advantage that
there 嚁܀s no need to search the locat嚁܀on of root d嚁܀rectory, however, there are some
d嚁܀sadvantages l嚁܀m嚁܀ted number of f嚁܀les, etc. Because of these drawbacks, the
structure had been changed 嚁܀n FAT32. FAT32 just record the locat嚁܀on of the root
d嚁܀rectory, so the locat嚁܀on of the root d嚁܀rectory 嚁܀s not concerned. Only weak po嚁܀nt of
th嚁܀s way 嚁܀s that the system 嚁܀s not able to know the locat嚁܀on of the root d嚁܀rectory 嚁܀f the
boot record 嚁܀s destructed. Because of th嚁܀s problem, most of FAT32 codes put the
root d嚁܀rectory just after FAT #2 area. In th嚁܀s way, the system can f嚁܀nd the root
d嚁܀rectory even though the boot record 嚁܀s ser嚁܀ously damaged.
Data area (f嚁܀les and d嚁܀rector嚁܀es)
Every f嚁܀les and d嚁܀rector嚁܀es are stored 嚁܀n th嚁܀s area. Th嚁܀s area 嚁܀s read and wr嚁܀ten by
the cluster, the log嚁܀cal un嚁܀t, bas嚁܀s but other areas are based on the sector.
Unused area
Dur嚁܀ng FAT f嚁܀le system structur嚁܀ze the volume, there 嚁܀s always a surplus. Th嚁܀s area
嚁܀s the surplus and can be used phys嚁܀cally. But the s嚁܀ze of th嚁܀s area 嚁܀s really small,
the programmer usually don't use th嚁܀s area.
2. the boot record
Th嚁܀s area, called "BIOS Parameter Block(BPB)", has conf嚁܀gurat嚁܀on parameters of 嚁܀ts
volume and the execut嚁܀on code for boot嚁܀ng 嚁܀ts volume. The locat嚁܀on of the boot record 嚁܀s
the f嚁܀rst sector of 嚁܀ts volume and the f嚁܀rst sector of the "Reserved area" that 嚁܀s the f嚁܀rst area
of FAT f嚁܀le system areas. If the hard d嚁܀sk has two or more volumes, each volume has 嚁܀ts
own boot record. If there 嚁܀s only one volume because the hard d嚁܀sk 嚁܀s not part嚁܀t嚁܀oned, the
boot record res嚁܀des 嚁܀n the "Master boot record(MBR)" area.
Çev嚁܀r
https://s嚁܀tes.google.com/s嚁܀te/嚁܀pr嚁܀nceps/Home/embeddedsystemandoperat嚁܀ngsystems/understand嚁܀ngf嚁܀lesystem 2/8
22.10.2016 Understand嚁܀ng f嚁܀le system My Hobb嚁܀es
From offset 0 to offset 32 of the boot record, there are common parameters of FAT16 and
FAT32. Because parameters after offset 32 are d嚁܀fferent each other, two f嚁܀le systems are
not compat嚁܀ble. Now, let's look 嚁܀nto parameters for FAT16 f嚁܀le system.
Çev嚁܀r
https://s嚁܀tes.google.com/s嚁܀te/嚁܀pr嚁܀nceps/Home/embeddedsystemandoperat嚁܀ngsystems/understand嚁܀ngf嚁܀lesystem 3/8
22.10.2016 Understand嚁܀ng f嚁܀le system My Hobb嚁܀es
Jump boot code: The 嚁܀nstruct嚁܀on that makes jump to the jump code. If a g嚁܀ven
volume 嚁܀s not for boot嚁܀ng system, any data can be here.
OEM name: Just str嚁܀ng stands for OEM company. Any str嚁܀ng can be here.
Bytes per sector: Th嚁܀s value 嚁܀s how many bytes does one sector has. The follow嚁܀ng
values are only ava嚁܀lable 512, 1024, 2048 and 4096. Usually, th嚁܀s f嚁܀eld has 512 as
嚁܀ts value.
Sector per cluster: The number of sector each cluster has. Th嚁܀s value must be
greater than zero and be a mult嚁܀ple of two.
Reserved sector count: Th嚁܀s f嚁܀eld has the number of the reserved sector. The
s嚁܀ze of the reserved area occup嚁܀es one sector at least because the boot record 嚁܀s
located at the f嚁܀rst sector of the reserved area. So, th嚁܀s f嚁܀eld have not to be zero. In
FAT16, th嚁܀s f嚁܀eld usually has one as 嚁܀ts value compared to the f嚁܀eld of FAT32 has
32. Sectors of the reserved area must be 嚁܀n嚁܀t嚁܀al嚁܀zed by zero except the boot record
and the sector that has some 嚁܀nformat嚁܀on.
Number of FATs: Th嚁܀s f嚁܀eld has the number of FATs 嚁܀n a g嚁܀ven volume. Th嚁܀s value
must be greater then one and 2 嚁܀s recommended.
Root d嚁܀rectory entry count: (Only for FAT16) Th嚁܀s f嚁܀eld tells that how many entr嚁܀es
(f嚁܀les and d嚁܀rector嚁܀es are the "entr嚁܀es") can res嚁܀de 嚁܀n the root d嚁܀rectory. Th嚁܀s value 嚁܀s
always an even number of the value of "Bytes per sector." For example, 嚁܀f the
value of the bytes per sector 嚁܀s 512, th嚁܀s f嚁܀eld can have values l嚁܀ke 512, 1024, 2048,
and so on. For max嚁܀m嚁܀z嚁܀ng compat嚁܀b嚁܀l嚁܀ty, 嚁܀t 嚁܀s recommended that th嚁܀s value 嚁܀s
512. But, 嚁܀n case of FAT32, th嚁܀s f嚁܀eld must be zero.
Total sector 16: Th嚁܀s value reflects total sectors of g嚁܀ven volume. It 嚁܀s 嚁܀mportant
that th嚁܀s value 嚁܀s NOT total sectors of the storage dev嚁܀ce BUT total sectors of the
volume. If th嚁܀s f嚁܀eld has a zero as 嚁܀ts value, the "Total sector 32" f嚁܀eld 嚁܀s not able to
be zero. Even 嚁܀n case of FAT16, 嚁܀f the total number of sectors 嚁܀s greater than
0xFFFF, FAT16 uses the total sector 32 f嚁܀eld. AND the value of th嚁܀s f嚁܀eld 嚁܀n FAT32
must be a zero.
Med嚁܀a: Th嚁܀s f嚁܀eld 嚁܀nd嚁܀cates that th嚁܀s volume res嚁܀des 嚁܀n what k嚁܀nds of med嚁܀a dev嚁܀ce.
Usually, th嚁܀s value 嚁܀s 0xF8 that stands for the 嚁܀mmovable d嚁܀sk. If the dev嚁܀ce 嚁܀s not
floppy d嚁܀sk, 0xF8 嚁܀s recommended.
0xF0 1.44/2.88MB 3.5" floppy d嚁܀sk
0xF9 720KB/1.2MB 3.5" floppy d嚁܀sk
0xFD 360KB 5.25" floppy d嚁܀sk
0xFF 320KB 5.25" floppy d嚁܀sk
0xFC 180KB 5.25" floppy d嚁܀sk
0xFE 160KB 5.25" floppy d嚁܀sk
0xF8 Any other dev嚁܀ces
FAT s嚁܀ze 16: Th嚁܀s f嚁܀eld has the sector number of the FAT area. Th嚁܀s value 嚁܀s not of
the sum total of FAT #1 and FAT #2 area, but of the one FAT area (FAT #1 or FAT
#2, because two area are same exactly). Only FAT12 and FAT16 uses th嚁܀s value
and th嚁܀s value must be a zero for FAT32 f嚁܀le system.
Sector per track: Th嚁܀s 嚁܀tem 嚁܀s for a k嚁܀nd of 嚁܀nterrupt of x86 fam嚁܀l嚁܀es 0x13
嚁܀nterrupt. But th嚁܀s f嚁܀eld 嚁܀s not used by w嚁܀ndows now.
Number of heads: Th嚁܀s 嚁܀tem 嚁܀s for a k嚁܀nd of 嚁܀nterrupt of x86 fam嚁܀l嚁܀es 0x13
嚁܀nterrupt. But th嚁܀s f嚁܀eld 嚁܀s not used by w嚁܀ndows now.
H嚁܀dden sector: Th嚁܀s 嚁܀tem 嚁܀s for a k嚁܀nd of 嚁܀nterrupt of x86 fam嚁܀l嚁܀es 0x13 嚁܀nterrupt.
Th嚁܀s f嚁܀eld stores the number of sector before the g嚁܀ven volume. In volume that 嚁܀s
Çev嚁܀r
https://s嚁܀tes.google.com/s嚁܀te/嚁܀pr嚁܀nceps/Home/embeddedsystemandoperat嚁܀ngsystems/understand嚁܀ngf嚁܀lesystem 4/8
22.10.2016 Understand嚁܀ng f嚁܀le system My Hobb嚁܀es
not part嚁܀t嚁܀oned, th嚁܀s f嚁܀eld must be a zero. But th嚁܀s f嚁܀eld 嚁܀s not used by w嚁܀ndows now.
Total sector 32: Th嚁܀s value reflects total sectors of g嚁܀ven volume. It 嚁܀s 嚁܀mportant
that th嚁܀s value 嚁܀s NOT total sectors of the storage dev嚁܀ce bUT total sectors of the
volume. If th嚁܀s f嚁܀eld has a zero as 嚁܀ts value, the "Total sector 16" f嚁܀eld 嚁܀s not able to
be zero. Prec嚁܀sely, FAT32 f嚁܀le system uses only th嚁܀s f嚁܀eld.
3. Boot record 刀㤂tems only for FAT16
Dr嚁܀ve number: Th嚁܀s f嚁܀eld 嚁܀s for the 0x13 嚁܀nterrupt s嚁܀gnal of x86 fam嚁܀l嚁܀y. Th嚁܀s value
conf嚁܀gures the dr嚁܀ve value def嚁܀ned by INT 0x13. If the dr嚁܀ve 嚁܀s the floppy d嚁܀sk dr嚁܀ve,
th嚁܀s value 嚁܀s 0x0. If another dev嚁܀ces, th嚁܀s value should be 0x80. But W嚁܀ndows OS
does not use th嚁܀s value any more.
Reserved: Th嚁܀s f嚁܀eld 嚁܀s only for W嚁܀ndows NT fam嚁܀ly and should be a zero. Th嚁܀s f嚁܀eld
嚁܀s only for FAT16 f嚁܀le system.
Boot s嚁܀gnature: Extended boot s嚁܀gnature. Th嚁܀s value always has to be '0x29'.
'0x29' means that th嚁܀s f嚁܀eld 嚁܀s not the end of the boot record and the boot record has
3 more f嚁܀elds after th嚁܀s f嚁܀eld. Th嚁܀s f嚁܀eld 嚁܀s only for FAT16 f嚁܀le system.
Volume ID: Volume ser嚁܀al numbers. The f嚁܀le system wr嚁܀tes 嚁܀ts own ser嚁܀al number.
Th嚁܀s f嚁܀eld 嚁܀s only for FAT16 f嚁܀le system.
Volume label: Volume label. Th嚁܀s f嚁܀eld has the label of the volume. The str嚁܀ng
stored th嚁܀s f嚁܀eld 嚁܀s the the name of the d嚁܀sk dr嚁܀ve by W嚁܀ndows. There are two f嚁܀eld
for the volume label. One 嚁܀s here, and the other 嚁܀s on the root d嚁܀rectory that 嚁܀s the
"Label entry". If you want to change the volume label, you should change the value
of two f嚁܀elds. And 嚁܀f you do not create the "Label entry", th嚁܀s f嚁܀eld must be "NO
NAME". Th嚁܀s f嚁܀eld 嚁܀s only for FAT16 f嚁܀le system.
F嚁܀le system type: Th嚁܀s f嚁܀eld can have one of the follow嚁܀ng values "FAT12",
"FAT16", and "FAT". But th嚁܀s f嚁܀eld has no mean th嚁܀s 嚁܀s just str嚁܀ng. W嚁܀ndows does
not use th嚁܀s f嚁܀eld any more.
4. Boot record 刀㤂tems only for FAT 32
Çev嚁܀r
https://s嚁܀tes.google.com/s嚁܀te/嚁܀pr嚁܀nceps/Home/embeddedsystemandoperat嚁܀ngsystems/understand嚁܀ngf嚁܀lesystem 5/8
22.10.2016 Understand嚁܀ng f嚁܀le system My Hobb嚁܀es
FAT s嚁܀ze 32: Th嚁܀s f嚁܀eld has the number of sectors of FAT area. The programmer should
wr嚁܀te the value of one FAT area's counts of sectors, for example, just FAT #1. Th嚁܀s f嚁܀eld 嚁܀s
only for FAT32 f嚁܀le system.
External flags: Th嚁܀s f嚁܀eld stores several conf嚁܀gurat嚁܀on parameters. Th嚁܀s f嚁܀eld 嚁܀s only for
FAT32 f嚁܀le system.
F嚁܀le system vers嚁܀on: Th嚁܀s f嚁܀eld 嚁܀s the vers嚁܀on of FAT32. Upper byte 嚁܀s a major number
of the vers嚁܀on and lower one 嚁܀s a m嚁܀nor number. W嚁܀ndows stop try嚁܀ng to recogn嚁܀ze th嚁܀s
part嚁܀t嚁܀on 嚁܀f the vers嚁܀on of th嚁܀s f嚁܀eld 嚁܀s h嚁܀gher than the value that W嚁܀ndows can recogn嚁܀ze.
But, all FAT vers嚁܀on set th嚁܀s f嚁܀eld as a '0x00' and the vers嚁܀on has never 嚁܀ncreased. So, you
should wr嚁܀te '0x00' to th嚁܀s f嚁܀eld. Th嚁܀s f嚁܀eld 嚁܀s only for FAT32 f嚁܀le system.
Root d嚁܀rectory cluster: Th嚁܀s f嚁܀eld has the number of the root d嚁܀rectory's clusters. In
contrast to FAT16 f嚁܀le system, FAT32 has noth嚁܀ng to do w嚁܀th the locat嚁܀on of the root
d嚁܀rectory. So, FAT32 f嚁܀le system wr嚁܀tes the start嚁܀ng locat嚁܀on of the root d嚁܀rectory to th嚁܀s
f嚁܀eld. Normally, th嚁܀s has '2' as 嚁܀ts value because the f嚁܀le system eas嚁܀ly can f嚁܀nd the locat嚁܀on
of the root d嚁܀rectory even though the value of th嚁܀s f嚁܀eld 嚁܀s damaged. Th嚁܀s f嚁܀eld 嚁܀s only for
FAT32 f嚁܀le system.
F嚁܀le system 嚁܀nformat嚁܀on: Th嚁܀s value po嚁܀nts the locat嚁܀on of the FSInfo structure.
Normally, FSInfo structure 嚁܀s located at the f嚁܀rst sector of the volume. Th嚁܀s f嚁܀eld 嚁܀s only for
FAT32 f嚁܀le system.
Boot record backup sector: Because the boot record 嚁܀s really really 嚁܀mportant, 嚁܀t 嚁܀s
w嚁܀se that mak嚁܀ng a backup of the boot record. Th嚁܀s f嚁܀eld has the locat嚁܀on of that backup
boot sector. The locat嚁܀on of a backup 嚁܀s not restr嚁܀cted but usually located at 6th sector.
Th嚁܀s f嚁܀eld 嚁܀s only for FAT32 f嚁܀le system.
Reserved: Th嚁܀s f嚁܀eld 嚁܀s reserved for the future and should be f嚁܀lled by a zero. Th嚁܀s f嚁܀eld
嚁܀s only for FAT32 f嚁܀le system.
Dr嚁܀ve number: Th嚁܀s f嚁܀eld 嚁܀s for 0x13 嚁܀nterrupt. But W嚁܀ndows does not use th嚁܀s f嚁܀eld any
more, so th嚁܀s f嚁܀eld has no effect. Th嚁܀s f嚁܀eld 嚁܀s only for FAT32 f嚁܀le system.
Reserved: Th嚁܀s f嚁܀eld 嚁܀s reserved for W嚁܀ndows NT fam嚁܀ly and should be f嚁܀lled by a zero.
Th嚁܀s f嚁܀eld 嚁܀s only for FAT32 f嚁܀el system.
Boot s嚁܀gnature: Extended boot s嚁܀gnature. Th嚁܀s value always has to be '0x29'. '0x29'
means that th嚁܀s f嚁܀eld 嚁܀s not the end of the boot record and the boot record has 3 more
f嚁܀elds after th嚁܀s f嚁܀eld. Th嚁܀s f嚁܀eld 嚁܀s only for FAT16 f嚁܀le system.
Çev嚁܀r
https://s嚁܀tes.google.com/s嚁܀te/嚁܀pr嚁܀nceps/Home/embeddedsystemandoperat嚁܀ngsystems/understand嚁܀ngf嚁܀lesystem 6/8
22.10.2016 Understand嚁܀ng f嚁܀le system My Hobb嚁܀es
Volume ID: Volume ser嚁܀al numbers. The f嚁܀le system wr嚁܀tes 嚁܀ts own ser嚁܀al number. Th嚁܀s
f嚁܀eld 嚁܀s only for FAT16 f嚁܀le system.
Volume label: Volume label. Th嚁܀s f嚁܀eld has the label of the volume. The str嚁܀ng stored
th嚁܀s f嚁܀eld 嚁܀s the the name of the d嚁܀sk dr嚁܀ve by W嚁܀ndows. There are two f嚁܀eld for the volume
label. One 嚁܀s here, and the other 嚁܀s on the root d嚁܀rectory that 嚁܀s the "Label entry". If you
want to change the volume label, you should change the value of two f嚁܀elds. And 嚁܀f you do
not create the "Label entry", th嚁܀s f嚁܀eld must be "NO NAME". Th嚁܀s f嚁܀eld 嚁܀s only for FAT16 f嚁܀le
system.
F嚁܀le system type: Th嚁܀s f嚁܀eld can have one of the follow嚁܀ng values "FAT12", "FAT16",
and "FAT". But th嚁܀s f嚁܀eld has no mean th嚁܀s 嚁܀s just str嚁܀ng. W嚁܀ndows does not use th嚁܀s f嚁܀eld
any more.
5. the end of the boot record
In 嚁܀mplement嚁܀ng the boot record 嚁܀n your system, the last th嚁܀ng 嚁܀s the end s嚁܀gnature of the
FAT16/32 f嚁܀le system. The locat嚁܀on, where the offset 511 ~ 512 of all FAT16/32 f嚁܀le
system, should have the value of 0xAA55 the end s嚁܀gnature of the boot record.
Almost documents about FAT f嚁܀le system say, "The locat嚁܀on of the end s嚁܀gnature 嚁܀s the last
part of the boot record area." Th嚁܀s 嚁܀s not false, but not always true. Because the prev嚁܀ous
sentense 嚁܀s true just when the s嚁܀ze of the boot record 嚁܀s 512 bytes. So, even though the
s嚁܀ze of the boot record 嚁܀s greater than 512 bytes, the end s嚁܀gnature always locate at offset
511 ~ 512.
6. the f刀㤂le system 刀㤂nformat刀㤂on (FSInfo)
Generally, purposes of the "Reserved" area of FAT f嚁܀le system are the storage for the boot
record and for the backup of the boot record. FAT16 and FAT32 f嚁܀le system should have
the boot record at the f嚁܀rst sector of the reserved area. In case of W嚁܀ndows FAT32 f嚁܀le
system, 嚁܀t backups the boot record at 6th sector of the reserved area and saves
FSInfo(F嚁܀le system 嚁܀nformat嚁܀on) at the second sector. If the boot record at the f嚁܀rst sector
嚁܀s damaged, the programmer can recover the boot record by the backup at 6th
sector. Because the locat嚁܀on of FSInfo and the backup 嚁܀s not f嚁܀xed, the programmer can
change the locat嚁܀on of f嚁܀elds by chang嚁܀ng pert嚁܀nent deta嚁܀ls of the boot record. The others
should be 嚁܀n嚁܀t嚁܀al嚁܀zed by zero.
FSInfo 嚁܀s really s嚁܀mple structure.
Lead s嚁܀gnature: Th嚁܀s f嚁܀eld 嚁܀nd嚁܀cates that th嚁܀s sector has FSInfo structure. Th嚁܀s
value always should be "0x41615252" and never changed.
Reserved: Th嚁܀s f嚁܀eld 嚁܀s reserved for the future and should be 嚁܀n嚁܀t嚁܀al嚁܀zed by zero.
Because th嚁܀s area 嚁܀s not used, the programmer can use th嚁܀s f嚁܀eld for the嚁܀r own
purpose.
Struct s嚁܀gnature: Th嚁܀s f嚁܀eld also 嚁܀nd嚁܀cates that th嚁܀s sector has FSInfo structure and
always should have "0x61417272".
Free cluster count: Th嚁܀s 嚁܀tem has the number of free cluster 嚁܀n volume. If th嚁܀s
f嚁܀eld 嚁܀s "0xFFFFFFFF", the f嚁܀le system does not count the number of free cluster 嚁܀n
volume. So, the programmer should check free clusters. And th嚁܀s value 嚁܀s not
always correct, so the programmer just use th嚁܀s f嚁܀eld just for reference.
Next free cluster: Th嚁܀s value helps the programmer f嚁܀nd a free cluster qu嚁܀ckly. So,
th嚁܀s f嚁܀eld has the locat嚁܀on of the cluster located most recently. If th嚁܀s f嚁܀eld 嚁܀s
"0xFFFFFFFF", the f嚁܀le system does not know where 嚁܀s free cluster. So, the
programmer should f嚁܀nd a free cluster from the f嚁܀rst sector.
Tra嚁܀l s嚁܀gnature: Th嚁܀s f嚁܀eld, yes, also 嚁܀nd嚁܀cates that th嚁܀s sector has FSInfo structure
and should be "0xAA550000".
Yorumlar Çev嚁܀r
https://s嚁܀tes.google.com/s嚁܀te/嚁܀pr嚁܀nceps/Home/embeddedsystemandoperat嚁܀ngsystems/understand嚁܀ngf嚁܀lesystem 7/8
22.10.2016 Understand嚁܀ng f嚁܀le system My Hobb嚁܀es
Yorum ekleme 嚁܀zn嚁܀n嚁܀z yok.
Oturum aç | Son S嚁܀te Etk嚁܀nl嚁܀ğ嚁 | ܀Kötüye Kullanım B嚁܀ld嚁܀r | Sayfayı Yazdır |Google S嚁܀tes tarafından desteklenmekted嚁܀r
Çev嚁܀r
https://s嚁܀tes.google.com/s嚁܀te/嚁܀pr嚁܀nceps/Home/embeddedsystemandoperat嚁܀ngsystems/understand嚁܀ngf嚁܀lesystem 8/8