Sunteți pe pagina 1din 65

Chng 9

File-System Interface
va hien thc
Khoa KTMT 8.2
Noi dung file system interface
Khai niem c s
Cac phng thc truy cap
Cau truc th muc
File-system mounting
Chia se file
Bao ve (protection)
Khoa KTMT 8.3
Noi dung File-System Implementation
Hien thc he thong file
Nhng phng phap bo tr (Allocation Methods)
Hien thc th muc (Directory Implementation)
Quan ly khong gian trong (Free-Space Management)
Sao lu va phuc hoi (Recovery)
MOT SO HE THONG QUAN LY TAP TIN
Khoa KTMT 8.4
Nhng yeu cau cua user
Persistence: d lieu c lu gi ben vng
Speed: truy xuat d lieu nhanh
Size: co the lu tr that nhieu d lieu
Sharing/protection: user co the chia se d
lieu khi can thiet va co the bao ve d
lieu rieng t khi can thiet
Ease of use: user co the de dang tm kiem,
kiem tra, hieu chnh, cap nhat d lieu
Khoa KTMT 8.5
ac iem cua phan cng va OS
Phan cng cung cap s ho tr sau
Persistence: cac thiet b lu tr ben vng (non-volatile
memory)
Speed: cung cap kha nang truy xuat ngau nhien (random
access), nang cao toc o a (5400 7200 10K rpm,)
Size: dung lng a ngay cang ln (40GB, 80GB, 120GB,)
He ieu hanh cung cap
Persistence: lu tr d tha, back-up phuc vu cho recovery (v
du: RAID,).
Ease of use:
Gan ten cho mot khoi d lieu (file)
To chc cau truc quan ly file: th muc
Thc hien cac thao tac len file nhng che dau cac chi
tiet hien thc (lu file tai sectors nao cua a, giao tiep
vi disk controller nh the nao,)
Sharing/protection: cac quyen truy cap file/th muc
Khoa KTMT 8.6
Khai niem c s
Files, oi vi ngi s dung (user view):
cach s dung va cac ac iem cua files
File description: name, type, size,
Cac tac vu
Directory
File System
Khoa KTMT 8.7
Cac thuoc tnh cua file
Name: ten file (human-readable form)
Type: binary, text, image,
Location: con tro en v tr file tren thiet b lu
tr
Size: kch thc hien tai (va mc toi a cho
phep)
Protection: kiem soat quyen oc, ghi, thc thi
file
Time, date, user identification: cac thong tin dung
cho protection, security, va usage monitoring
Thong tin ve file c gi trong cau truc th
muc. Cau truc nay c lu tr tren thiet b
lu tr vat ly.
Khoa KTMT 8.8
Cac tac vu len file/th muc
Create
Cap phat khong gian lu
tr
Them entry trong th muc
Write
Tm entry trong th muc
Thc hien tac vu ghi tai
v tr con tro ghi (write
pointer)
Read
Tm file entry trong th muc
Thc hien tac vu oc tai
v tr con tro oc (read
pointer)
Reposition, file seek
Thiet lap con tro oc/ghi
en v tr c ch nh
(tai nh v).
Delete
Tm entry trong th muc
Thu hoi cac disk blocks cua
file
Xoa entry khoi th muc
Truncate
Gi lai tat ca cac thuoc
tnh file, ngoai tr kch thc
file = 0
Open(Fi)
Tm entry trong th muc tren
a
Kiem tra quyen truy cap
Nap noi dung entry trong th
muc vao bo nh
Close(Fi)
Chuyen noi dung file entry t
bo nh vao th muc tren
a
Khoa KTMT 8.9
Cac cau truc file
Khong cau truc: mot chuoi words, bytes
Cau truc record n gian
Lines
Fixed length
Variable length
Cau truc phc tap
Formatted document (Word/Excel document,)
Relocatable load file (executable, dynamic linking library,)
Moi he ieu hanh phai ho tr t nhat mot cau
truc, o la cau truc cua file thc thi
(DOS/Windows: .exe, .com,)
Khoa KTMT 8.10
Kieu file va Extension
Khoa KTMT 8.11
Access Methods
Sequential access: truy xuat thong tin tuan t
read (oc va t ong di con tro file en v tr ke
tiep)
write
tr ve au file, en cuoi file
forward/backward n record

Direct access (relative access)
file cau thanh t cac khoi, record co kch thc co
nh
read ke t v tr n
write ke t v tr n
position to v tr n
read next
write next
Minh hoa sequential access
Khoa KTMT 8.12
Cau truc th muc
La tap hp cac node lu gi thong tin cua cac file
trong he thong
F
1
F
2
F
3
F
4
F
n
Directory
Files

Ca cau truc th muc va cac file eu nam tren


a
Khoa KTMT 8.13
V du ve cau truc file-system
Khoa KTMT 8.14
Thong tin trong moi entry cua th muc
Name
Type: file, directory, symbolic link,
Address: a ch cua khoi lu tr file
Current length
Maximum length
Date last accessed
Date last updated
Owner ID
Protection information

Khoa KTMT 8.15
Cac tac vu len th muc
Search: tm trong cau truc th muc e lay c
thong tin trong entry cua mot file
Create: tao mot file mi va them entry vao cau truc
th muc e quan ly
Delete: xoa mot file
List: hien th noi dung cua cac file entry trong mot th
muc
Rename: oi ten file
Traverse: duyet toan bo he thong file
Thc chat, th muc la mot file ac biet, lu nh
danh cua cac file trong th muc cung vi tat ca
thong tin khac ve file.
Khoa KTMT 8.16
Muc tieu to chc cau truc th muc
Hieu qua (efficiency): nh v nhanh chong
mot file nao o.

at ten (naming): thuan tien cho user. V du
Hai users co the co file trung ten nhng khac
nhau.
Mot file co the co nhieu ten khac nhau.

Nhom (grouping): to chc thanh cac nhom
file luan ly da tren cac thuoc tnh cua file,
v du: file chng trnh C, file tai lieu MS Word,
file chng trnh games,
Khoa KTMT 8.17
Cau truc single-level
Naming
Grouping

Khoa KTMT 8.18
Cau truc two-level
Khai niem ng dan (path name) (khong co
cau truc single-level)
Hai users co the co file trung ten
Tm kiem hieu qua hn
Khong ho tr kha nang grouping
Khoa KTMT 8.19
Cau truc cay th muc
Khoa KTMT 8.20
Cau truc cay th muc (tt)
Tm kiem hieu qua
Cung cap kha nang grouping (bang cach to chc
cau truc th muc con)
Co the dung ng dan tuyet oi hoac tng oi
Khai niem th muc lam viec (working directory). V du
cd /spell/mail/prog
cat list
Xoa cay th muc
xoa th muc mail

To chc cau truc d lieu quan ly kha phc tap
(phan hien thc he thong file)
mail
prog copy prt exp count
Khoa KTMT 8.21
Th muc co cau truc acyclic-graph
Co the chia se th muc
con hay file.
Mot file chia se co the
co nhieu ten (aliasing)
Hien thc chia se
Symbolic link: mot con tro
en file hoac th muc
khac
ln -s /spell/count /dict/count
Hard link: nhan ban thong
tin trong th muc chia se

Neu file /dict/w/list b
xoa dangling pointer
/spell/count
Khoa KTMT 8.22
File-system mounting
e co the truy xuat c, file system phai c gan
lap (mount)
File system can c gan tai mot th muc (mount
point).
Cac bc tien hanh gan lap: mount /device/dsk
/users
Cung cap ten thiet b cha file system va mount point
Kiem tra xem thiet b co cha mot file system hp le khong
Gan lap file system vao v tr mount point
Neu mount point co cha file?
Cac file cua th muc mount point se khong nhn thay c,
tr phi unmount file system.
Co the gan lap cac file system khac nhau tai cac
mount point khac nhau.
Khoa KTMT 8.23
File system mounting (tt)
Existing
Unmounted
partition
(/device/disk)
Mount
Point
Vung khong nhn thay khi /device/disk c mount
Lenh gan lap: mount /device/dsk /users
Khoa KTMT 8.24
Chia se file
Nhu cau chia se file trong he thong multiuser rat
ln
Viec chia se cung co the thc hien qua c
che bao ve, kiem soat nghiem ngat
Tren he thong phan bo (distributed systems),
cac file co the c chia se qua mang may tnh
Network File System (NFS) la phng phap chia se
file rat pho bien dung c che RPC (mo hnh
client-server)
Mot file system t xa cung phai c mount
trc khi s dung
mount ditlab.hcmut.edu.vn:/oscourse /home/osbook
Khi file system a c mount, moi truy xuat en file/th
muc tren o eu nh bnh thng, khong phan biet
la local hay remote na.
Khoa KTMT 8.25
V du mount remote file-system
/
home
paper osbook
/
oscourse
DFS DSM
Local Client Remote Server
export
mount
DFS DSM
/home/osbook/DSM
/oscourse/DSM
ditlab.hcmut.edu.vn
Khoa KTMT 8.26
Bao ve (protection)
Chu nhan cua mot file phai c cung cap kha
nang kiem soat, ieu khien qua trnh truy cap file
Cac tac vu co the thc hien tren file?
Nhng ai c quyen thc hien thao tac tren file?
Cac kieu truy xuat file
Read
Write
Execute
Append
Delete
List
e kiem soat qua trnh truy cap, cach tiep can
thong thng la gan kem theo moi file mot access-
control list (ACL)
Khoa KTMT 8.27
Access-control list va group
Cac che o truy cap: read, write, execute
Ba nhom user: owner, group, universe (hay public)
User name va user identifier (user ID)
Group name va group identifier (group ID)
V du trong UNIX: co 3 field, moi field co 3 bits
Field : read, write, execute
Bit : r(4), w(2), x(1)
r w x
owner access 7 1 1 1
r w x
group access 6 1 1 0
r w x
public access 1 0 0 1
Khoa KTMT 8.28
File-System Implementation
Hien thc he thong file
Nhng phng phap cap phat (Allocation Methods)
Hien thc th muc (Directory Implementation)
Quan ly khong gian trong (Free-Space Management)
Sao lu va phuc hoi (Recovery)
Khoa KTMT 8.29
S o bo tr (layout) he thong file (1)
i-nodes
Partition control block FCBs

Khoa KTMT 8.30
S o bo tr (layout) he thong file (2)
Partition control block:
lu so lng block trong partition, kch thc block, so lng
free block hien thi va cac con tro ch en chung,
lu so lng free FCB hien thi va cac con tro ch en
chung,
V du, UNIX File System: superblock
File control block (FCB): moi file c quan ly thong
qua FCB cua no
lu cac thong tin ve file , ke ca cac con tro ch en cac
data block cua no
V du, UNIX File System: i-node
Khoa KTMT 8.31
VFSVirtual File System
disk
partition
disk
partition
ext2 file system FAT file system NFS file system
ng dung
VFS
: goi ham/thu tuc
open, read, write, opendir,
Khoa KTMT 8.32
Hien thc file
Cap phat khong gian lu tr cho file/directory, muc
tieu:
s dung khong gian a hu hieu
truy cap file nhanh

Cac phng phap cap phat pho bien
Cap phat lien tuc (contiguous allocation)
Cap phat theo danh sach lien ket (linked list allocation)
Cap phat dung ch muc (indexed allocation)
Khoa KTMT 8.33
Cap phat lien tuc
Seek time?
Di chuyen au oc?
Co the truy xuat ngau nhien mot
block cua file: block nr = start + block
offset
Phan manh ngoai
Van e khi tao file mi va khi can
them block cho file
ng dung: ISO-9660 (CDROM)
Khoa KTMT 8.34
Cap phat theo danh sach lien ket (1)
-1
-1
pointer
data
layout cua block
Khoa KTMT 8.35
Cap phat theo danh sach lien ket (2)
u iem
De dang them block cho file khi
can
Quan ly khong gian trong
bang danh sach
Khong co phan manh ngoai
Nhc iem
Ch truy xuat hieu qua oi vi
sequential-access file
Ton khong gian lu tr cac con
tro
o tin cay: pointer trong block co
the b hong
Phan manh noi khi n v cap
phat la cluster (mot hang so
cac block)
Khoa KTMT 8.36
Bien the cua cap phat theo danh sach lien ket:
FAT
FAT (File Allocation Table)
Moi block a c tng
trng bi mot entry trong FAT
Block vi block nr i c
tng trng bi entry vi ch
so (index) i
Entry cha block nr ke
tiep trong file, neu file
gom nhieu block
FAT
number of disk blocks - 1
Khoa KTMT 8.37
Cap phat dung ch muc (1)
Bang index (index block)
cha a ch cac block cua
file
th t cac a ch tren
trong bang cung la th t
cac block trong file

Khoa KTMT 8.38
Cap phat dung ch muc (2)
u iem
Random va sequential access
Khong co phan manh ngoai
Khuyet iem
Ton khong gian lu tr bang index khi file co kch thc ch vai
block
Van e: kch thc index block bao nhieu la phu hp?
Giai quyet: multilevel index
Khoa KTMT 8.39
i-node
UNIX v7 i-node: 13 pointers
Linux ext2 i-node: 15 pointers
i-node
Khoa KTMT 8.40
Hien thc th muc
MS-DOS UNIX, Linux
Th muc c dung e cha bang anh xa t ten file (chuoi
ky t ASCII) en thong tin can thiet e nh v cac block d
lieu cua file
To chc th muc
Danh sach tuyen tnh (array hay linear list), bang bam,
first block nr
Khoa KTMT 8.41
FAT
V du
Khoa KTMT 8.42
He thong file FAT
FAT dung e ch bang FAT va cung dung e ch
he thong file
Layout cua mot partition cha he thong file FAT
Boot sector FAT Root directory Data blocks
Khoa KTMT 8.43
Hien thc ten file dai
Giai quyet van e ten file dai (Win98, 2000, XP,
*NIX,...)
(a) In-line
(b) Heap
Khoa KTMT 8.44
i-node (1)
V du
Khoa KTMT 8.45
i-nodes (2)
Layout cua mot partition cha he thong file UNIX
Khoa KTMT 8.46
i-node: chia se file (1)
Khoa KTMT 8.47
i-node: chia se file (2)
Khoa KTMT 8.48
Duyet path name e lay block nr cua
file
V du: Xac nh cac block d lieu cua file /a/b/c
Khoa KTMT 8.49
Quan ly khong gian trong
Cac phng phap
Bit vector (bit map)
Linked list
Grouping
Counting
Khoa KTMT 8.50
Phng phap bit vector (bit map)
n gian va hieu qua khi
can tm khoi trong au tien
hoac chuoi khoi trong lien
tuc
Thao tac tren bit

Can khong gian lu tr. V
du
Kch thc block = 2
12
bytes
Kch thc a = 2
30
bytes
n = 2
30
/2
12
= 2
18
bit (32KB)
V du:
bit vector 00111100

block 0, 1 trong
block 2, 3, 4, 5 a c cap
block 6, 7 trong


0 1 2 n - 1
bit[ i ] =


0 block i con trong
1 block i a c cap
Khoa KTMT 8.51
Phng phap dung linked list
Phng phap
Lien ket cac khoi trong
vi nhau
Ch can gi con tro en
khoi nh trong au tien
tren a hoac cache trong
bo nh chnh e tang toc
t lang ph khong gian a

Do biet khoang khong gian trong lien tuc?
Khong hieu qua: trong trng hp xau
nhat phai duyet toan bo a e tm khong
gian trong lien tuc
Khoa KTMT 8.52
Grouping va counting (1)
Phng phap grouping
a ch cua n khoi trong c lu trong khoi nh au
tien.
Khoi nh th n cha a ch cua n khoi nh trong ke
tiep.

Phng phap counting
To chc bang ch muc, trong o moi phan t cua
bang cha a ch tren a cua khoi trong au tien
trong nhom khoi trong lien tuc kem theo mot so em
(cho biet so khoi trong trong nhom).
Co the cap phat hoac thu hoi ong thi nhieu khoi
nh lien tuc
Khoa KTMT 8.53
Grouping va counting (2)
Counting
2 4
8 6
17 2
25 3
Grouping
Block 2 3, 4, 5
Block 5 8, 9, 10
Block 10 11, 12, 13
Block 13 17, 28, 25
Block 25 26, 27
V du
Khoa KTMT 8.54
Open file structures
Thuoc tnh toan cuc (global attributes)
Disk location, size
Times
Buffers
Open count
Lock(s)
Thuoc tnh rieng cua process
File pointer
Access permissions

System
open file table
P1
P2
P3
Khoa KTMT 8.55
UNIX: open file structure
User space
Kernel space
data
blocks
i-nodes
open file
table
swappable
r/w
file
descriptor
file structure
table
in-core
i-nodes
resident
Khoa KTMT 8.56
Sao lu va phuc hoi d lieu
Kiem tra s nhat quan d lieu (consistency checker) so sanh
d lieu trong cau truc th muc vi cac khoi d lieu tren a
va sa cha cac loi khong nhat quan d lieu gia hai ben.

Dung chng trnh he thong e sao lu (backup) d lieu t a
sang cac thiet b lu tr phu khac nh a mem, a quang,
bang t,... va phuc hoi d lieu b mat t ban sao lu.
Khoa KTMT 8.57
Day 3
Day 2
Cac kieu sao lu d lieu
Normal Incremental
Data
Day 1
Data
Copied
Day 1
Day 2
Day 3
Differential
Data
Copied
Day 1
Day 2
Day 3
Khoa KTMT 8.58
Journaling file system
Journaling file system
Ghi nhan cac lan cap nhat tren file system thanh cac giao
tac (transaction)
Moi transaction eu phai c ghi nhan trong log file
Mot transaction c xem la hoan tat (commit) a c
ghi nhan ay u trong log file (luc nay, file system co the
cha c cap nhat)
Khi file system c cap nhat vi ay u moi tac vu trong
transaction th transaction se c xoa i trong log file.
Neu file system b hong he ieu hanh da vao cac
transaction trong log file e sa cha

Tham khao them Linux-ext3, JFS, NTFS
Khoa KTMT 8.59
MOT SO HE THONG QUAN LY TAP TIN
FAT (File Allocation Table)
c s dung bi Ms-Dos, Windows.
Theo phng phap bang ch muc.
Co 3 loai FAT : FAT12, FAT16, FAT32.
Moi phan t cua FAT quan ly mot cluster.
Phan t au tien co so th t la2
Thng bao gom 2 bang
c nh v sau phan khi ong cua a logic
Khoa KTMT 8.60
FAT
FAT
0 X
1 X
2 EOF
3 13
4 2
5 9
6 8
7 FREE
8 Y
9 12
10 3
11 FREE
12 EOF
13 EOF
14 FREE
15 BAD
Kch thc a
Cha cap phat
Ket thuc tap tin
Khoi bhong
Tap tin A
Tap tin B
Tap tin C
6 8 4 2
5 96 12
10 3 13
Khoa KTMT 8.61
FAT
0
Cluster con trong
(0)002 - (F)FEF
Cluster cha dlieu cua cac tap tin
(F)FF0 - (F)FF6
Danh rieng, khong dung
(F)FF7
Cluster hong
(F)FF8 - (F)FFF
Cluster cuoi cung cua chuoi
Khoa KTMT 8.62
FAT12
a 1.44Mb s dung he ieu hanh MS-DOS
Boot Sector(1)
FAT 1(9)
FAT 2(9)
RDET(14)
DATA(2847)
Cluster 2
1 Cluster = 1 sector
Cluster 2 <=> Sector logic 33
Khoa KTMT 8.63
FAT12
a 1.44Mb s dung he ieu hanh MS-DOS
2
3
4
5
6
7
4
FF7
5
7
FF0
FFF
Ky hieu nhan dien a
1.44Mb
240 255 255
4 112
255 5
112 0 240
255 255
Gia tr FAT
Gia tr FAT lu tr trong tng byte t byte 0
4 = 000000000100
FF7 = 111111110111
00000100 01110000 11111111
Khoa KTMT 8.64
HE THONG TAP TIN CUA UNIX
a logic
Partition
Block , 1 block = 1024 bytes
Inode
Kieu
Quyen truy xuat
So lng ket noi
Ma cua chu nhan
Kch thc tap tin
Ngay : cap nhat, thay oi, bo sung
Khoa KTMT 8.65
HE THONG TAP TIN CUA UNIX
S o v tr cua cac I_node
Super block
I_nodes
Data block
Super block :
Kch thc cua toan he thong tap tin
a ch cua khoi d lieu au tien
So lng va danh sach block, I_node con trong
Ngay super block cap nhat

S-ar putea să vă placă și