dr: magdy ahmed file system implementation ادارة الملفات

33
Dr: MAGDY AHMED Dr: MAGDY AHMED File System Implementation ات ف ل م ل ا ادارة

Upload: lionel-charles

Post on 30-Dec-2015

223 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Dr: MAGDY AHMED File System Implementation ادارة الملفات

Dr: MAGDY AHMEDDr: MAGDY AHMEDDr: MAGDY AHMEDDr: MAGDY AHMED

File System Implementation

الملفات ادارة

Page 2: Dr: MAGDY AHMED File System Implementation ادارة الملفات

ContentsContents::

File access methods File access methods للملفات الكتابة و للملفات القراءة الكتابة و ..القراءة

File protection and reliabilityFile protection and reliability الملفات الملفات حماية .. حماية

Disk allocation methods Disk allocation methods الملفات تخزين الملفات كيفية تخزين كيفيةالهارد الهارد على ..على

Page 3: Dr: MAGDY AHMED File System Implementation ادارة الملفات

File access methodsQ: discuss in details the different file access methodsQ: discuss in details the different file access methods??SolSol::

• File access means to perform read or write from the file.File access means to perform read or write from the file.

• A File is viewed as a fixed length of logical blocks A File is viewed as a fixed length of logical blocks (records), each record stores a piece of data.(records), each record stores a piece of data.

Sequential Direct (random)

Indexed

• Files can be accessed (read or write) in one of 3 methods:

Page 4: Dr: MAGDY AHMED File System Implementation ادارة الملفات

Sequential access method

Blocks are processed in order, one record (block) after another.Blocks are processed in order, one record (block) after another.

Record Record Record Record EOF

Read PointerRead PointerRead Pointer Read Pointer

Read direction

مؤشر ( • باستخدام بالتتابع بالقراءة يسمح التتابعى الدخول مؤشر ( طريقة باستخدام بالتتابع بالقراءة يسمح التتابعى الدخول طريقة( دائما الملف اخر فى الكتابة و )للقراءة دائما الملف اخر فى الكتابة و للقراءة

Page 5: Dr: MAGDY AHMED File System Implementation ادارة الملفات

– Read: Read: Read (next)Read (next) command using a read pointer. command using a read pointer.

– Write: Write: Write (EOF, Data)Write (EOF, Data) append to the end of the append to the end of the file.file.

Examples: Examples:

Text, sound, video files. Text, sound, video files.

Operations:

Page 6: Dr: MAGDY AHMED File System Implementation ادارة الملفات

Direct (Random) access method

– Allows any blocks to be read or written in no order. Allows any blocks to be read or written in no order. – Each record has a block number, which is an index Each record has a block number, which is an index

relative to the beginning of the file.relative to the beginning of the file.

Record

n

الكتابة ( • و بالقراءة يسمح العشوائى الدخول الكتابة ( طريقة و بالقراءة يسمح العشوائى الدخول طريقة( مكان اى )فى مكان اى فى

L*(n-1) bytes

Page 7: Dr: MAGDY AHMED File System Implementation ادارة الملفات

• Read: Read (N).Read: Read (N).• Write: Write (N, Data), Write: Write (N, Data), where N is the block number. where N is the block number.

• Select * from Tb1 where name=ahmed Select * from Tb1 where name=ahmed read read record 0record 0• Select * from Tb1 where name=hani Select * from Tb1 where name=hani read read record 3record 3• Update Tb1 set address=Alex where name=aliUpdate Tb1 set address=Alex where name=ali write to write to record 1record 1

Operations

Examples: database files

00

11

22

33

44

Page 8: Dr: MAGDY AHMED File System Implementation ادارة الملفات

Indexed access method

• Each file has an index.Each file has an index.• The index contains pointers for each block (record), hence, it The index contains pointers for each block (record), hence, it

maximizes reading speed. maximizes reading speed.

• Example: database files with indexesExample: database files with indexes

المفهرس • الدخول المفهرس طريقة الدخول الملف ( طريقة من بالقراءة الملف ( يسمح من بالقراءة يسمح( الملف من القراءة سرعة يزيد مما فهرس )باستخدام الملف من القراءة سرعة يزيد مما فهرس باستخدام

Page 9: Dr: MAGDY AHMED File System Implementation ادارة الملفات

Data protection and reliability

– Is to keep data safe from physical Is to keep data safe from physical damage such as power failure, head damage such as power failure, head crashes, dirt, temperature, content crashes, dirt, temperature, content lost due to software bugs. lost due to software bugs.

– Data reliability achieved by Data reliability achieved by maintaining backups (copy disk to maintaining backups (copy disk to tapes) at regular intervals. tapes) at regular intervals.

Disk

Save Save backupbackup

keep data safe

backups

Data ReliabilityData Reliability::غير المشاكل من البيانات حماية تعنى

متاحة البيانات تكون بحيث البشرية. المشاكل تلك حدوث بعد حتى

Page 10: Dr: MAGDY AHMED File System Implementation ادارة الملفات

• Is to keep data safe from improper access by Is to keep data safe from improper access by controlling file operations such as; read, controlling file operations such as; read, write, append (write to the end of file), write, append (write to the end of file), execute, delete, list file attributes.execute, delete, list file attributes.

Access Access Control List Control List

(ACL)(ACL) PasswordPassword

Protection can be achieved by: Protection can be achieved by:

keep data safe from improper access

Data ProtectionData Protection:: البشرية المشاكل من البيانات حماية تعنىالبيانات ( على المشروع غير ) الدخول

فقط الشرعيين للمستخدمين يمكن بحيثالبيانات على الدخول

Page 11: Dr: MAGDY AHMED File System Implementation ادارة الملفات

• Each Each file file andand folder folder has an ACL. has an ACL.

• ACL contains user ACL contains user namesnames and and typetype of access ( of access (rightsrights) allowed for ) allowed for each user.each user.

Access Control List (ACL):

namenamePermissionsPermissions

AhmedAhmedR-WR-W

HaniHani----------

AliAliRR

MonaMonaR-W-UR-W-U

ACL(ACL(myDatamyData))

File: myDataFile: myData

Page 12: Dr: MAGDY AHMED File System Implementation ادارة الملفات

Problems:Problems: ACL is usually a long list (consider ACL is usually a long list (consider situation when all users are allowed to access the file)situation when all users are allowed to access the file)

not

Access Control List (ACL):

Page 13: Dr: MAGDY AHMED File System Implementation ادارة الملفات

• Associate a password with each fileAssociate a password with each file..

Problems:Problems: this method becomes impractical this method becomes impractical (with many protected files, user need to (with many protected files, user need to remember many passwordsremember many passwords))

Passwords:

Page 14: Dr: MAGDY AHMED File System Implementation ادارة الملفات

Disk allocation methods

• It is needed to allocate disk space to files It is needed to allocate disk space to files need to be stored to achieve:need to be stored to achieve:

• Maximum disk space utilization.Maximum disk space utilization.• Quick file access. Quick file access.

– There are four disk allocation methodsThere are four disk allocation methods::

• Contiguous allocation.Contiguous allocation.• Linked allocation.Linked allocation.• File allocation table (FAT).File allocation table (FAT).• Indexed allocationIndexed allocation..

Page 15: Dr: MAGDY AHMED File System Implementation ادارة الملفات

• Each file owns a set of contiguous blocks (clusters) Each file owns a set of contiguous blocks (clusters) on the diskon the disk..

Contiguous allocation

method

Page 16: Dr: MAGDY AHMED File System Implementation ادارة الملفات

• Advantages:Advantages: simple, only starting location and simple, only starting location and length (number of blocks) are required. length (number of blocks) are required.

• Disadvantages:Disadvantages: – Finding space (hole) for a new file. Finding space (hole) for a new file.

– External fragmentation (External fragmentation (free space is fragmented into free space is fragmented into many small pieces each piece can not store a filemany small pieces each piece can not store a file). ). The solution is The solution is compactioncompaction (compact all free space (compact all free space into one contiguous space). into one contiguous space).

– File size need to be known when file created.File size need to be known when file created.

Page 17: Dr: MAGDY AHMED File System Implementation ادارة الملفات

• The file blocks are distributed anywhere on the disk in the The file blocks are distributed anywhere on the disk in the form of a linked list of blocks. form of a linked list of blocks.

• Each block contains a pointer to the next block (Each block contains a pointer to the next block (lost lost spacespace). ).

Linked Allocation

method

Data

Each blockEach block

Page 18: Dr: MAGDY AHMED File System Implementation ادارة الملفات

• Advantages: Advantages: – No external fragmentation.No external fragmentation.– It is never necessary to compact disk.It is never necessary to compact disk.– File size need not to be known during file creation File size need not to be known during file creation

(file can be extended any where in the disk.(file can be extended any where in the disk.

• Disadvantages: Disadvantages:

– Limited to sequential access (to access block Limited to sequential access (to access block nn we must follow blocks from the beginning). we must follow blocks from the beginning).

– Not reliable (when pointers are lost or damaged).Not reliable (when pointers are lost or damaged).– Lost space for pointers. Lost space for pointers.

Page 19: Dr: MAGDY AHMED File System Implementation ادارة الملفات

• Each file has its own Each file has its own index blockindex block, which is an array of disk , which is an array of disk block addresses. block addresses.

• The directory contains only The directory contains only file namefile name and the and the address of address of the index blockthe index block. .

indexed Allocation

method

Page 20: Dr: MAGDY AHMED File System Implementation ادارة الملفات

• Advantages: Advantages: – The same as the linked allocation method.The same as the linked allocation method.

• Disadvantages: Disadvantages: – Not reliable (when the index block Not reliable (when the index block

damaged).damaged).– Lost space for the index block. Lost space for the index block.

Page 21: Dr: MAGDY AHMED File System Implementation ادارة الملفات

Disadvantages of File-Systems

Each of the given programs has its own data file.

Each program includes steps to define the file type and its metadata

Program steps are just operations performed on data fields and records of the file. These operations has to be changed if we change type of file.

Page 22: Dr: MAGDY AHMED File System Implementation ادارة الملفات

Since outputs of each program depend on the file contents or fields of its records we expect to have limited reporting.

The shown three files include repeated data filds (e.g. student file in clued fileds repeated in other files such as student name, major, class ..etc). If we have say up to 10000 students their different data fields need to be entered in each file wasting a lot of effort, time and storage space.

Page 23: Dr: MAGDY AHMED File System Implementation ادارة الملفات

A major problem of repetition may appear if we change some data field in one file which will not affect the other files resulting into errors and conflicts in reports.

The most unfavorable problem is " Program-data dependency". If we change the structure of the file we must build new programs

Page 24: Dr: MAGDY AHMED File System Implementation ادارة الملفات

Summary of main Problems/disadvantages of files:

- Program –data dependency

- Repletion or Redundancy which causes:

* waste in effort, time and in memory space

* conflict in reports

-limited outputs/reports

- Difficult control on many files in many departments in the organization which causes non- standard methods and miss-up with data.

Page 25: Dr: MAGDY AHMED File System Implementation ادارة الملفات

File allocation table (FAT)• A section of the disk at the beginning of each partition A section of the disk at the beginning of each partition

contains the FAT.contains the FAT. • FAT has one entry for each disk block and is indexed by FAT has one entry for each disk block and is indexed by

block number. block number.

• Directory entry contains the number of first block of the Directory entry contains the number of first block of the file.file.

• Each table entry contains the number of the next block in Each table entry contains the number of the next block in the file.the file.

• This continues until the last block which has end-of-file This continues until the last block which has end-of-file (EOF) value as a table entry.(EOF) value as a table entry.

• Unused blocks indicated by a “-1” table value.Unused blocks indicated by a “-1” table value.

Page 26: Dr: MAGDY AHMED File System Implementation ادارة الملفات

Ex: Ex: A FAT structure for a file has A FAT structure for a file has 3 disk blocks (217,618, 339). 3 disk blocks (217,618, 339).

Test ..… 217-100

618217217

EOF339339

339618618

Number of disk blocksNumber of disk blocks

FATFAT

Directory EntryDirectory Entry

Name Start block

BlockBlock numbernumber

Block 0 is empty Block 0 is empty in the diskin the disk

Number of next block Number of next block in the filein the file

EOFEOF

--11 if the block is if the block is emptyempty

Page 27: Dr: MAGDY AHMED File System Implementation ادارة الملفات

• Allocating a new block for a file done as following (assuming the Allocating a new block for a file done as following (assuming the last block number is N which contains EOF):last block number is N which contains EOF):

– Searching for the first “-1” entry (Searching for the first “-1” entry (let its block number=Mlet its block number=M).).

– Let Table_Entry(Block M)=EOF and Table_Entry(Block N)=M Let Table_Entry(Block M)=EOF and Table_Entry(Block N)=M

Disadvantages:Disadvantages:• FAT must be cached in memory (FAT must be cached in memory (Explain why?)Explain why?) because if not, this results in a significant number of because if not, this results in a significant number of head seeks head seeks

حركة يستلزم ذلك فان الزاكرة فى تخزينة يتم لم حركة اذا يستلزم ذلك فان الزاكرة فى تخزينة يتم لم اذاقراءة التمام باستمرار للديسك الكتابة و القراءة قراءة راس التمام باستمرار للديسك الكتابة و القراءة راس

. . الملف الملف

• Not reliable (Not reliable (Explain why?Explain why?) when FAT damaged, all ) when FAT damaged, all files cant be reached. files cant be reached.

Page 28: Dr: MAGDY AHMED File System Implementation ادارة الملفات

Comparative StudyComparative Study

FAT, FAT16, FAT32, NTFSFAT, FAT16, FAT32, NTFS

Page 29: Dr: MAGDY AHMED File System Implementation ادارة الملفات

CriteriaCriteriaNTFS5NTFS5NTFSNTFSexFATexFATFAT32FAT32FAT16FAT16FAT12FAT12

Operating Operating SystemSystem

Windows Windows 20002000

Windows XPWindows XPWindows Windows

2003 Server2003 ServerWindows Windows

20082008Windows Windows

VistaVistaWindows 7Windows 7

Windows NTWindows NTWindows Windows

20002000Windows XPWindows XP

Windows Windows 2003 Server2003 Server

Windows Windows 2008Windows 2008Windows

VistaVistaWindows 7Windows 7

Windows CE Windows CE 6.06.0

Windows Windows Vista SP1Vista SP1

Windows 7Windows 7WinXP+KB955704

  

DOS v7 and DOS v7 and higherhigher

Windows 98Windows 98Windows MEWindows ME

Windows Windows 20002000

Windows XPWindows XPWindows Windows

2003 Server2003 ServerWindows Windows

VistaVistaWindows 7Windows 7

DOSDOSAll versions of All versions of

Microsoft Microsoft WindowsWindows

DOSDOSAll versions of All versions of

Microsoft Microsoft WindowsWindows

LimitationsLimitations

Max Volume Max Volume SizeSize

226464 clusters clusters minus 1 minus 1 clustercluster

223232 clusters clusters minus 1 minus 1 clustercluster

128PB128PB

32GB for all 32GB for all OS.OS.

2TB for 2TB for some OSsome OS

2GB for all 2GB for all OS.OS.

4GB for 4GB for some OSsome OS

16MB16MB

Max Files on Max Files on VolumeVolume

4,294,967,2954,294,967,295 ))223232-1-1((

4,294,967,2954,294,967,295 ))223232-1-1((

Nearly Nearly UnlimitedUnlimited419430441943046553665536

MaxMax  File File SizeSize

226464 bytes (16 bytes (16 ExaBytes)ExaBytes)minus 1KBminus 1KB

224444 bytes (16 bytes (16 TeraBytes)TeraBytes)minus 64KBminus 64KB

16EB16EB4GB minus 2 4GB minus 2 BytesBytes

2GB (Limit 2GB (Limit OnlyOnly

by Volume by Volume Size)Size)

16MB (Limit 16MB (Limit OnlyOnly

by Volume by Volume Size)Size)

Max Max Clusters Clusters NumberNumber

226464 clusters clusters minus 1 minus 1 clustercluster

223232 clusters clusters minus 1 minus 1 clustercluster

4294967295429496729541779184177918655206552040804080

Max File Max File Name Name LengthLength

Up to 255Up to 255Up to 255Up to 255Up to 255Up to 255Up to 255Up to 255

Standard - Standard - 8.38.3

Extended - Extended - up to 255up to 255

Up to 254Up to 254

Page 30: Dr: MAGDY AHMED File System Implementation ادارة الملفات

CriteriaCriteriaNTFS5NTFS5NTFSNTFSexFATexFATFAT32FAT32FAT16FAT16FAT12FAT12

File System FeaturesFile System Features

Unicode File Unicode File NamesNames

UnicodeUnicode  Character Character

SetSet

UnicodeUnicode  Character Character

SetSet

UnicodeUnicode  Character Character

SetSet

SystemSystem  Character Character

SetSet

SystemSystem  Character Character

SetSet

SystemSystem  Character Character

SetSet

SystemSystem  Records Records MirrorMirror

MFT Mirror MFT Mirror FileFile

MFT Mirror MFT Mirror FileFileNoNoSecond Second

Copy of Copy of   FATFATSecond Second

Copy of Copy of   FATFAT

Second Second Copy of Copy of

  FATFAT

Boot Sector Boot Sector LocationLocation

First and First and Last SectorsLast Sectors

First and First and Last SectorsLast Sectors

Sectors 0 to Sectors 0 to 1111

Copy in 12 Copy in 12 to 23to 23

First Sector First Sector andand

Copy in Copy in Sector #6Sector #6

First SectorFirst SectorFirst First SectorSector

File AttributesFile AttributesStandardStandard  anand Customd Custom

Standard Standard and Customand Custom

Standard Standard SetSet

Standard Standard SetSet

Standard Standard SetSet

Standard Standard SetSet

Alternate Alternate StreamsStreamsYesYesYesYesNoNoNoNoNoNoNoNo

CompressionCompressionYesYesYesYesNoNoNoNoNoNoNoNo

EncryptionEncryptionYesYesNoNoNoNoNoNoNoNoNoNo

Object Object PermissionsPermissionsYesYesYesYesYesYesNoNoNoNoNoNo

Disk QuotasDisk QuotasYesYesNoNoNoNoNoNoNoNoNoNo

Sparse FilesSparse FilesYesYesNoNoNoNoNoNoNoNoNoNo

Reparse PointsReparse PointsYesYesNoNoNoNoNoNoNoNoNoNo

Volume Mount Volume Mount PointsPointsYesYesNoNoNoNoNoNoNoNoNoNo

Page 31: Dr: MAGDY AHMED File System Implementation ادارة الملفات

CriteriaCriteriaNTFS5NTFS5NTFSNTFSexFATexFATFAT32FAT32FAT16FAT16FAT12FAT12

Overall PerformanceOverall Performance

Built-In Built-In SecuritySecurityYesYesYesYes

YesYesminimal minimal ACL onlyACL only

NoNoNoNoNoNo

RecoverabRecoverabilityilityYesYesYesYes

YesYesif TFAT if TFAT

activatedactivatedNoNoNoNoNoNo

PerformanPerformancece

Low on Low on small small

volumesvolumesHigh on High on LargeLarge

Low on Low on small small

volumesvolumesHigh on High on LargeLarge

HighHigh

High on High on small small

volumesvolumesLow on Low on largelarge

Highest on Highest on small small

volumesvolumesLow on Low on largelarge

HighHigh

Disk Disk Space Space EconomyEconomy

MaxMaxMaxMaxMaxMaxAverageAverageMinimal Minimal on large on large volumesvolumes

MaxMax

Fault Fault ToleranceToleranceMaxMaxMaxMax

YesYesif TFAT if TFAT

activatedactivatedMinimalMinimalAverageAverageAverageAverage

Page 32: Dr: MAGDY AHMED File System Implementation ادارة الملفات

Any Questions?

Page 33: Dr: MAGDY AHMED File System Implementation ادارة الملفات

Disadvantages of File-Systems

Each of the given programs has its own independent data file.

Each program includes steps to define the file type and its metadata

Program steps are just operations performed on data fields and records of the file. These operations has to be changed if we change type of file.