Bài giảng Hệ điều hành - Chương 8: File-System Interface - Thoại Nam

Chöông 8  
File-System Interface  
Noäi dung  
ꢀ Khaùi nieäm cô sôû  
ꢀ Caùc phöông thöùc truy caäp  
ꢀ Caáu truùc thö muïc  
ꢀ File-System mounting  
ꢀ Cû
ꢀ Baûo veä (Protection)  
-XI.2-  
Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM  
1
Khaùi nieäm cô sôû  
User Abstraction  
Process/Thread  
Hardware Resource  
CPU  
Memory  
Disk  
Address Space  
Files  
⇐ OS ⇒  
Moâ hình tröøu töôïng hoùa File System  
Applications  
open()  
Daemons Servers  
Shell  
Programmer  
Interface  
close()  
link()  
sectors  
seek()  
read()  
rename()  
tracks  
write()  
Device  
Independent  
Interface  
readblock()  
writeblock()  
Device  
Interface  
Hardware Disk  
-XI.3-  
Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM  
Nhöõng yeâu caàu cuûa user  
ꢀ Persistence: döõ lieäu ñöôïc löu giöõ beàn vöõng  
ꢀ Speed: truy xuaát döõ lieäu nhanh  
ꢀ Size: coù theå löu tröõ thaät nhieàu döõ lieäu  
ꢀ Sharing/protection: user coù theå chia seû döõ lieäu  
khi caàn thieát vaø coù theå baûo veä döõ lieäu rieâng tö khi  
caàn thiet  
ꢀ Etraa,sehioeäfuucsheæn:hu,scearäpconùhthaeätåddöeõãldieaäuøng tìm kieám, kieåm  
-XI.4-  
Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM  
2
Ñaëc ñieåm cuûa phaàn cöùng vaø OS  
ꢀ Phaàn cöùng cung caáp söï hoã trôï sau  
– Persistence : caùc thieát bò löu tröõ beàn vöõng (non-volatile memory)  
– Speed : cung caáp khaû naêng truy xuaát ngaãu nhieân (random  
access), naâng cao toác ñoä ñóa (5400 → 7200 → 10K rpm,...)  
– Size : dung löôïng ñóa ngaøy caøng lôùn (40GB, 80GB, 120GB,...)  
ꢀ Heä ñieàu haønh cung caáp  
– Persistence : löu tröõ dö thöøa, back-up phuïc vuï cho recovery (ví  
duï: RAID,...).  
– Ease of user :  
ꢁ Gaùn teân cho moät khoái döõ lieäu (file)  
ꢁ Toå chöùc caáu truùc quaûn lyù file: thö muïc  
ꢁ Thöïc hieän quaù trình aùnh xaï file (caùi nhìn luaän lyù cuûa user) vaøo  
khoâng gian löu tröõ vaät lyù (treân ñóa). Quaù trình naøy trong suoát  
ñoái vôùi user.  
– Sharing/Protection : caùc quyeàn truy caäp file/thö muïc  
-XI.5-  
Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM  
Khaùi nieäm cô sôû (t.t)  
ꢀ OÑeSå qcuhaeûndlayáuù ccahùci tthieieát átcbaáòplöthuatápröcõ muûaoätcacaùcùcthhieháitebäuò lqöuuaû,  
tröõ vaät lyù, chæ ñònh nghóa caùc khaùi nieämlöu tröõ  
luaän lyù  
ꢀ Caùc khaùi nieäm luaän lyù (user view)  
– File  
– Directory  
– File System  
-XI.6-  
Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM  
3
Caùc thuoäc tính cuûa File  
ꢀ Name – teân file (human-readable form)  
ꢀ Type – binary, text, image, …  
ꢀ Location – con troû ñeán vò trí file treân thieát bò löu tröõ  
ꢀ Sphizeeùp–!!k!)ích thöôùc hieän taïi (vaø möùc toái ña cho  
ꢀ Protection – kieåm soaùt quyeàn ñoïc, ghi, thöïc thi file  
ꢀ Time, date, user identification – caùc thoâng tin duøng  
cho protection, security, vaø usage monitoring.  
ꢀ CThaoáuântgrutùcinnvaeøyà fñileöôñïcöôlöïcugtriööõõttrroenângthciaeáuát btròulöùcuthtörömõ vuaïcät .  
lyù.  
-XI.7-  
Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM  
Caùc taùc vuï treân file/thö muïc  
ꢀ Delete  
ꢀ Create  
– Tìm thö muïc chöùa file caàn xoùa  
– Caáp phaùt khoâng gian löu tröõ  
– Xoùa caùc disk blocks cuûa file  
– Xoùa entry trong thö muïc  
– Theâm entry trong thö muïc  
ꢀ Write  
ꢀ Truncate  
– Tìm file trong thö muïc  
– Giöõ laïi taát caû caùc thuoäc tính file,  
– Thöïc hieän taùc vuï ghi taïi vò  
ngoaïi tröø kích thöôùc file = 0  
trí con troû ghi (write pointer)  
Open(Fi)  
ꢀ Read  
ö  
ì
muïc Search treân ñóa  
– Thöïc hieän taùc vuï ñoïc taïi vò  
– Kieåm tra quyeàn truy caäp  
trí con troû ñoïc (read pointer)  
– Naïp noäi dung entry Fi trong thö  
ꢀ Reposition – file seek  
muïc vaøo boä nhôù  
– Thieát laäp con troû ñoïc/ghi  
ñeán vò trí ñöôïc chæ ñònh (taùi  
ñònh vò).  
ꢀ Close(Fi)  
– Chuyeån noäi dung entry Fi trong  
boä nhôù vaøo ñóa  
-XI.8-  
Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM  
4
Caùc caáu truùc file  
ꢀ Khoâng caáu truùc – moät chuoãi words, bytes  
ꢀ Caáu truùc record ñôn giaûn  
– Lines  
– Fixed length  
– Variable length  
ꢀ Caáu truùc phöùc taïp  
– Formatted document (Word/Excel document,...)  
– Relocatable load file (executable, dynamic linking library,...).  
ꢀ Moïi heä ñieàu haønh phaûi hoã trôï ít nhaát moät caáu truùc – ñoù  
laø caáu truùc cuûa file thöïc thi (DOS/Windows: exe, com,...)  
ꢀ Ai quyeát ñònh caáu truùc cuûa file  
– Operating System ?  
– Program ?  
-XI.9-  
Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM  
Kieåu file – Name, Extension  
-XI.10-  
Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM  
5
Access Methods  
ꢀ Sequential Access: truy xuaát thoâng tin tuaàn töï  
– read (ñoïc vaø töï ñoäng dôøi con troû file ñeán vò trí keá tieáp)  
– write  
– trôû veà ñaàu file, ñeán cuoái file  
– forward/backward n record  
ꢀ Direct Access (relative access)  
– file caáu thaønh töø caùc khoái, record kích thöôùc coá ñònh  
– read n  
– write n  
– position to n  
– read next  
– write next  
– rewrite n  
Minh hoïa Sequential Access  
-XI.11-  
Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM  
Caáu truùc thö muïc  
ꢀ Laø taäp hôïp caùc node löu giöõ thoâng tin cuûa caùc file trong  
heä thoáng  
Directory  
Files  
F4  
F2  
F1  
F3  
Fn  
ꢂ Caû caáu truùc thö muïc vaø caùc file ñeàu naèm treân ñóa  
-XI.12-  
Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM  
6
Ví duï veà caáu truùc File-System  
-XI.13-  
Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM  
Thoâng tin cuûa thö muïc  
ꢀ Name  
ꢀ Type: file, directory, symbolic link, ...  
ꢀ Address: ñòa chæ cuûa khoái löu tröõ file  
ꢀ Current length  
ꢀ Maximum length  
ꢀ D
ꢀ Date last updated  
ꢀ Owner ID  
ꢀ Protection information  
ꢀ ...  
-XI.14-  
Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM  
7
Caùc taùc vuï treân thö muïc  
ꢀ Search: tìm trong caáu truùc thö muïc ñeå laáy ñöôïc thoâng tin  
trong entry cuûa moät file  
ꢀ Create: taïo moät file môùi vaø theâm vaøo caáu truùc thö muïc  
ñeå quaûn lyù  
ꢀ Delete: xoùa moät file  
ꢀ List: hieån thò noäi dung moät thö muïc  
ꢀ Rename: ñoåi teân file  
ꢀ Traverse: duyeät toaøn boä heä thoáng file  
ꢀ Thöïc chaát, thö muïc cuõng laø moät file ñaëc bieät, cung caáp  
söï aùnh xaï töông öùng giöõa ñònh danh cuûa file vaø taát caû  
thoâng tin, döõ lieäu khaùc cuûa file.  
-XI.15-  
Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM  
Muïc tieâu toå chöùc caáu truùc thö  
muïc  
ꢀ Hfilieeäunaqøouñaoû (ù.efficiency) – ñònh vò nhanh choùng moät  
ꢀ Ñaët teân (naming) – thuaän tieän cho user. Ví duï  
– Hai users coù theå coù file truøng teân (nhöng khaùc nhau)  
– Moät file coù theå coù nhieàu teân khaùc nhau.  
ꢀ Nluhaoänùmlyù(dgöroïautpreinângc)a–ùctothå cuhoöäcùctítnhhaønchuûacafiùclen, h(voíùmdufï:ile  
file chöông trình C, file taøi lieäu MS Word, file  
chöông trình games, …)  
-XI.16-  
Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM  
8
Caáu truùc single-level  
ꢃ Naming  
ꢃ Grouping  
-XI.17-  
Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM  
Caáu truùc two-level  
☺ Khaùi nieäm ñöôøng daãn - path name: khoâng coù ôû  
single-level  
☺ Hai users coù theå coù file truøng teân  
☺ Tìm kieám hieäu quaû hôn  
ꢃ Khoâng hoã trôï khaû naêng grouping  
-XI.18-  
Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM  
9
Caáu truùc caây thö muïc  
-XI.19-  
Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM  
Caáu truùc caây thö muïc (t.t)  
☺ Tìm kieám hieäu quaû  
☺ Cung caáp khaû naêng grouping (baèng caùch toå chöùc caáu  
truùc thö muïc con)  
☺ Coù theå duøng ñöôøng daãn tuyeät ñoái hoaëc töông ñoái  
☺ Khaùi nieäm thö muïc laøm vieäc (working directory). Ví duï  
cd /spell/mail/prog  
☺ Xoùa caây thö muïc  
prog copy prtexp count  
xoùa thö muïc mail  
ꢃ Toå chöùc caáu truùc döõ lieäu quaûn lyù khaù phöùc taïp (phaàn  
hieän thöïc heä thoáng file)  
-XI.20-  
Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM  
10  
Caáu truùc acyclic-graph  
ꢀ Coù theå chia seû thö muïc  
con vaø file.  
– Moät file chia seû coù theå coù  
nhieàu teân (aliasing)  
/spell/count  
ꢀ Hieän thöïc chia seû  
– Symbolic link: moät con troû  
ñeán file hoaëc thö muïc khaùc  
ln -s /spell/count  
/dict/count  
– Hard link: nhaân baûn thoâng  
tin trong thö muïc chia seû  
ꢂNeáu file /dict/w/list bò xoùa  
⇒ dangling pointer  
ꢂGiaûi phaùp ???  
-XI.21-  
Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM  
File system mounting  
ꢀ Ñeå coù theå truy xuaát, file system phaûi ñöôïc gaùn laép  
(mount)  
ꢀ Moät file system ñöôïc gaén taïi moät thö muïc, goïi laø mount  
point.  
ꢀ Caùc böôùc tieán haønh gaùn laép: mount /device/dsk /users  
– Cung caáp teân thieát bò vaø mount point  
– Gaùn laép file system vaøo vò trí mount point  
ꢀ Neáu mount-point coù chöùa file?  
– Caùc file cuûa thö muïc mount point seõ khoâng nhìn thaáy ñöôïc, tröø  
phi un-mount file system.  
ꢀ Coù theå gaén laép caùc file system khaùc nhau taïi caùc mount  
point khaùc nhau.  
-XI.22-  
Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM  
11  
File system mounting (t.t)  
Existing  
Mount  
Point  
Un-mounted  
partition  
(/device/disk)  
Vuøng khoâng nhìn thaáy khi /device/disk ñöôïc mount  
Leänh gaùn laép: mount /device/dsk /users  
-XI.23-  
Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM  
Chia seû file  
ꢀ Nhu caàu chia seû file trong heä thoáng multi-user raát  
lôùn  
ꢀ Vieäc chia seû cuõng coù theå thöïc hieän qua cô cheá baûo  
veä, kieåm soaùt nghieâm ngaët  
ꢀ Treân heä thoáng phaân boá (distributed systems), caùc  
file coù theå ñöôïc chia seû qua maïng maùy tính  
ꢀ Network File System (NFS) laø phöông phaùp chia seû  
file raát phoå bieán duøng cô cheá RPC (moâ hình client-  
ꢀ Moät file system töø xa cuõng phaûi ñöôïc mount tröôùc  
khi söû duïng  
– mount ditlab.hcmut.edu.vn:/oscourse /home/osbook  
– Khi file system ñaõ ñöôïc mount, moïi truy xuaát ñeán file/thö  
muïc treân ñoù ñeàu nhö bình thöôøng, khoâng phaân bieät laø local  
hay remote nöõa.  
– Vaán ñeà: naming (DNS, NIS, LDAP, Active Directory, ...)  
-XI.24-  
Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM  
12  
Ví duï mount remote file-system  
/
/
export  
home  
oscourse  
Mount  
osbook  
paper  
DFS  
DSM  
/OS/DSM  
/home/osbook/DSM  
DFS  
DSM  
ditlab.hcmut.edu.vn  
RemoteServer  
LocalClient  
-XI.25-  
Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM  
Automounter treân NFS  
-XI.26-  
Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM  
13  
Baûo veä (protection)  
ꢀ Chuû nhaân cuûa moät file phaûi ñöôïc cung caáp khaû naêng  
kieåm soaùt, ñieàu khieån quaù trình truy caäp file  
– Caùc taùc vuï coù theå thöïc hieän treân file?  
– Nhöõng ai ñöôïc quyeàn thöïc hieän thao taùc treân file?  
ꢀ Caùc kieåu truy xuaát file  
– Read  
– Write  
– Execute  
– Append  
– Delete  
– List  
ꢀ Ñeå kieåm soaùt quaù trình truy caäp, caùch tieáp caän thoâng  
thöôøng laø gaùn keøm theo moãi file moät access-control list  
(ACL)  
-XI.27-  
Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM  
Access-control list vaø group  
ꢀ Caùc cheá ñoä truy caäp: read, write, execute  
ꢀ Ba nhoùm user: owner, group, universe (public)  
– User name vaø user identifier (user ID)  
– Group name vaø group identifier (group ID)  
ꢀ Ví duï trong UNIX: coù 3 field, moãi field coù 3 bits  
– Field  
: read, write, execute  
RWX  
1 1 1  
RWX  
1 1 0  
RWX  
0 0 1  
owner access  
group access  
public access  
7
6
1
⇒
⇒
⇒
-XI.28-  
Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp.HCM  
14  
pdf 14 trang yennguyen 16360 Free
Bạn đang xem tài liệu "Bài giảng Hệ điều hành - Chương 8: File-System Interface - Thoại Nam", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_he_dieu_hanh_chuong_8_file_system_interface_thoai.pdf