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
ꢀ 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
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:
bai_giang_he_dieu_hanh_chuong_8_file_system_interface_thoai.pdf

