10.chap10 file systemsimlementation

299 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
299
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

10.chap10 file systemsimlementation

  1. 1. CHÖÔNG 10: HIEÄN THÖÏC HEÄ THOÁNG FILE <ul><li>Caáu truùc ñóa cöùng </li></ul><ul><li>Caáu truùc heä thoáng file </li></ul><ul><li>Hieän thöïc caáu truùc thö muïc </li></ul><ul><li>Cô cheá caáp phaùt vuøng löu tröõ </li></ul><ul><ul><li>Caáp lieân tuïc, theo lieân keát, theo chæ soá </li></ul></ul><ul><ul><li>Heä thoáng file cuûa UNIX </li></ul></ul><ul><li>Quaûn lyù vuøng troáng </li></ul><ul><li>Ñoä hieäu quaû/ hieäu suaát heä thoáng file </li></ul><ul><li>Sao löu vaø phuïc hoài döõ lieäu </li></ul><ul><li>Baøi taäp </li></ul>
  2. 2. <ul><li>Heä ñieàu haønh xem ñóa cöùng nhö moät chuoãi caùc block lieân tieáp vôùi kích thöôùc coá ñònh. </li></ul>CAÁU TRUÙC ÑÓA CÖÙNG
  3. 3. CAÁU TRUÙC HEÄ THOÁNG FILE <ul><li>Toå chöùc theo phaân lôùp </li></ul><ul><li>File Control Block (FCB) </li></ul><ul><ul><li>Naèm treân ñóa cöùng, chöùa </li></ul></ul><ul><ul><ul><li>Thoâng tin baûo maät file </li></ul></ul></ul><ul><ul><ul><li>Thoâng tin nôi löu tröõ file </li></ul></ul></ul><ul><li>Virual File System (VFS) </li></ul><ul><ul><li>Cung caáp API chung ñeû truy xuaát nhieàu loaïi heä thoáng file khaùc nhau </li></ul></ul><ul><li>Caáu truùc thö muïc </li></ul><ul><ul><li>Duøng danh saùch lieân keát </li></ul></ul><ul><ul><li>Duøng baûng baêm </li></ul></ul>
  4. 4. MINH HOÏA CAÁU TRUÙC HEÄ THOÁNG FILE
  5. 5. CAÁP PHAÙT VUØNG LÖU TRÖÕ LIEÂN TUÏC ( C ontiguous Allocation ) ` <ul><li>File goàm n block lieân tuïc </li></ul><ul><li>Thoâng tin caáp phaùt: </li></ul><ul><ul><li>Chæ soá block ñaàu, soá block caáp </li></ul></ul><ul><li>Nhaän xeùt öu, nhöôïc ñieåm. </li></ul><ul><li>Khaéc phuïc? </li></ul>
  6. 6. CAÁP PHAÙT VUØNG LÖU TRÖÕ THEO LIEÂN KEÁT ( Linked Allocation ) <ul><li>File laø danh saùch lieân keát cuûa caùc block raûi raùc </li></ul><ul><li>Hieän thöïc? </li></ul><ul><li>Nhaän xeùt? </li></ul>
  7. 7. FILE ALLOCATION TABLE (FAT) <ul><li>Hieän thöïc? </li></ul><ul><li>Nhaän xeùt? </li></ul>
  8. 8. CAÁP PHAÙT VUØNG LÖU TRÖÕ THEO CHÆ SOÁ ( Indexed Allocation ) <ul><li>Duøng baûng caùc chæ soá ñeå löu caùc con troû ñeán caùc block döõ lieäu cuûa file </li></ul><ul><li>Nhaän xeùt? </li></ul>
  9. 9. LÖU TRÖÕ BAÛNG CHÆ SOÁ CUÛA FILE <ul><li>Löu lieân tuïc </li></ul><ul><ul><li>Baûng chæ soá löu trong 1 block cuûa ñóa </li></ul></ul><ul><li>Löu theo kieåu lieân keát </li></ul><ul><ul><li>Baûng chæ soá löu trong n block cuûa ñóa noái vôùi nhau baèng danh saùch lieân keát </li></ul></ul><ul><li>Löu baèng baûng chæ soá ña caáp </li></ul><ul><ul><li>Duøng baûng chæ soá khaùc ñeå löu caùc con troû ñeán caùc index block cuûa file </li></ul></ul><ul><li>Söû duïng cô cheá keát hôïp </li></ul>
  10. 10. HEÄ THOÁNG FILE CUÛA UNIX <ul><li>Ñóa cöùng chia thaønh nhieàu block </li></ul><ul><ul><li>Boot block </li></ul></ul><ul><ul><li>Super block </li></ul></ul><ul><ul><li>Caùc block chöùa danh saùch caùc i-node </li></ul></ul><ul><ul><li>Caùc block döõ lieäu </li></ul></ul><ul><li>Thoâng tin löu trong 1 i-node </li></ul><ul><ul><li>Mode truy caäp </li></ul></ul><ul><ul><li>Owner UID </li></ul></ul><ul><ul><li>Soá link troû tôùi file </li></ul></ul><ul><ul><li>Thoâng tin veà thôøi ñieåm truy caäp , taïo file… </li></ul></ul><ul><ul><li>Kích thöôùc file </li></ul></ul><ul><ul><li>Daõy caùc ñòa chæ khoái chöùa döõ lieäu </li></ul></ul><ul><ul><li>… </li></ul></ul>
  11. 11. CAÁU TRUÙC I-NODE CUÛA BSD UNIX <ul><li>Nhaän xeùt? </li></ul>
  12. 12. I-NODE CUÛA THÖ MUÏC <ul><li>Thö muïc /home </li></ul><ul><li>Thö muïc / </li></ul>Os02 21 Os01 20 hung 15 .. 2 . 10 Teân file / thö muïc con Chæ soá i-node usr 12 home 10 etc 5 .. 2 . 2 Teân file / thö muïc con Chæ soá i-node
  13. 13. QUAÛN LYÙ VUØNG TROÁNG (1/2) <ul><li>Duøng bit vector: N bit quaûn lyù N block data </li></ul><ul><ul><li>Bít =0 : block ñaõ caáp </li></ul></ul><ul><ul><li>Bit=1: block coøn troáng </li></ul></ul><ul><li>Duøng danh saùch lieân keát caùc block troáng </li></ul><ul><li>Nhoùm caùc block troáng (Grouping) </li></ul><ul><ul><li>Chöùa ñòa chæ N block trong 1 block troáng ñaàu tieân </li></ul></ul><ul><ul><li>N-1 ñòa chæ ñaàu troû ñeán caùc block troáng thöïc söï </li></ul></ul><ul><ul><li>Ñòa chæ cuoái troû ñeán block chöùa N ñòa chæ block troáng khaùc </li></ul></ul><ul><li>Ñeám khoaûng troáng (Counting) </li></ul><ul><ul><li>Moãi block troáng löu tröõ soá khoaûng troáng lieân tuïc tieáp theo noù & ñòa chæ block troáng khoâng keâ tieáp. </li></ul></ul>
  14. 14. QUAÛN LYÙ VUØNG TROÁNG (2/2) <ul><li>P/p grouping </li></ul><ul><ul><li>Block 2: 3,4, 5,10 </li></ul></ul><ul><ul><li>Block 10: 11, 13,14,15 </li></ul></ul><ul><ul><li>Block 15: 18,-,-,- </li></ul></ul><ul><li>P/p counting </li></ul><ul><ul><li>Block 2: 3, 5 </li></ul></ul><ul><ul><li>Block 5: 0,10 </li></ul></ul><ul><ul><li>Block 10: 1, 13 </li></ul></ul><ul><ul><li>Block 13: 2, 18` </li></ul></ul>1 4 3 2 5 8 7 6 9 12 11 10 13 16 15 14 17 20 19 18 17 18 Vuøng troáng Vuøng ñaõ caáp phaùt 17
  15. 15. ÑOÄ HIEÄU QUAÛ/ HIEÄU SUAÁTÛ CUÛA HEÄ THOÁNG FILE <ul><li>Ñoä hieäu quaû heä thoáng file phuï thuoäc </li></ul><ul><ul><li>Caùch caáp phaùt ñóa, caùc giaûi thuaät treân thö muïc </li></ul></ul><ul><ul><li>Loaïi döõ lieäu trong muïc cuûa baûng thö muïc </li></ul></ul><ul><li>Taêng hieäu suaát heä thoáng file </li></ul><ul><ul><li>Disk cache </li></ul></ul><ul><ul><li>Page cache </li></ul></ul><ul><ul><li>Free-behind & read-ahead </li></ul></ul><ul><ul><li>Virtual Disk/ RAM disk </li></ul></ul><ul><ul><li>Parallel I/O </li></ul></ul>
  16. 16. SAO LÖU VAØ PHUÏC HOÀI DÖÕ LIEÄU <ul><li>Kieåm tra söï nhaát quaùn cuûa döõ lieäu </li></ul><ul><ul><li>So saùnh thoâng tin treân block ñóa vaø trong thö muïc </li></ul></ul><ul><ul><li>Söû duïng caùc tieän ích: ndd, fsck, scandisk,… </li></ul></ul><ul><li>Sao löu ( backup ) döõ lieäu sang thieát bò löu tröõ khaùc </li></ul><ul><ul><li>Sao löu toaøn phaàn (normal backup) </li></ul></ul><ul><ul><li>Sao löu taêng daàn (incremental backup) </li></ul></ul><ul><li>Phuïc hoài ( restore ) döõ lieäu töø thieát bò sao löu </li></ul><ul><ul><li>Khi coù hoûng hoùc heä thoáng </li></ul></ul><ul><ul><li>Khi caàn phuïc hoài heä thoáng veà traïng thaùi cuõ </li></ul></ul><ul><li>Heä thoáng file coù ghi log (Log Structured File System) </li></ul>
  17. 17. RAID ( Redundant Array of Inexpensive Disks ) <ul><li>Taäp hôïp caùc ñóa cöùng ñöôïc heä ñieàu haønh xem nhö moät thieát bò löu truõ luaän </li></ul><ul><li>Döõ lieäu ñöôïc phaân boá treân taát caû caùc ñóa </li></ul><ul><li>Caùc muïc tieâu chính </li></ul><ul><ul><li>Taêng dung löôïng löu tröõ </li></ul></ul><ul><ul><li>Taêng hieäu suaát I/O </li></ul></ul><ul><ul><li>Taêng tính saün saøng cao </li></ul></ul><ul><ul><li>Taêng khaû naêng phuïc hoài heä thoáng </li></ul></ul><ul><li>Caùc loaïi RAID </li></ul><ul><ul><li>RAID 0  RAID 10 (phoå bieán RAID 0, 1, 3, 5) </li></ul></ul><ul><ul><li>Software RAID/ Hardware RAID </li></ul></ul>
  18. 18. RAID-0 <ul><li>Döõ lieäu löu tröõ traûi ñeàu treân caùc ñóa </li></ul><ul><li>Taêng khoâng gian löu tröõ </li></ul><ul><li>Taêng hieäu suaát heä thoáng </li></ul><ul><li>Tính saün saøng cuûa döõ lieäu thaáp </li></ul>
  19. 19. RAID-1 <ul><li>Nhaân baûn döõ lieäu treân caùc ñóa taùch bieät </li></ul><ul><li>Tính saün saøng & toác ñoä ñoïc döõ lieäu raát cao </li></ul><ul><li>Yeâu caàu dung löôïng ñóa gaáp ñoâi </li></ul><ul><li>Toác ñoä ghi chaäm hôn </li></ul>
  20. 20. RAID-3 <ul><li>Löu döõ lieäu traûi ñeàu treân caùc ñóa </li></ul><ul><li>Söû duïng moät ñóa löu thoâng tin kieåm tra döõ lieäu </li></ul><ul><li>Tính saün saøng cao, chi phí hôïp lyù </li></ul><ul><li>Hieäu suaát I/O thaáp </li></ul>
  21. 21. RAID-5 <ul><li>Döõ lieäu, thoâng tin kieåm tra ñöôïc löu traûi ñeàu treân caùc ñóa </li></ul><ul><li>Tính saün saøng döõ lieäu trung bình, chi phí hôïp lyù </li></ul><ul><li>Toác ñoä ghi thaáp </li></ul><ul><li>Yeâu caàu phaàn cöùng ñaëc bieät </li></ul>
  22. 22. BAØI TAÄP <ul><li>1. So saùnh thôøi gian caùc leänh copy, move, delete trong taát caû caùc tröôøng hôïp coù theå coù. </li></ul><ul><li>2. Taïi sao trong UNIX khoâng coù system call detete(…) ñeå xoaù file maø chæ coù system call unlink(…) ñeå xoaù moät link ñeán file? </li></ul><ul><li>3. Ñóa coù N block, duøng p/p grouping (4 block) ñeå quaûn lyù vuøng troáng. Tính thôøi gian trung bình ñeå tìm ñöôïc n khoái troáng vaø caáp phaùt cho file. </li></ul>

×