0% found this document useful (0 votes)
54 views11 pages

Lecture # 38: System Programming Course Code: CS609 Cs609@vu - Edu.pk

The document discusses the file organization and structure of a FAT32 file system. It provides details on: 1) How the chain of clusters is maintained in FAT32 using the File Allocation Table (FAT) and how each FAT entry is 32-bits with only the lower 28-bits used. 2) The anatomy of a FAT32 system, including that there is no fixed space reserved for the root directory and FCB of root directory is saved in a cluster. 3) The formula used to translate a cluster number to a logical sector number (LSN) which involves adding the reserved sectors, FAT size, and cluster size. 4) An example of determining the parameters like reserved blocks,

Uploaded by

api-3812413
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
54 views11 pages

Lecture # 38: System Programming Course Code: CS609 Cs609@vu - Edu.pk

The document discusses the file organization and structure of a FAT32 file system. It provides details on: 1) How the chain of clusters is maintained in FAT32 using the File Allocation Table (FAT) and how each FAT entry is 32-bits with only the lower 28-bits used. 2) The anatomy of a FAT32 system, including that there is no fixed space reserved for the root directory and FCB of root directory is saved in a cluster. 3) The formula used to translate a cluster number to a logical sector number (LSN) which involves adding the reserved sectors, FAT size, and cluster size. 4) An example of determining the parameters like reserved blocks,

Uploaded by

api-3812413
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 11

System Programming Course Code: CS609

[email protected]

Lecture # 38

Following slide shows how the chain of clusters is maintained in a FAT32 based system.

File Organization
32 – bit
0 R
1 R FCB
2
3
4 7
Start Cluster #
5 0
6 11
7 9

Cont…
8
9 6
10
11 EOF

2^28

Virtual University of Pakistan 48


System Programming Course Code: CS609
[email protected]

Fat32 Entry
• Each entry is of 32-bits size but only
lower 28-bits are used.
• Higher 4-bits are not tempered.
• While reading higher 4-bits are
ignored.
• While writing higher 4-bits are not
changed.

FCB in FAT32 system has an enhanced meaning as shown by the slide below.

Virtual University of Pakistan 49


System Programming Course Code: CS609
[email protected]

Anatomy of FAT32 based system differs from FAT16 based systems significantly as
explained by the slide below.

Fat32 File System

FAT1 FAT2 Clust2 Clust3 -----------

Reserved Blocks
• No fixed space reserved for root
directory.
• FCB of root directory are saved in a
cluster and the cluster # for root directory
is saved in BPB as discussed earlier.

In reflection of the anatomy of FAT32 based system the method used to translate the
cluster # into LSN also varies. The following formula is used for this purpose.

Starting Sector # for a Cluster


Starting Sector = Reserved Sect. + FatSize *
FatCopies + (cluster # - 2) *
size of cluster

Virtual University of Pakistan 50


System Programming Course Code: CS609
[email protected]

Now we determine all the parameters in the above slide for a certain volume to translate a
cluster number into LSN.

0000 EB 58 90 4D
Reserved Blocks
53 57 49 4E . X . M S W I N 235 88 144 77 83 87 73 78
0008 34 2E 31 00 02 20 24 00 4 . 1 . . $ . 52 46 49 0 2 32 36 0
0010 02 00 00 00 00 F8 00 00 . . . . . . . . 2 0 0 0 0 248 0 0
0018 3F 00 F0 00 3F 00 00 00 ? . . . ? . . . 63 0 240 0 63 0 0 0
0020 41 29 54 02 3E 25 00 00 A ) T . > % . . 65 41 84 2 62 37 0 0
0028 00 00 00 00 02 00 00 00 . . . . . . . . 0 0 0 0 2 0 0 0
0030 01 00 06 00 00 00 00 00 . . . . . . . . 1 0 6 0 0 0 0 0
0038 00 00 00 00 00 00 00 00 . . . . . . . . 0 0 0 0 0 0 0 0
0040 80 01 29 F1 17 79 2D 4E . . ) . . y - N 128 1 41 241 23 121 45 78
0048 4F 20 4E 41 4D 45 20 20 O N A M E 79 32 78 65 77 69 32 32
0050 20 20 46 41 54 33 32 20 F A T 3 2 32 32 70 65 84 51 50 32
0058 20 20 33 C9 8E D1 BC F4 3 . . . . . 32 32 51 201 142 209 188 244
0060 7B 8E C1 8E D9 BD 00 7C { . . . . . . | 123 142 193 142 217 189 0 124
0068 88 4E 02 8A 56 40 B4 08 . N . . V @ . . 136 78 2 138 86 64 180 8
0070 CD 13 73 05 B9 FF FF 8A . . s . . . . . 205 19 115 5 185 255 255 138
0078 F1 66 0F B6 C6 40 66 0F . f . . . @ f . 241 102 15 182 198 64 102 15
0080 B6 D1 80 E2 3F F7 E2 86 . . . . ? . . . 182 209 128 226 63 247 226 134
0088 CD C0 ED 06 41 66 0F B7 . . . . A f . . 205 192 237 6 65 102 15 183
0090 C9 66 F7 E1 66 89 46 F8 . f . . f . F . 201 102 247 225 102 137 70 248
0098 83 7E 16 00 75 38 83 7E . ~ . . u 8 . ~ 131 126 22 0 117 56 131 126

Offset 14 = 0x0E = Reserved Sect. = 0x0024

0000 EB 58 90 4D 53
Copies of FAT
57 49 4E . X . M S W I N 235 88 144 77 83 87 73 78
0008 34 2E 31 00 02 20 24 00 4 . 1 . . $ . 52 46 49 0 2 32 36 0
0010 02 00 00 00 00 F8 00 00 . . . . . . . . 2 0 0 0 0 248 0 0
0018 3F 00 F0 00 3F 00 00 00 ? . . . ? . . . 63 0 240 0 63 0 0 0
0020 41 29 54 02 3E 25 00 00 A ) T . > % . . 65 41 84 2 62 37 0 0
0028 00 00 00 00 02 00 00 00 . . . . . . . . 0 0 0 0 2 0 0 0
0030 01 00 06 00 00 00 00 00 . . . . . . . . 1 0 6 0 0 0 0 0
0038 00 00 00 00 00 00 00 00 . . . . . . . . 0 0 0 0 0 0 0 0
0040 80 01 29 F1 17 79 2D 4E . . ) . . y - N 128 1 41 241 23 121 45 78
0048 4F 20 4E 41 4D 45 20 20 O N A M E 79 32 78 65 77 69 32 32
0050 20 20 46 41 54 33 32 20 F A T 3 2 32 32 70 65 84 51 50 32
0058 20 20 33 C9 8E D1 BC F4 3 . . . . . 32 32 51 201 142 209 188 244
0060 7B 8E C1 8E D9 BD 00 7C { . . . . . . | 123 142 193 142 217 189 0 124
0068 88 4E 02 8A 56 40 B4 08 . N . . V @ . . 136 78 2 138 86 64 180 8
0070 CD 13 73 05 B9 FF FF 8A . . s . . . . . 205 19 115 5 185 255 255 138
0078 F1 66 0F B6 C6 40 66 0F . f . . . @ f . 241 102 15 182 198 64 102 15
0080 B6 D1 80 E2 3F F7 E2 86 . . . . ? . . . 182 209 128 226 63 247 226 134
0088 CD C0 ED 06 41 66 0F B7 . . . . A f . . 205 192 237 6 65 102 15 183
0090 C9 66 F7 E1 66 89 46 F8 . f . . f . F . 201 102 247 225 102 137 70 248
0098 83 7E 16 00 75 38 83 7E . ~ . . u 8 . ~ 131 126 22 0 117 56 131 126

Offset 16 = 0x10 = Count of FAT’S = 0x0002

Virtual University of Pakistan 51


System Programming Course Code: CS609
[email protected]

0000 EB 58 90
Sector per FAT copy
4D 53 57 49 4E . X . M S W I N 235 88 144 77 83 87 73 78
0008 34 2E 31 00 02 20 24 00 4 . 1 . . $ . 52 46 49 0 2 32 36 0
0010 02 00 00 00 00 F8 00 00 . . . . . . . . 2 0 0 0 0 248 0 0
0018 3F 00 F0 00 3F 00 00 00 ? . . . ? . . . 63 0 240 0 63 0 0 0
0020 41 29 54 02 3E 25 00 00 A ) T . > % . . 65 41 84 2 62 37 0 0
0028 00 00 00 00 02 00 00 00 . . . . . . . . 0 0 0 0 2 0 0 0
0030 01 00 06 00 00 00 00 00 . . . . . . . . 1 0 6 0 0 0 0 0
0038 00 00 00 00 00 00 00 00 . . . . . . . . 0 0 0 0 0 0 0 0
0040 80 01 29 F1 17 79 2D 4E . . ) . . y - N 128 1 41 241 23 121 45 78
0048 4F 20 4E 41 4D 45 20 20 O N A M E 79 32 78 65 77 69 32 32
0050 20 20 46 41 54 33 32 20 F A T 3 2 32 32 70 65 84 51 50 32
0058 20 20 33 C9 8E D1 BC F4 3 . . . . . 32 32 51 201 142 209 188 244
0060 7B 8E C1 8E D9 BD 00 7C { . . . . . . | 123 142 193 142 217 189 0 124
0068 88 4E 02 8A 56 40 B4 08 . N . . V @ . . 136 78 2 138 86 64 180 8
0070 CD 13 73 05 B9 FF FF 8A . . s . . . . . 205 19 115 5 185 255 255 138
0078 F1 66 0F B6 C6 40 66 0F . f . . . @ f . 241 102 15 182 198 64 102 15
0080 B6 D1 80 E2 3F F7 E2 86 . . . . ? . . . 182 209 128 226 63 247 226 134
0088 CD C0 ED 06 41 66 0F B7 . . . . A f . . 205 192 237 6 65 102 15 183
0090 C9 66 F7 E1 66 89 46 F8 . f . . f . F . 201 102 247 225 102 137 70 248
0098 83 7E 16 00 75 38 83 7E . ~ . . u 8 . ~ 131 126 22 0 117 56 131 126

Offset 36 = 0x24 = Sectors occupied by single FAT = 0x0000253E

0000
Cluster # for Root Directory
EB 58 90 4D 53 57 49 4E . X . M S W I N 235 88 144 77 83 87 73 78
0008 34 2E 31 00 02 20 24 00 4 . 1 . . $ . 52 46 49 0 2 32 36 0
0010 02 00 00 00 00 F8 00 00 . . . . . . . . 2 0 0 0 0 248 0 0
0018 3F 00 F0 00 3F 00 00 00 ? . . . ? . . . 63 0 240 0 63 0 0 0
0020 41 29 54 02 3E 25 00 00 A ) T . > % . . 65 41 84 2 62 37 0 0
0028 00 00 00 00 02 00 00 00 . . . . . . . . 0 0 0 0 2 0 0 0
0030 01 00 06 00 00 00 00 00 . . . . . . . . 1 0 6 0 0 0 0 0
0038 00 00 00 00 00 00 00 00 . . . . . . . . 0 0 0 0 0 0 0 0
0040 80 01 29 F1 17 79 2D 4E . . ) . . y - N 128 1 41 241 23 121 45 78
0048 4F 20 4E 41 4D 45 20 20 O N A M E 79 32 78 65 77 69 32 32
0050 20 20 46 41 54 33 32 20 F A T 3 2 32 32 70 65 84 51 50 32
0058 20 20 33 C9 8E D1 BC F4 3 . . . . . 32 32 51 201 142 209 188 244
0060 7B 8E C1 8E D9 BD 00 7C { . . . . . . | 123 142 193 142 217 189 0 124
0068 88 4E 02 8A 56 40 B4 08 . N . . V @ . . 136 78 2 138 86 64 180 8
0070 CD 13 73 05 B9 FF FF 8A . . s . . . . . 205 19 115 5 185 255 255 138
0078 F1 66 0F B6 C6 40 66 0F . f . . . @ f . 241 102 15 182 198 64 102 15
0080 B6 D1 80 E2 3F F7 E2 86 . . . . ? . . . 182 209 128 226 63 247 226 134
0088 CD C0 ED 06 41 66 0F B7 . . . . A f . . 205 192 237 6 65 102 15 183
0090 C9 66 F7 E1 66 89 46 F8 . f . . f . F . 201 102 247 225 102 137 70 248
0098 83 7E 16 00 75 38 83 7E . ~ . . u 8 . ~ 131 126 22 0 117 56 131 126

Offset 44 = 0x2C = 0x0000 0002

Virtual University of Pakistan 52


System Programming Course Code: CS609
[email protected]

0000 EB
Size of Cluster in Sectors
58 90 4D 53 57 49 4E . X . M S W I N 235 88 144 77 83 87 73 78
0008 34 2E 31 00 02 20 24 00 4 . 1 . . $ . 52 46 49 0 2 32 36 0
0010 02 00 00 00 00 F8 00 00 . . . . . . . . 2 0 0 0 0 248 0 0
0018 3F 00 F0 00 3F 00 00 00 ? . . . ? . . . 63 0 240 0 63 0 0 0
0020 41 29 54 02 3E 25 00 00 A ) T . > % . . 65 41 84 2 62 37 0 0
0028 00 00 00 00 02 00 00 00 . . . . . . . . 0 0 0 0 2 0 0 0
0030 01 00 06 00 00 00 00 00 . . . . . . . . 1 0 6 0 0 0 0 0
0038 00 00 00 00 00 00 00 00 . . . . . . . . 0 0 0 0 0 0 0 0
0040 80 01 29 F1 17 79 2D 4E . . ) . . y - N 128 1 41 241 23 121 45 78
0048 4F 20 4E 41 4D 45 20 20 O N A M E 79 32 78 65 77 69 32 32
0050 20 20 46 41 54 33 32 20 F A T 3 2 32 32 70 65 84 51 50 32
0058 20 20 33 C9 8E D1 BC F4 3 . . . . . 32 32 51 201 142 209 188 244
0060 7B 8E C1 8E D9 BD 00 7C { . . . . . . | 123 142 193 142 217 189 0 124
0068 88 4E 02 8A 56 40 B4 08 . N . . V @ . . 136 78 2 138 86 64 180 8
0070 CD 13 73 05 B9 FF FF 8A . . s . . . . . 205 19 115 5 185 255 255 138
0078 F1 66 0F B6 C6 40 66 0F . f . . . @ f . 241 102 15 182 198 64 102 15
0080 B6 D1 80 E2 3F F7 E2 86 . . . . ? . . . 182 209 128 226 63 247 226 134
0088 CD C0 ED 06 41 66 0F B7 . . . . A f . . 205 192 237 6 65 102 15 183
0090 C9 66 F7 E1 66 89 46 F8 . f . . f . F . 201 102 247 225 102 137 70 248
0098 83 7E 16 00 75 38 83 7E . ~ . . u 8 . ~ 131 126 22 0 117 56 131 126

Offset 13 = 0x0D = 0x20 = 32 blocks

So using all this information we calculate the LSN for cluster number 2 as shown the
slide below for this particular volume.

Starting Sector for Cluster # 2


Starting Sector = Reserved Sect. + FatSize *
FatCopies + (cluster # - 2) *
size of cluster
= 0x0024 + 0x0000 253E *
0x0002 + (2 – 2) * 0x20
= 0x4AA0
= 19104D

Virtual University of Pakistan 53


System Programming Course Code: CS609
[email protected]

To examine the contents of a file first a file is created whose contents are also shown in
the slide.

Creation of a File on Root


Directory

and is stored as myfile.txt on the root directory.

Creation of a File on Root


Directory

Now we examine the contents of cluster number 2 which contains the root directory as
already seen in the previous slides.

Virtual University of Pakistan 54


System Programming Course Code: CS609
[email protected]

Cluster # 2

000000000000 0000 E5 41 47 45 46 49 4C 45 53 59 53 26 00 3B A2 31 .AGEFILESYS&.;.1


000000000010 0010 A8 32 84 33 00 00 53 4E 84 33 03 00 00 60 01 00 .2.3..SN.3...`..
000000000020 0020 57 49 4E 44 4F 57 53 20 20 20 20 10 00 4C A2 31 WINDOWS ..L.1
000000000030 0030 A8 32 21 34 00 00 A3 31 A8 32 03 0A 00 00 00 00 .2!4...1.2......
000000000040 0040 4E 54 4C 44 52 20 20 20 20 20 20 27 08 00 71 A7 NTLDR '..q.
000000000050 0050 03 31 A8 32 00 00 71 A7 03 31 85 8E B0 D0 03 00 .1.2..q..1......
000000000060 0060 4E 54 44 45 54 45 43 54 43 4F 4D 27 00 00 D1 A4 NTDETECTCOM'....
000000000070 0070 03 31 A8 32 00 00 D1 A4 03 31 9E 8F CC B9 00 00 .1.2.....1......
000000000080 0080 42 4F 4F 54 20 20 20 20 49 4E 49 06 18 30 25 32 BOOT INI..0%2
000000000090 0090 A8 32 21 34 0E 00 5C 33 A8 32 F0 AD D3 00 00 00 .2!4..\3.2......
0000000000A0 00A0 42 20 00 53 00 65 00 74 00 74 00 0F 00 4A 69 00 B .S.e.t.t...Ji.
0000000000B0 00B0 6E 00 67 00 73 00 00 00 FF FF 00 00 FF FF FF FF n.g.s...........
0000000000C0 00C0 01 44 00 6F 00 63 00 75 00 6D 00 0F 00 4A 65 00 .D.o.c.u.m...Je.

0000000034E0 34E0 E5 59 46 49 4C 45 20 20 54 58 54 20 18 67 CC 16 .YFILE TXT .g..


0000000034F0 34F0 21 34 21 34 00 00 CD 16 21 34 00 00 00 00 00 00 !4!4....!4......
000000003500 3500 4D 59 46 49 4C 45 20 20 54 58 54 20 18 67 CC 16 MYFILE TXT .g..
000000003510 3510 21 34 21 34 09 00 CD 16 21 34 C9 29 29 00 00 00 !4!4....!4.))...
000000003520 3520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000000003530 3530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

From the information from above slides the low and high words of the first cluster
number is obtained and is shown in the slide below. The higher 4 bits of the cluster
number should be ignored as discussed earlier.

Virtual University of Pakistan 55


System Programming Course Code: CS609
[email protected]

Cluster # within FCB


Cluster # Low Word = 29C9
Cluster # Hi Word = 0009H
0009 29C9 & 0FFF FFFF = 009 29C9

Using the cluster number above the LSN for this cluster is determined as shown in the
slide below.

File Data Sectors


Starting Sector = Reserved Sect. + FatSize *
FatCopies + (cluster # - 2) *
size of cluster
= 0024 + 253E * 2 +
(929C9 – 2) * 0x20
= 4AA0 + 12538E0
= 1258380
= 19235712

The blocks within the cluster are read and their contents can be seen in the slide below.

Virtual University of Pakistan 56


System Programming Course Code: CS609
[email protected]

File Data
Dump of LSN 19235712

0000 74 68 69 73 20 69 73 20 t h i s i s 116 104 105 115 32 105 115 32


0008 66 69 6C 65 20 74 6F 20 f i l e t o 102 105 108 101 32 116 111 32
0010 74 65 73 74 20 46 41 54 t e s t F A T 116 101 115 116 32 70 65 84
0018 33 32 20 66 69 6C 65 20 3 2 f i l e 51 50 32 102 105 108 101 32
0020 73 74 72 75 63 74 75 72 s t r u c t u r 115 116 114 117 99 116 117 114
0028 65 00 00 00 00 00 00 00 e . . . . . . . 101 0 0 0 0 0 0 0
0030 00 00 00 00 00 00 00 00 . . . . . . . . 0 0 0 0 0 0 0 0
0038 00 00 00 00 00 00 00 00 . . . . . . . . 0 0 0 0 0 0 0 0
0040 00 00 00 00 00 00 00 00 . . . . . . . . 0 0 0 0 0 0 0 0
0048 00 00 00 00 00 00 00 00 . . . . . . . . 0 0 0 0 0 0 0 0
0050 00 00 00 00 00 00 00 00 . . . . . . . . 0 0 0 0 0 0 0 0
0058 00 00 00 00 00 00 00 00 . . . . . . . . 0 0 0 0 0 0 0 0
0060 00 00 00 00 00 00 00 00 . . . . . . . . 0 0 0 0 0 0 0 0
0068 00 00 00 00 00 00 00 00 . . . . . . . . 0 0 0 0 0 0 0 0
0070 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0
0078 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0

0080 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0


0088 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0

0090 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0

0098 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0


00A0 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0

00A8 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0


00B0 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0

00B8 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0

00C0 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0


00C8 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0

00D0 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0


00D8 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0

00E0 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0


00E8 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0

00F0 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0

00F8 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0


0100 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0

0108 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0


0110 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0

0118 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0

0120 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0


0128 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0

0130 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0


0138 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0

0140 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0


0148 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0

0150 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0

0158 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0


0160 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0

0168 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0


0170 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0

0178 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0

0180 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0


0188 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0

0190 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0


0198 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0

01A0 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0


01A8 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0

01B0 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0

01B8 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0


01C0 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0

01C8 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0


01D0 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0

01D8 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0

01E0 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0


01E8 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0

01F0 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0


01F8 00 00 00 00 0 000 0000 .. . . . . .. 0 0 0 0 0 0 0 0

In the FAT32 there is another special reserved block called FSInfo sector. The block
contains some information required by the operating system while cluster
allocation/deallocation to files. This information is also critical for FAT16 based systems.
But in FAT12 and 16 this information is calculated when ever required. This calculation
at the time of allocation is not feasible in FAT32 as the size of FAT32 is very large and
such calculations will consume a lots of time, so to save time this information is stored in
the FSInfo block and is updated at the time of allocation/deallocation.

Virtual University of Pakistan 57


System Programming Course Code: CS609
[email protected]

Virtual University of Pakistan 58

You might also like