ệ ố
Chương 10: H th ng file
ệ
• 10.A Giao di n h th ng file ụ
ệ ả
ệ ố ầ ủ ứ Các yêu c u c a ng d ng File Thư m cụ File system mounting ẻ Chia s & b o v
1
ụ
ữ
ứ
Lưu tr thông tin cho ng d ng
ầ ủ ứ
ụ
Các yêu c u c a ng d ng
Persistence Speed Size Sharing/protection Ease of use
2
ụ
ữ
ứ
Lưu tr thông tin cho ng d ng
ợ ỗ ợ ở Đư c h tr b i ầ ứ Ph n c ng
Persistence: các thi Speed: cung c p kh n
ữ ề ữ ẫ ậ ế ị ưu tr b n v ng (nonvolatile memory) t b l ả ăng truy c p ng u nhiên, nâng cao t c ố đ ộ đĩa (5400
(cid:0) 7200 (cid:0)
3
(cid:0) ấ 10K (cid:0) 15K rpm) ớ ợ Size: dung lư ng l n, 20M 700M (cid:0) 40G (cid:0) 200G (cid:0) 1T byte
ủ ứ
ụ
ữ
Lưu tr thông tin c a ng d ng
ề H ệ đi u hành
Persistence: lưu tr dữ ư th a, backup ph c v cho recovery
Ví d : RAID ( ụ
ụ ụ ừ
Ease of use:
Redundant Array of Independent Disks)
ỗ ộ file
(cid:0) ỗ ợ
ế ế ớ ố ữ ệ (cid:0) Gán tên cho m t chu i các kh i d li u H tr qu n lý các file ả User không c n quan tâm thư m cụ đ n các chi ti t hardware (giao ti p v i disk
ế ầ controller theo IDE, SCSI,…)
Sharing/Protection: cho phép thi
4
ế ậ ề ậ t l p các quy n truy c p file/th ư m cụ
5
ị
Đ nh nghĩa file
ỗ
File là m t chu i các byte
ộ ặ
đư c ợ đ t tên, persistent, ộ ụ các tác v lên m t file g m ít nh t là
read write
6
ấ ồ
ị
Đ nh nghĩa file
“The file, an abstraction in operating systems, is a sequence of
bytes with a name. Users are allowed to do only two things with a file: read and write. Read means to copy the file’s bytes into the user’s workspace. Write means to replace the contents of the file with a new sequence of bytes from the user’s workspace.” [Denning]
7
ạ Các lo i file
ạ Các lo i file regular file directory special device file (trong UNIX):
Almost every device has a special device file associated with it Character special file, block special file,… cho phép ng d ng t
ứ ụ ương
8
ộ ớ tác v i m t device driver
ể Các ki u file
ệ
ể t ki u file
Cách phân bi extension magic number
9
ụ
ể
Các ki u file thông d ng
10
ạ
ị
Đ nh d ng file (1)
ụ
ữ ệ
ễ
ị
ể ưu và di n d ch d li u trong file theo
ị đ nh
Ứ ng d ng có th l ạ d ng riêng MS Word Adobe Acrobat …
11
ạ
ị
Đ nh d ng file (2)
ụ
Ví d trong UNIX
Executable file
Archive
12
ấ
C u trúc file
C u trúc file: mô hình file
ấ
ỗ
ộ
ờ ậ đ ngể ư i dùng l p trình
ỗ ợ
ớ
ộ
ớ
ấ Fixed length, Hình b Variable length: h tr tìm nhanh chóng m t record v i key cho tr
ư c (IBM
mainframe), Hình c
13
ấ Không có c u trúc: m t chu i byte (Unix, DOS, Windows), Hình a C u trúc record
ậ
Các cách truy c p file
Dùng các tác v thông th
ặ
, t ng byte ho c record
ặ
ạ ị
truy xu t d li u, byte ho c record, t
ấ ỳ i v trí b t k
truy c pậ tu n tầ ự (sequential access) truy xu t d li u theo th t ứ ự ừ ấ ữ ệ truy c pậ b t kấ ỳ (random access) ấ ữ ệ truy c pậ dùng khóa
ự
ủ
ấ
ộ
truy xu t m t record d a vào key c a nó
s có các system call map và umap (“unmap”)
ế
ỉ ả ủ
ể đ “chi u” file vào không gian
ấ ộ
ể
ấ
ị đ a ch o c a quá trình ớ đ truy xu t file
ọ
Memorymapped file ả ử Gi ọ G i map ụ Dùng các tác v truy xu t b nh G i umap khi xong
14
ụ ờ ư ng (read, write) trên file,
ủ
ộ
Các thu c tính c a file
15
ụ Các tác v trên file
ớ ộ T o m t file m i
Create ạ Write
ữ ệ
ự
ệ
ạ ị
ỏ
ụ Th c hi n tác v ghi d li u vào file t
i v trí con tr ghi
Read
ọ ữ ệ ừ
ự
ạ ị
ệ Th c hi n tác v
ụ đ c d li u t
file t
i v trí con tr
ỏ đ cọ
ị
t l p con tr
ọ ỏ đ c/ghi
ế đ n v trí do quá trình ch
ỉ đ nhị
Reposition ế ậ Thi Delete
ạ ừ
ủ
ộ
ớ
ế ậ
l
ữ ạ ấ ả i t
t c các thu c tính c a file, ngo i tr kích th
ư c file
ợ đư c thi
ề t l p v
Xóa file Truncate Gi 0 Open
ả
ở
ử ụ
ớ
Quá trình ph i m file tr
ư c khi s d ng
Close
ử ụ
Quá trình ph i ả đóng file sau khi s d ng
16
Thư m cụ
ề ủ ệ đi u hành
đ ể
Thư m cụ (directory, folder) là m t ti n ích c a h ổ ứ
ủ
ễ
ờ
ộ ệ ch c các file c a mình.
ngư i dùng d dàng t
17
ụ
ụ Các tác v trên th
ư m c trong UNIX
Create ạ
Delete
ộ ớ T o m t directory m i
Xóa m t directory tr ng
Opendir
ố ộ
Closedir
Quá trình ph i ả đóng directory sau khi đ c nóọ
Readdir
ở ớ ả Quá trình ph i m directory tr ư c khi đ c nóọ
Đ c entry t
Link Unlink
18
ọ ớ ủ i c a directory
ạ ấ
ủ
Các lo i c u trúc c a th
ư m cụ
ệ ố
ứ ạ
ế
T ừ đơn gi n ả đ n ph c t p, tùy h th ng,
Singlelevel directory Multilevel directory Treestructured directory Acyclicgraph directory General graph directory
19
ạ ấ
ủ
Các lo i c u trúc c a th
ụ ư m c (1)
Singlelevel directory
Ch có m t directory cho m i file trong h th ng
ệ ố ọ ộ
20
ỉ CDC 6600, IBM MVS, PalmOS
ạ ấ
ủ
Các lo i c u trúc c a th
ụ ư m c (2)
Thu n ti n cho user khi
ặ ặ đ t tên file, các user khác nhau có th ể đ t tên file
ề ộ ơn m t tên
ổ ứ ể
ả ế ấ C i ti n c u trúc singlelevel directory ộ ố ụ M t s m c tiêu ệ ậ trùng nhau ể File có th có nhi u h H tr phân nhóm (grouping): t
ch c các files cùng đ c ặ đi m vào chung
21
ữ ồ ỗ ợ ộ m t nhóm Ví d nhóm file mã ngu n ngôn ng C, nhóm file MS Word,… ụ
ạ ấ
ủ
Các lo i c u trúc c a th
ụ ư m c (3)
Twolevel directory ‘master file’ directory ‘user file’ directory
22
ạ ấ
ủ
Các lo i c u trúc c a th
ụ ư m c (4)
Treestructured directory
ộ
ụ
M t cây th
ư m c trong UNIX
23
ạ ấ
ủ
Các lo i c u trúc c a th
ụ ư m c (5)
Acyclicgraph directory
24
ạ ấ
ủ
Các lo i c u trúc c a th
ụ ư m c (6)
Generalgraph directory ấ
ể ệ V n ấ đ : cycle có th xu t hi n
25
ả ể ạ ậ ỗ ề Dùng gi i thu t ki m tra chu trình m i khi t o file?
ừ
ị
ị
Đ nh v file trong cây/r ng th
ư m cụ
ộ
ặ ả ị
ủ
ờ
ẫ (path name) đ n m t file
đ ể đ c t
v trí c a
Dùng đư ng d n
ừ
ế file trong cây hay r ng directory Ví dụ
UNIX, Linux DOS, Windows
/usr/ast/mailbox \usr\ast\mailbox
ẫ tuy t ệ đ iố
ờ (current directory, working directory)
ờ Đư ng d n ệ ụ Thư m c hi n th i ờ Đư ng d n
ẫ tương đ iố
26
ệ ố
K t nế
i ố file system vào h th ng
ứ
ế ị
t b (partition,…) ch a file system
ể ứ đ ng
Ph i ả g nắ (mount) thi ậ
ủ ộ
đư c g i là ợ ọ mount point
ể ắ ệ ệ
ể ụ d ng có th truy c p file c a nó Thư m c ụ đ g n vào đó m t file system ắ ể ự Đ th c hi n l nh g n # mount /device/thedisk /mountpoint ả
ự
ề
• h ệ đi u hành ph i th c thi các b
ư cớ ợ ệ
ể
ắ ị
ứ
OS ki m tra xem file system có “h p l ” hay không G n file system vào v trí mountpoint ế Các file ch a trong th
N u mount point có ch a file? ứ file system.
27
ẽ ị ụ ế ư m c mount point s b che cho đ n khi unmount
File system mounting (1)
mount point
file system trong partition /dev/hda3
ị
ớ
ợ
đư c mount v i
Các file b che khi file system trong partition /dev/hda3 ệ l nh mount /dev/hda3 /users
28
File system mounting (2)
ể
ậ
Sau khi mount, có th truy c p các file trong partition /dev/hda3
29
Hard link và soft link
• Trong UNIX Hard link: Soft link:
30
ln /dict/count /spell/count ln s /spell/words/list /dict/all
NFS
ủ
ộ
ả
ấ
i pháp cung c p
ụ
Network File System (NFS) c a Sun là m t gi ạ
ệ
ử ụ ớ
ị d ch v file trong m ng máy tính ự v iớ RPC Mô hình clientserver, hi n th c ở NFS client ph i ả g nắ (mount) file system
From Feitelson
31
xa tr ư c khi s d ng
NFS
Mount
Ví dụ
mount ditlab.hcmut.edu.vn:/oscourse /home/mydir
T cái nhìn c a ng d ng, m i truy xu t ậ
ừ ụ ọ ế ấ đ n file hay th
ệ ư m c x y ra ụ ả ụ ộ t truy c p file/directory là c c b hay ở
ủ ứ ờ như bình thư ng, không phân bi xa.
H tr b i VFS (Virtual File System)
32
ỗ ợ ở
ụ
Ví d mount remote file system
/
/
home
oscourse
paper
mydir
IO
VM
/oscourse/VM
VM
IO
ditlab.hcmut.edu.vn
/home/mydir/VM
NFS client
NFS server
33
ệ
ấ ụ ộ
ở
VFS phân bi
t truy xu t c c b hay
xa
ở
ạ
ế N u file
xa, VFS kích ho t NFS client
ế ử ể đ nó x lý ti p
From Feitelson
34
ệ
ả
B o v (protection)
ả ỗ ợ ủ
ủ
ề
ệ
ể
H ệ đi u hành ph i h tr ch nhân c a file trong vi c ki m
ể ự ề ệ ự ợ
ậ soát truy c p file ụ Các tác v có th th c hi n trên file? ệ đư c quy n th c hi n thao tác trên file? ữ Nh ng ai
ậ
Các quy nề truy c p file
Read Write Execute, Append, Delete,…
ư ng ờ
ồ
ế ậ Cách ti p c n thông th M i file có m t
ộ Access Control List (ACL), g m các c p ặ (cid:0) user, rights(cid:0)
35
ộ ỗ Windows NT/2K/XP, Linux user có th là m t nhóm ể
Access Control List
ủ Owner c a process
B: R
ộ
m t ACL
File F1: ọ ủ M i quá trình c a user A có quy n ủ ọ M i quá trình c a user B có quy n
ề đ c/ghi ọ ề đ cọ
36
Các Access Control Bit
Các thao tác: read, write, execute Ba nhóm user: owner, group, other (public)
User name và user identifier (user ID) Group name và group identifier (group ID)
ụ
ỗ
ộ
ỗ
Ví d trong UNIX: m i nhóm user có m t field, m i field có 3
bit Field: Tr :ị
read | write | execute 0/1 0/1 0/1
(cid:0) owner access 7 r w x 1 1 1
(cid:0) group access 6 1 1 0
37
(cid:0) public access 1 0 0 1