ệ ố

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 (non­volatile 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, back­up 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

 Memory­mapped 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,

 Single­level directory  Multi­level directory  Tree­structured directory  Acyclic­graph directory  General graph directory

19

ạ ấ

Các lo i c u trúc c a th

ụ ư m c (1)

 Single­level 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 single­level 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)

 Two­level directory   ‘master file’ directory  ‘user file’ directory

22

ạ ấ

Các lo i c u trúc c a th

ụ ư m c (4)

 Tree­structured 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)

 Acyclic­graph directory

24

ạ ấ

Các lo i c u trúc c a th

ụ ư m c (6)

 General­graph 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 client­server, 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