J.Tiberghien Chapitre 9 Organisation des disques et gestion des fichiers.

31
J.Tiberghien Chapitre 9 Organisation des disques et gestion des fichiers

Transcript of J.Tiberghien Chapitre 9 Organisation des disques et gestion des fichiers.

Page 1: J.Tiberghien Chapitre 9 Organisation des disques et gestion des fichiers.

J.Tiberghien

Chapitre 9

Organisation des disques

et gestion des fichiers

Page 2: J.Tiberghien Chapitre 9 Organisation des disques et gestion des fichiers.

J.Tiberghien

Disk organization& File

Management• Physical data recording on magnetic disks• Physical organization of data on magnetic disks• Logical disk organization

– Contiguous blocks

– Random blocks: MS/DOS, UNIX, MS/NT

• Directories• System Calls

Page 3: J.Tiberghien Chapitre 9 Organisation des disques et gestion des fichiers.

J.Tiberghien

Disk organization& File

Management• Physical data recording on magnetic disks• Physical organization of data on magnetic disks• Logical disk organization

– Contiguous blocks

– Random blocks: MS/DOS, UNIX, MS/NT

• Directories• System Calls

Page 4: J.Tiberghien Chapitre 9 Organisation des disques et gestion des fichiers.

J.Tiberghien

Writing on magnetic memories

i

0 0 0 0 011 11

Page 5: J.Tiberghien Chapitre 9 Organisation des disques et gestion des fichiers.

J.Tiberghien

Manchester Code

0 00 0 1 11 11i

t

Page 6: J.Tiberghien Chapitre 9 Organisation des disques et gestion des fichiers.

J.Tiberghien

Reading from magnetic memory

e

0 0 0 0 011 11 0 0 0 0 011 11

Page 7: J.Tiberghien Chapitre 9 Organisation des disques et gestion des fichiers.

J.Tiberghien

Data blocks

Header Data Block Check

0101010101...010101XXXXXXXXX

Check = f(data block)

Synchronization sequence

Page 8: J.Tiberghien Chapitre 9 Organisation des disques et gestion des fichiers.

J.Tiberghien

Disk organization& File

Management• Physical data recording on magnetic disks• Physical organization of data on magnetic disks• Logical disk organization

– Contiguous blocks

– Random blocks: MS/DOS, UNIX, MS/NT

• Directories• System Calls

Page 9: J.Tiberghien Chapitre 9 Organisation des disques et gestion des fichiers.

J.Tiberghien

Disk Organization

Sector

Track

Cylinder

Page 10: J.Tiberghien Chapitre 9 Organisation des disques et gestion des fichiers.

J.Tiberghien

Tracks/cylinder

Cylinders

Sectors/track

Bytes/sector

Total Capacity(in bytes)

Double Density

2

80

9

512

737 280

High density

2

80

18

512

1 474 560

Format of 3.5” diskettes for PC’s.

Sectors/Cluster 2 1

Page 11: J.Tiberghien Chapitre 9 Organisation des disques et gestion des fichiers.

J.Tiberghien

Tracks/cylinder

Cylinders

Sectors/track

Bytes/sector

Total Capacity(in bytes)

15

899

62

512

428 067 840

Format of 428 MBytes Hard Disk.

Sectors/Cluster (16 bit fat) 16

Page 12: J.Tiberghien Chapitre 9 Organisation des disques et gestion des fichiers.

J.Tiberghien

Minimum Cluster Size(with a 16 bit FAT)

Disk Size

128 MB256 MB512 MB

1 GB2 GB4 GB

Cluster Size

2 kB4 kB8 kB

16 kB32 kB64 kB

Sectors/Cluster

48

163264

128

Page 13: J.Tiberghien Chapitre 9 Organisation des disques et gestion des fichiers.

J.Tiberghien

Space lost to Slack

Block Size Used Space “Slack”

(Bytes) (MBytes) (%)

1 775.2 0.0

512 828.7 6.9

1024 866.5 11.8

2048 948.5 22.4

4096 1128.3 45.6

Page 14: J.Tiberghien Chapitre 9 Organisation des disques et gestion des fichiers.

J.Tiberghien

Disk organization& File

Management• Physical data recording on magnetic disks• Physical organization of data on magnetic disks• Logical disk organization

– Contiguous blocks

– Random blocks: MS/DOS, UNIX, MS/NT

• Directories• System Calls

Page 15: J.Tiberghien Chapitre 9 Organisation des disques et gestion des fichiers.

J.Tiberghien

Mapping the Files on the Disk

• Contiguous Block Allocation– When throughput is critical– When almost no file creation or deletion– Regular space reorganizations required

• Random Block Allocation– When disk space is critical– When lots of file creations and deletions– Disk space optimizations beneficial for

performance

Page 16: J.Tiberghien Chapitre 9 Organisation des disques et gestion des fichiers.

J.Tiberghien

Contiguous Block Allocation

FreeF7F1 F5F3.1F3F2 F6F4

Del F1, F5

F8Save F8

Sorry, Insufficient Disk Space !

Pack

FreeF7Free FreeF3.1F3F2 F6F4

FreeF7F6F3F2 F4

Save F8

F8 FreeF7F6F3F2 F4

Page 17: J.Tiberghien Chapitre 9 Organisation des disques et gestion des fichiers.

J.Tiberghien

Mapping the Files on the Disk

• Contiguous Block Allocation– When throughput is critical– When almost no file creation or deletion– Regular space reorganizations required

• Random Block Allocation– When disk space is critical– When lots of file creations and deletions– Disk space optimizations beneficial for

performance

Page 18: J.Tiberghien Chapitre 9 Organisation des disques et gestion des fichiers.

J.Tiberghien

File Access Table

(MS/DOS)

DISK

FAT

Cluster 0

Cluster x

One entry per Logical Cluster Number

Page 19: J.Tiberghien Chapitre 9 Organisation des disques et gestion des fichiers.

J.Tiberghien

Conceptual FAT model

Stream a

Stream b

Stream c

Stream d

...

Free

8 12 13

0 1 2 9 10

3 54

1615 17 18 19 ...

6 7 11 14 ...

VCN = 0 1 2 3

LCN

Page 20: J.Tiberghien Chapitre 9 Organisation des disques et gestion des fichiers.

J.Tiberghien

Partial view of FATDirectory Pointer LCN FAT contents Disk contents

Stream a > 0 1 Stream a, cluster 01 2 Stream a, cluster 12 9 Stream a, cluster 2

Stream b > 3 4 Stream b, cluster 04 5 Stream b, cluster 15 END Stream b, cluster 2

Free Space > 6 7 Free7 11 Free

Stream c > 8 12 Stream c, cluster 09 10 Stream a, cluster 310 END Stream a, cluster 411 14 Free12 13 Stream c, cluster 113 END Stream c, cluster 214 23 Free

Stream d > 15 16 Stream d, cluster 016 17 Stream d, cluster 117 18 Stream d, cluster 218 19 Stream d, cluster 3... ... ...

Page 21: J.Tiberghien Chapitre 9 Organisation des disques et gestion des fichiers.

J.Tiberghien

UNIX Inode

Logical clustersof data on disk

(up to 256)

...256

...256

...256

Logical clusters of data on disk(up to 256*256)

...256

10 Logical clustersof data on disk

...256

...256

...256

...256

...256

...256

...256

Logical clusters of data on disk(up to 256*256*256)

Page 22: J.Tiberghien Chapitre 9 Organisation des disques et gestion des fichiers.

J.Tiberghien

VCN to LCN mapping in MS/NT

startingVCN

startingLCN

no.ofclusters

0 1355 4

4 1588 5

VCN=

LCN=

0 1 2 3

1355 1356 1357 1358

4 5 6 7 8

1588 1589 1590 1591 1592

Page 23: J.Tiberghien Chapitre 9 Organisation des disques et gestion des fichiers.

J.Tiberghien

Disk organization& File

Management• Physical data recording on magnetic disks• Physical organization of data on magnetic disks• Logical disk organization

– Contiguous blocks

– Random blocks: MS/DOS, UNIX, MS/NT

• Directories• System Calls

Page 24: J.Tiberghien Chapitre 9 Organisation des disques et gestion des fichiers.

J.Tiberghien

Directory Tree

\

info

ex

1k 2k asti 3E

\info\ex\3E

Page 25: J.Tiberghien Chapitre 9 Organisation des disques et gestion des fichiers.

J.Tiberghien

MS/DOS Directory Entry

bit 0: read onlybit 1: hiddenbit 2: system filebit 3: volume labelbit 4: subdirectorybit 5: archive bit

Base NameExtensionAttributes

Time of creationDate of creationStarting FAT entryFile size

8 bytes3 bytes1 byte

2 bytes2 bytes2 bytes4 bytes

Page 26: J.Tiberghien Chapitre 9 Organisation des disques et gestion des fichiers.

J.Tiberghien

Unix Directories

\

info

ex

3E

\info\ex\3E

txt

\txt\new

new

Page 27: J.Tiberghien Chapitre 9 Organisation des disques et gestion des fichiers.

J.Tiberghien

MS/NT Master File Table

SecurityDescriptor

FileName

StandardInformation

Data

1,2 or 4 KBytes

Page 28: J.Tiberghien Chapitre 9 Organisation des disques et gestion des fichiers.

J.Tiberghien

MS/NT Data Files

SecurityDescriptor

FileName

StandardInformation Actual Data

SecurityDescriptor

FileName

StandardInformation

VCN to LCN mappings

Small file:

Large file:

VCN=

LCN=

0 1 2 3

1355 1356 1357 1358

4 5 6 7 8

1588 1589 1590 1591 1592

Page 29: J.Tiberghien Chapitre 9 Organisation des disques et gestion des fichiers.

J.Tiberghien

MS/NT Directories

SecurityDescriptor

FileName

StandardInformation

Index of files in MFTf1,f2,f3

Small directory:

Large directory (organized as a Btree):

SecurityDescriptor

FileName

StandardInformation

VCN to LCN mappings + bitmap

VCN=

LCN=

0 1 2 3

1355 1356 1357 1358

4 5 6 7

1588 1589 1590 1591

f1 f2 f4 f5 f6

f3 f7

8 9 10 11

1648 1649 1650 1651

f8 f9

Page 30: J.Tiberghien Chapitre 9 Organisation des disques et gestion des fichiers.

J.Tiberghien

Disk organization& File

Management• Physical data recording on magnetic disks• Physical organization of data on magnetic disks• Logical disk organization

– Contiguous blocks

– Random blocks: MS/DOS, UNIX, MS/NT

• Directories• System Calls

Page 31: J.Tiberghien Chapitre 9 Organisation des disques et gestion des fichiers.

J.Tiberghien

System Calls

File Manipulation

• create file, delete file

• open, close

• read, write, reposition

• get file attributes, set file attributes