HỆ ĐIỀU HÀHH Hệ thống quản lý tập tin
Trang 1HE DIEU HAHH
Hé thong quan ly tap tin
Trang 2Nội dung
1 Cac khái niệm co’ ban
2 Câu trúc hệ thông file
3 Co’ ché cap phat vùng lưu trữ
4 Sao lưu phục hôi dữ liệu
Trang 3CẤU TRÚC ĐĨA CỨNG
«4 |
(a) A hard disk drive (b) A single disk
e Hệ điều hành xem đĩa cứng như một chuỗi các
block liên tiếp với kích thước cố định
Trang 4CẤU TRÚC
HỆ THỐNG FILE
e Tổ chức theo phân lớp
e File Control Block (FCB)
- Nằm trên đĩa cứng, chứa
e Thông tin bảo mật file
e Thông tin nơi lưu trữ file
e Virual File System (VFS)
- Cung cấp API chung truy
xuất nhiêu loại hệ thông file khác nhau
e Cấu trúc thư mục
- Dùng danh sách liên kết
- Dùng bảng băm
application programs
logical file system
file- organization module
basic file system
I/O control
t
devices
Trang 5
Virual File System (VFS)
Trang 6Khái niệm cơ sở (tt)
na Để giúp người dùng sử dụng các thiết bị lưu trữ một cách hiệu quả, hệ
điều hành che dấu các chi tiết cấp thấp của các thiết bị lưu trữ vật lý
bằng các khái niệm luận lý
Q Các khái niệm luận lý (user view)
— File - file description - directory - file system
> data | size block
data data data
data sm
16[_]17
20L ]21[ ]22 24L ]25
Trang 7Các thành phân liên quan
Records Physical blocks Physical blocks
in main memory in secondary
directo ry access mg Buffer storage
commands Operation, File ; ; mm VO Free storage
File Management Concerns = >
Operating System Concerns
11.7
Trang 8Khái niệm cơ sở (tt)
a File: khối lưu trữ luận lý liên tục
binar 3 Symbol table size TH Owner
y Entry point Protection
— Chương trình | 2 Size
nA A Km ook rae Header
an Phân biệt loại file
Object module Symbol
table
(a) Executable file (b) Archive (”.o)
Trang 9Khái niệm cơ sở (tt)
na Các thuộc tính của file
Protection Who can access the file and in what way
Password Password needed to access the file
Creator ID of the person who created the file
Owner Current owner
Read-only flag O for read/write; 1 for read only
Hidden flag 0 for normal; 1 for do not display in listings
System flag 0 for normal files; 1 for system file
Archive flag O for has been backed up; 1 for needs to be backed up
Lock flags 0 for unlocked; nonzero for locked
Record length Number of bytes in a record
Key position Offset of the key within each record
Key length Number of bytes in the key field
Trang 10Khái niệm cơ sở (tt)
na Các thuộc tính của file - tên file
file type usual extension function executable exe, com, bin ready-to-run machine-
or none language program
object obj, o compiled, machine
language, not linked
batch bat, sh commands to the command
library lib, a, so, dll libraries of routines for
programmers
print or view ps, pdf, jpg ASCII or binary file in a
format for printing or
viewing archive arc, Zip, tar related files grouped into
one file, sometimes com- pressed, for archiving
or storage multimedia mpeg, mov, rm, | binary file containing mp3, avi audio or A/V information
Trang 11Khái niệm cơ sở (tt)
na Cấu trúc file
— Không cấu trúc — một chuỗi word/byte
— Cấu trúc record đơn giản
= Fixed length vs variable length
— Cấu trúc phức tạp
= Formatted document (Word, PDF document., )
= Relocatable load file (executable, dynamic linking library, )
Trang 12Khái niệm cơ sở (tt)
o Truy cap file (tu user-view)
— Seguential
“ truy xuất dữ liệu theo thứ tự, từng byte hoặc record
— Keyed (hoac indexed)
= dinh vi mét block dua vao key value hoac chỉ muc (vd hash, dictionary)
— Memory mapping file
= file được ánh xạ vào không gian địa chỉ
“ dùng tác vụ truy xuất bộ nhớ —› hệ điều hành sẽ thực hiện các
tác vụ tương ứng
a Truy cap file (tu operating system view)
— Seguential
“ CÓ con trỏ file trỏ đến vị trí đọc/ghi kể tiếp
= sau một tác vụ đọc/ghi phải cập nhật vị trí con trô file mới
— Direct access (random access)
“ định vị vị trí bất kỳ trong file dựa vào độ dời (offset)
Trang 13— Tìm file trong thư mục -> thực hiện tác vụ đọc tại vị trí con tro doc
Heposition — file seek
— Thiết lập con trỏ đọc/ghi đến vị trí được chỉ định
— Tìm file Fi trong cấu trúc thư mục trên đĩa, kiểm tra quyền truy cập, nạp
nội dung entry Fi trong thư mục vào bộ nhớ
Close(Fi)
— Chuyển nội dung entry Fi trong bộ nhớ vào đĩa
11.13
Trang 14Type: file, directory, symbolic link,
Address: địa chỉ của khối lưu trữ file
Current length
Maximum length
Date last accessed
Date last updated
Owner ID
Protection information
Trang 16Naming và thư mục
a Van dé
— hé diéu hanh dung ky s6 dé dinh danh file (file descriptor)
— người sử dụng thích dùng file theo tên gợi nhớ (textual name)
=> directory: cấu trúc dữ liệu của hệ điêu hành giúp ánh xạ file
descriptor <> tên gợi nhớ
na Các chiến lược naming
— Hiệu quả: tìm kiếm nhanh
— Thuận tiện cho user khi đặt tên file, các user khác nhau có thể đặt
tên file trùng nhau
— file có thể có nhiều hơn một tên
— hỗ trợ phân nhóm (grouping): tổ chức các files cùng đặc điểm vào
chung nhóm (e.g nhóm file chương trình C, nhóm file Word, )
Trang 17Naming va thu muc (tt)
O Single-level directory (flat name space)
— mot directory cho tat ca file (IBM MVS, PalmOS)
Trang 18Naming va thu muc (tt)
` |
Kb - im _
aa — Asselin
Trang 19
Naming va thu muc (tt)
Trang 20Naming va thu muc (tt)
Q General graph directory
— cycle
— chi cho phép tao links cua file (*nix)
-> dùng giải thuật kiểm tra chu trình mỗi khi tạo file
root | avi tc jim
text | mail | count| book book | mail |unhex| hyp
Trang 21Hien thuc file
O Hién thuc file
— File
" logical view = array[0 N-1] of blocks
= physical view = CHS(cylinder, head, sector)
— Hién thuc
= cap phát không gian lưu trữ cho mỗi file
“ quản lý thông tin vê không gian lưu trữ của file trong thu
mục
a Cac phương pháp cấp phát phổ biến
— Cap phát liên tuc (contiguous allocation)
— Danh sach lién két (linked list allocation))
— Chi muc (indexed allocation)
12.21
Trang 22na Có thể truy xuât ngâu nhiên một block
Trang 23
block block block block block
Trang 24Danh sách liên kết (tt)
block | pointer
16[1|17L ]18L ]19[ ]
20L ]2tL j22L 123L ]
— Không có phân mảnh ngoại
— Dễ dàng thay đổi kích thước file
— Quản lý không gian trống bằng
— Tốn không gian lưu trữ các con trỏ
— Độ tin cậy: nếu pointer bị hỏng
Trang 25FILE ALLOCATION TABLE (FAT)
end-of-file
Trang 26
-2B-FILE ALLOCATION TABLE (FAT)
e FAT (File Allocation Table) |
-_ Mỗi block đĩa có một entry name start block
tương ứng trong bang FAT,
đánh chỉ mục bằng chỉ số
block
e [ương tự linked list
e Chua chi s6 block ké tiếp Bnngg
trong file
-_ Tốn chỉ phí tìm kiếm trên đĩa 616
e [ìm trên FAT + tìm data
e Cải thiện bằng cách thực no of disk blocks —1
hién caching FAT hoac dat
FAT hoan toan trong RAM (20G disk, block = 1KB ->
20K entry ~ 80 MB RAM)
217
FAT
Trang 27
-26-CẤP PHÁT VUNG LUU TRU THEO
Trang 28-27-wa
CAP PHAT VUNG LUU TRU THEO
CHỈ SỐ (/ndexed Allocation)
© Uu diém
— Random + sequential access
- Không có phân mảnh ngoại
-_ Giải quyết vấn đề về kích thước
@ Khuyết điểm
-_ Tốn không gian lưu trữ bảng index
—_ Khi file có kích thước nhỏ
e Vấn đề
- kích thước index block bao nhiêu là phủ hợp”?
=> multilevel index: tudng tu multi-level paging
Trang 29LƯU TRỮ BẢNG CHỈ SỐ CỦA FILE
e Lưu liên tục
- Bảng chỉ số lưu trong 1 block của đĩa
e Lưu theo kiểu liên kết
- Bảng chỉ số lưu trong n block cúa đĩa nổi với nhau bằng danh sách liên kết
e Lưu bằng bảng chỉ số đa cấp
- Dùng bảng chỉ số khác để lưu các con trỏ đến các index block của file
e Sử dụng cơ chế kết hợp
Trang 30
-99-HỆ THỐNG FILE CỦA UNIX
e Đĩa cứng chia thành nhiều block
Số link trỏ tới file
Thông tin về thời điểm truy cập, tạo file
Kích thước file
Dãy các địa chỉ khối chứa dữ liệu
Trang 31CAU TRUC I-NODE CUA BSD UNIX
> data size block
| data count
Trang 32
-31-I-NODE CUA THU MUC
Chỉsố | Tên file / Chỉsố | Tên file /
-node | thư mục -node | thư mục
Trang 33e Một thư mục có thê chứa các thư mục con
Thư mục gốc (/) là điểm vào đâu tiên cho
cả cây thư mục
21.33
Trang 34Các thư mục thông dụng
m / (thu muc goc)
e /bin : thw muc tép chương trình cơ bản
e /boot : thư mục chứa hạt nhân của HĐH
e /etc : thư mục các tệp câu hình
e /dev : thư mục các tệp thiết bị
_® /home : thưừ mục chứa dữ liệu NSD
e /lib : thư viện hệ thông
e /usr : thư mục ứng dụng
e /var : thư mục dữ liệu hệ thông, thường được cập
nhật
21.34
Trang 35
Tep UNIX vs tệp Windows
m Giỗng nhau
e độ dài tôi đa cho tên tệp là 255
e Chấp nhận tất cả các kí tự đê đặt tên tệp (nhưng nên
tránh sử dụng các kí tự đặc biệt như ” 2[] & de tránh
sự nhập nhang trong câu lệnh sử dụng sau này)
mã Tính đặc thù cua Unix
©® Quản lý dưới một khung nhìn của tệp cho cả thư mục
và các loại tài nguyên hệ thông (ngoại vi, bảng phân chương đĩa)
e Không có khái niệm phận mở rộng của tên tệp (kí tự trong tên tệp được đối xử như mọi kí tự khác
e Không dùng 6 dia logic trong cây thư mục
e '" được dùng thay cho ' trong đường dẫn thư mục
21.35
Trang 36
Kiều của tệp
m Có 3 loại tệp chính trong một cây thư mục của Unix:
e Tệp thư mục là một thư mục trong đường dẫn phân
loại (vd., /usr, /“hnome, )
e lệp thông thường là một tệp chứa dữ liệu hoặc tệp
chương trình (vd., /bin/passwd, /etc/passwd, )
e Tệp đặc biệt là một tệp thiết bị tương ứng với thiết bị
ngoại vi hoặc các tệp tự sinh bởi HĐH (vd., /dev/hda1, /dev/cdrom, /dev/IpO, .)
21.36
Trang 38; tuỳ chọn -a cho phép hiễn thị cả các tệp ân
; tuỳ chọn -l cho phép hiền thị thuộc tính cho mỗi tệp (kiểu, quyên, liên
kêt, chủ sở hữu, nhóm sở hữu, kích thước, ngày sửa đôi)
mkdir: tạo một thư mục rỗng rmdir: xoá một thư mục rỗng
21.38
Trang 40—-rw-r r 1 tuananh userl 2451 Feb 7 07:30 bashrce
—-rw-r r 1 tuananh userl 4025 Feb 10 19:12 linux.ppt
drwxr-xr 2 tuananh userl 512 Feb 10 19:12 linux
Trang 41Các siêu kí tự
e “ dùng dé thay thé cho một chuỗi kí tự bất kì
bao gôm cả xâu rông
e ? thay thé cho mot ki tu bat ki
e [ ] được thay thê bởi một kí tự trong một tập
kí tự cho trước
® [! ] được thay thê bởi một kí tự không có
trong một tập kí tự cho trước
21.41
Trang 42userl 512 Feb userl 512 Feb
userl 451 Feb 7 userl 225 Feb 7 userl 351 Feb 7
19:12 c_prog 19:12 java_prog
2:30 bashrec :30 bash_profile :30 bash_logout
Trang 43e cho phép sao chép/di chuyên/xoá toàn bộ thư mục
bao gôm cả các thư mục con
21.43
Trang 44
Š 1s -l1
—rw-r r 1 tuananh drwxr-xXr 2 tuananh
Š 1s -l1
Š
Ví dụ
userl userl
test.txt
test.txt
Trang 45QUAN LY VUNG TRONG (1/2)
e Dung bit vector: N bit quan ly N block data
- Bít =0 : block da cap
- Bit=1: block còn trống
e Dùng danh sách liên kết các block trống
e Nhóm các block trống (Grouping)
- Chứa địa chỉ N block trong 1 block trống đầu tiên
- N-1 địa chỉ đầu trỏ đến các block trống thực sự
- Địa chỉ cuối trỗ đến block chứa N địa chỉ block
trồng khác
e Đếm khoảng trống (Counting)
- Mỗi block trống lưu trữ số khoảng trống liên tục
tiếp theo nó & địa chỉ block trồng không kê tiếp
Trang 47
QUAN LY VUNG TRONG (2/2)
Bit vector (bitmap)
- Thao tác trên bit
@ Cần không gian lưu trữ Ví
Trang 48-47-QUAN LY VUNG TRONG (2/2)
Linked list
Liên kết các khối trống với nhau
Chỉ cần giữ con trỏ đến khối nhớ
trống đầu tiên trên đĩa hoặc cache
trong bộ nhớ chính dé tang toc
Ít lãng phí không gian đĩa
Dò biết khoảng không gian trống tiên
tục7
Không hiệu quả: phải duyệt toàn bộ
đĩa để tìn không gian trống
16L ]17 20L |21[ ]22
Trang 49-48-QUAN LY VUNG TRONG (2/2)
Grouping & counting
- Tổ chức bảng chỉ mục, trong đó mỗi phần tử của bảng
chứa địa chỉ trên đĩa của khối trống đầu tiên trong nhóm
khối trống kèm theo một chỉ số đếm (cho biết số khối
Trang 50-49-aA
CUA HE THONG FILE
e Độ hiệu quả hệ thống file phụ thuộc
- Cách cấp phát đĩa, các giải thuật trên thư mục
- Loại dữ liệu trong mục của bảng thư mục
e Tăng hiệu suất hệ thống file
- Disk cache
- Page cache
- Free-behind & read-ahead
— Virtual Disk/ RAM disk
— Parallel I/O
Trang 51SAO LƯU VÀ PHỤC HỒI DỮ LIỆU
e Kiểm tra sự nhất quán của dữ liệu
- S0 sánh thơng tin trên block đĩa và trong thu mục
- Sử dụng các tiện ích: ndd, fsck, scandisk,
e Sao lưu (øac&ù) dữ liệu sang thiết bị lưu trữ
khác
- Sao lưu tồn phần (normal backup)
~ Sao luu tang dan (incremental backup)
e Phục hồi (zes/oze) dữ liệu từ thiết bị sao lưu
- Khi cĩ hỏng hĩc hệ thống
- Khi cân phục hồi hệ thống về trạng thái cũ
e Hệ thống file cĩ ghi log /ò Siructfured File
Trang 52
-51-Bảo vệ (protection)
na Hệ điều hành phải hỗ trợ chủ nhân của file khả năng kiểm soát
quá trình truy cập file
— Các tác vụ có thể thực hiện trên file?
— Những ai được quyên thực hiện thao tác trên file?
a Các quyên truy xuất file
n Cách tiếp cận thông thường
— Access-control list (ACL): <user, rights> hoac <file, rights>
=» Windows NT/2K/XP, Linux
— Group, a.k.a access-control bits (“NIX): user, group, public
Trang 53ACL (Access Control List)
` Kernel
space
11.53
Trang 54Access Control Bit
a Cac ché do truy cap: read, write, execute
oO Ba nhom user: owner, group, other (public)
— User name va user identifier (user ID)
— Group name va group identifier (group ID)
a Vi du trong UNIX: co 8 field, mdi field cé 3 bits
— Field : read, write, execute