Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

9.chap9 file systemsinterface

437 views

Published on

  • Be the first to comment

  • Be the first to like this

9.chap9 file systemsinterface

  1. 1. CHÖÔNG 9: GIAO TIEÁP VÔÙI HEÄ THOÁNG FILE <ul><li>Toång quan veà döõ lieäu vaø file </li></ul><ul><li>Caùc thuoäc tính & thao taùc treân file </li></ul><ul><li>Caùc phöông phaùp truy caäp file </li></ul><ul><li>Toå chöùc thö muïc </li></ul><ul><li>Mount heä thoáng file </li></ul><ul><li>Baûo veä heä thoáng file </li></ul><ul><li>Sao löu vaø phuïc hoài döõ lieäu </li></ul>
  2. 2. TOÅNG QUAN VEÀ DÖÕ LIEÄU & FILE <ul><li>Yeâu caàu löu tröõ cuûa user </li></ul><ul><ul><li>Löu tröõ laâu daøi </li></ul></ul><ul><ul><li>Truy caäp nhanh </li></ul></ul><ul><ul><li>Löu ñöïoc nhieâu döõ lieäu </li></ul></ul><ul><ul><li>Chia xeû vaø baûo veä toát </li></ul></ul><ul><ul><li>Deã söû duïng </li></ul></ul><ul><li> caàn söï hoã trôï cuûa phaàn cöùng vaø OS </li></ul><ul><li>Khaùi nieäm file (taäp tin, teäp) </li></ul><ul><ul><li>Ñôn vò löu tröõ luaän lyù cuûa OS </li></ul></ul><ul><ul><li>Phaân loaïi: chöông trình hoaëc döõ lieäu </li></ul></ul><ul><ul><li>Coù theå coù/ khoâng coù caáu truùc: </li></ul></ul>
  3. 3. CAÙC THUOÄC TÍNH & THAO TAÙC TREÂN FILE <ul><li>Thuoäc tính file ( file attribute ) </li></ul><ul><ul><li>Teân, kieåu, vò trí löu truõ , kích côõ, thoâng tin baûo veä… </li></ul></ul><ul><li>Thao taùc veà döõ lieäu treân file ( data operation ) </li></ul><ul><ul><li>create, write, read, seek, delete, truncate </li></ul></ul><ul><ul><li>open( F i ) </li></ul></ul><ul><ul><li>close ( F i ) </li></ul></ul><ul><li>Thao taùc veà ñaët teân file ( naming operation ) </li></ul><ul><ul><li>Taïo hard link, soft link, rename, </li></ul></ul><ul><ul><li>Thieát laäp thuoäc tính, laáy thuoäc tính </li></ul></ul>
  4. 4. CAÁU TRUÙC DÖÕ LIEÄU QUAÛN LYÙ FILE <ul><li>Baûng thoâng tin veà caùc file ñang môû ( Open File Table ). </li></ul><ul><ul><li>Daønh cho n quaù trình duøng chung moät file </li></ul></ul><ul><ul><li>Chöùa: bieán ñieám söû duïng, thuoäc tính file, vò trí file treân ñóa, con troû ñeán vò trí cuûa file trong boä nhôù. </li></ul></ul><ul><li>Baûng thoâng tin veà caùc file cuûa töøng quaù trình </li></ul><ul><li>( Per-process File Table ): Vôùi moãi file, baûng naøy chöùa: </li></ul><ul><ul><li>Con troû ñeán muïc töông öùng trong Open File Table </li></ul></ul><ul><ul><li>Vò trí hieän taïi trong file </li></ul></ul><ul><ul><li>Cheá ñoä truy caäp cuûa quaù trình vôùi file (r, w, rw) </li></ul></ul><ul><ul><li>Con troû tôùi file buffer </li></ul></ul>
  5. 5. TAÙC VUÏ FILE (1) <ul><li>Taïo file: Create(name) </li></ul><ul><ul><li>Caáp khoâng gian löu tröõ </li></ul></ul><ul><ul><li>Taïo file descriptor chöùa thoâng tin quaûn lyù file </li></ul></ul><ul><ul><li>Theâm file descriptor vaøo thö muïc chöùa file </li></ul></ul><ul><li>Xoaù file: Delete(name) </li></ul><ul><ul><li>Tìm thö muïc chöùa file </li></ul></ul><ul><ul><li>Giaûi phoùng caùc khoái ñóa daønh cho file </li></ul></ul><ul><ul><li>Xoaù file descriptor khoûi thö muïc chöùa file </li></ul></ul><ul><li>Môû file: file_id = Open(name, mode) </li></ul><ul><ul><li>Kieåm tra file coù môû hay chöa  chia xeû file. </li></ul></ul><ul><ul><li>Kieåm tra quyeàn söû duïng file. </li></ul></ul><ul><ul><li>Taêng open count cuûa file. </li></ul></ul><ul><ul><li>Taïo vaø theâm thoâng tin quaûn lyù file ñang môû vaøo baûng file cuûa heä thoáng vaø cuûa quaù trình. </li></ul></ul><ul><li>Ñoùng file: Close(file_id) ? </li></ul>
  6. 6. TAÙC VUÏ FILE (2) <ul><li>Ñoïc file: </li></ul><ul><ul><li>Read(file_id, from, size, buf_addr) : ñoïc ngaãu nhieân </li></ul></ul><ul><ul><li>Read(file_id, size, buf_addr) : ñoïc tuaàn töï </li></ul></ul><ul><li>Ghi file: </li></ul><ul><ul><li>Töông töï ñoïc file </li></ul></ul><ul><ul><li>Thöïc hieän copy döõ lieäu töø buffer vaøo file </li></ul></ul><ul><li>Seek: </li></ul><ul><ul><li>Caäp nhaät vò trí con troû file </li></ul></ul><ul><li>AÙnh xaï file vaøo boä nhôù ( memory mapping a file ): </li></ul><ul><ul><li>Aùnh xaï 1 vuøng ñòa chæ aûo vaøo noäi dung file </li></ul></ul><ul><ul><li>Taùc vuï ñoïc/ ghi leân vuøng nhôù  ñoïc/ ghi file </li></ul></ul>
  7. 7. CAÙC PHÖÔNG PHAÙP TRUY CAÄP FILE <ul><li>Theo quan ñieåm ngöôøi laäp trình </li></ul><ul><ul><li>Tuaàn töï : xöû lyù döõ lieäu (byte, record…) theo traät töï </li></ul></ul><ul><ul><li>Theo khoaù : tìm khoái döõ lieäu theo giaù trò khoùa </li></ul></ul><ul><li>Theo quan ñieåm heä ñieàu haønh </li></ul><ul><ul><li>Truy caäp tuaàn töï ( sequential access ): giöõ vaø caäp nhaät con troû ñeán vò trí truy caäp keá tieâp trong file </li></ul></ul><ul><ul><li>Truy caäp tröïc tieáp ( random access): truy caäp döõ lieäu theo offset cuûa khoâi döõ lieäu trong file. </li></ul></ul>
  8. 8. TOÅ CHÖÙC THÖ MUÏC <ul><li>Thö muïc ( directory ) </li></ul><ul><ul><li>Caáu truùc döõ lieäu cuûa HÑH ñeå aùnh xaï teân sang soá nhaän daïng file cuûa HÑH </li></ul></ul><ul><li>Taùc vuï thöïc hieän treân thö muïc </li></ul><ul><ul><li>Tìm file, taïo file, xoaù file, lieät keâ noäi dung thö muïc, ñoåi teân file, duyeät heä thoáng file </li></ul></ul><ul><li>Yeâu caàu khi toå chöùc heä thoáng thö muïc </li></ul><ul><ul><li>Hieäu quaû </li></ul></ul><ul><ul><li>Tieän lôïi cho ngöôøi söû duïng </li></ul></ul><ul><ul><li>Coù khaû naêng nhoùm caùc file theo thuoäc tính </li></ul></ul>
  9. 9. CAÙCH TOÅ CHÖÙC THÖ MUÏC <ul><li>Toå chöùc 1 caáp (Single-Level Directory) </li></ul><ul><ul><li>Söû duïng 1 khoâng gian teân (thö muïc) duy nhaát cho moïi user </li></ul></ul><ul><ul><li>Vieäc ñaët teân deã ñuïng ñoä </li></ul></ul><ul><ul><li>Khoâng coù khaû naêng nhoùm caùc file </li></ul></ul><ul><li>Toå chöùc 2 caáp (Two-Level Directory) </li></ul><ul><ul><li>1 user coù moät thö muïc rieâng </li></ul></ul><ul><ul><li>Söû duïng ñöôøng daãn ñeå xaùc ñònh nôi löu file </li></ul></ul><ul><ul><li>Tìm kieám nhanh </li></ul></ul><ul><ul><li>Vaãn coù khaû naêng ñuïng ñoä khi ñaët teân </li></ul></ul><ul><ul><li>Khoâng coù khaû naêng nhoùm caùc file </li></ul></ul>
  10. 10. TOÅ CHÖÙC THÖ MUÏC ÑA CAÁP ( Multilevel Directory ) <ul><li>Nhaän xeùt </li></ul>
  11. 11. TOÅ CHÖÙC THÖ MUÏC DAÏNG ÑOÀ THÒ TOÅNG QUAÙT ( General Graph ) <ul><li>K/nieäm link </li></ul><ul><ul><li>Hard link </li></ul></ul><ul><ul><li>Soft link </li></ul></ul><ul><li>Vaán ñeà? </li></ul><ul><li>Giaûi quyeát? </li></ul>
  12. 12. MOUNT HEÄ THOÁNG FILE <ul><li>Mount </li></ul><ul><ul><li>Gaén heä thoáng file treân 1 thieát bò löu tröõ vaøo heäthoáng thö muïc chính ñeå truy caäp </li></ul></ul><ul><li>Mount point </li></ul><ul><ul><li>Thö muïc nôi gaén heä thoáng file ôû ngoaøi vaøo </li></ul></ul><ul><li>Unmount </li></ul><ul><ul><li>Taùch heä thoáng file cuûa thieát bò löu tröõ ra khoûi mount point </li></ul></ul><ul><li>Loaïi heä thoáng file ñöôïc mount: </li></ul><ul><ul><li>tuøy thuoäc söï hoã trôï cuûa heä ñieàu haønh </li></ul></ul>
  13. 13. BAÛO VEÄ HEÄ THOÁNG FILE <ul><li>Ngöôøi taïo/ sôû höõu file phaûi ñieàu khieån ñöôïc </li></ul><ul><ul><li>Caùc thao taùc coù theå thöïc hieän treân file </li></ul></ul><ul><ul><li>Ai coù quyeàn thöïc hieän caùc thao taùc treân </li></ul></ul><ul><li>Caùc quyeàn thao taùc treân file </li></ul><ul><ul><li>Read, Write, Execute, Append, Delete, List </li></ul></ul><ul><li>Phöông phaùp baûo veä </li></ul><ul><ul><li>Access list & group (Windows NT) </li></ul></ul><ul><ul><li>Access control bits (UNIX) </li></ul></ul><ul><li>Ñieàu khieån truy caäp ñoàng thôøi </li></ul><ul><ul><li>Khoùa toaøn boä file </li></ul></ul><ul><ul><li>Khoùa töøng phaàn file </li></ul></ul>
  14. 14. BAÛO VEÄ FILE TREÂN UNIX <ul><li>Cheá ñoä truy caäp : read, write, execute </li></ul><ul><li>3 loaïi ngöôøi duøng: owner, group, others </li></ul><ul><li>Bieåu dieán quyeàn truy caäp file baèng toå hôïp bit </li></ul><ul><li>Kieåm tra quyeàn söû duïng laàn löôït theo owner, group roài user </li></ul>rwx r-x r-x <ul><li>Others </li></ul><ul><li>Group </li></ul><ul><li>Owner </li></ul>

×