Chương 9
File-System Interface
và hiện thực
Khoa KTMT
8.2
Noäi dung file system interface
Khái niệm cơ sở
Các phương thức truy cập
Cấu trúc thư mục
File-system mounting
Chia sẻ file
Bảo vệ (protection)
Khoa KTMT
8.3
Noäi dung File-System Implementation
Hiện thực hệ thống file
Những phương pháp bố trí (Allocation Methods)
Hiện thực thư mục (Directory Implementation)
Quản lý không gian trống (Free-Space
Management)
Size: dung lượng đóa ngày càng lớn (40GB, 80GB, 120GB,…)
Hệ điều hành cung cấp
–
Persistence: lưu trữ dư thừa, back-up phục vụ cho recovery (ví
dụ: RAID,…).
–
Ease of use:
Gán tên cho một khối dữ liệu (file)
Tổ chức cấu trúc quản lý file: thư mục
Thực hiện các thao tác lên file nhưng che dấu các chi tiết hiện thực (lưu
file tại sectors nào của đóa, giao tiếp với disk controller như thế nào,…)
–
Sharing/protection: các quyền truy cập file/thư mục
Khoa KTMT
8.6
Khái niệm cơ sở
Files, đối với người sử dụng (user view): cách sử
dụng và các đặc điểm của files
–
File description: name, type, size,…
–
Các tác vụ
–
Directory
–
Write
–
Tìm entry trong thư mục
–
Thực hiện tác vụ ghi tại vò
trí con trỏ ghi (write pointer)
Read
–
Tìm file entry trong thư mục
–
Thực hiện tác vụ đọc tại vò
trí con trỏ đọc (read pointer)
Reposition, file seek
–
Thiết lập con trỏ đọc/ghi
đến vò trí được chỉ đònh (tái
đònh vò).
Delete
–
Tìm entry trong thư mục
–
Thu hồi các disk blocks của file
–
Xóa entry khỏi thư mục
Truncate
Cấu trúc phức tạp
–
Formatted document (Word/Excel document,…)
–
Relocatable load file (executable, dynamic linking library,…)
Mọi hệ điều hành phải hỗ trợ ít nhất một cấu trúc, đó là cấu trúc
của file thực thi (DOS/Windows: .exe, .com,…)
Khoa KTMT
8.10
Kieåu file vaø Extension
Khoa KTMT
8.11
Access Methods
Sequential access: truy xuất thông tin tuần tự
–
read (đọc và tự động dời con trỏ file đến vò trí kế tiếp)
–
write
–
trở về đầu file, đến cuối file
–
forward/backward n record
Direct access (relative access)
–
file cấu thành từ các khối, record có kích thước cố đònh
–
8.13
Ví duï veà caáu truùc file-system
Khoa KTMT
8.14
Thông tin trong mỗi entry của thư mục
Name
Type: 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
…
Khoa KTMT
8.15
Các tác vụ lên thư mục
Search: tìm trong cấu trúc thư mục để lấy được thông tin trong entry
chương trình C, file tài liệu MS Word, file chương
trình games,…
Khoa KTMT
8.17
Caáu truùc single-level
Naming
Grouping
Khoa KTMT
8.18
Cấu trúc two-level
Khái niệm đường dẫn (path name) (không có ở cấu trúc single-
level)
Hai users có thể có file trùng tên
Tìm kiếm hiệu quả hơn
Không hỗ trợ khả năng grouping
Khoa KTMT
8.19
Caáu truùc caây thö muïc
Khoa KTMT
8.20
Cấu trúc cây thư mục (tt)
Tìm kiếm hiệu quả
ln -s /spell/count
/dict/count
–
Hard link: nhân bản thông
tin trong thư mục chia sẻ
Nếu file /dict/w/list bò xóa
⇒ dangling pointer
/spell/count
Khoa KTMT
8.22
File-system mounting
Để có thể truy xuất được, file system phải được gán lắp (mount)
File system cần được gắn tại một thư mục (mount point).
Các bước tiến hành gán lắp: mount /device/dsk /users
–
Cung cấp tên thiết bò chứa file system và mount point
–
Kiểm tra xem thiết bò có chứa một file system hợp lệ
không
–
Gán lắp file system vào vò trí mount point
Nếu mount point có chứa file?
–
Các file của thư mục mount point sẽ không nhìn thấy
được, trừ phi unmount file system.
Một file system từ xa cũng phải được mount trước
khi sử dụng
–
mount ditlab.hcmut.edu.vn:/oscourse /home/osbook
–
Khi file system đã được mount, mọi truy xuất đến file/thư
mục trên đó đều như bình thường, không phân biệt là local
hay remote nữa.
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