Professional Documents
Culture Documents
Nguyên lí hệ điều hành
Nguyên lí hệ điều hành
3 4
11
Mở tệp Mở tệp có khóa
z Một số thông tin cần quản lý khi mở tệp: z Một số HĐH có toán tử này
z Con trỏ tệp (file pointer): Con trỏ đến vị trí đọc/ghi z Dùng để điều khiển truy cập đồng thời đến
cuối cùng của mỗi tiến trình tệp
z Đếm số lượng mở tệp (file-open count): Biến đếm
z Có hai cách khóa:
số lần tệp được mở, để cho phép xóa dữ liệu từ
bảng mở tệp khi tiến trình cuối cùng đóng tệp z Mandatory – Khóa mang tính chất toàn cục
z Vị trí trên đĩa của tệp: thông tin truy cập dữ liệu z Advisory – Khóa mang tính chất hợp tác giữa
của tệp lưu trên đĩa các tiến trình
z Quyền truy cập (access rights): Thông tin về các
quyền truy cập tệp của mỗi tiến trình
7 8
Kiểu tệp, tên và phần mở rộng Các phương pháp truy cập
z Truy cập tuần tự
read next
write next
reset
no read after last write
(rewrite)
z Truy cập trực tiếp
read n
write n
position to n
read next
write next
rewrite n
9 n = relative block number 10
Tệp truy cập tuần tự Mô phỏng truy cập tuần tự và trực tiếp
11 12
22
Ví dụ về tệp chỉ số và Relative
Files Cấu trúc thư mục
z Thư mục là một tập các node chứa thông tin
về tất cả các tệp
z Thư mục và
tệp đều nằm Thư mục
trên đĩa
z Backup của
thư mục và F1 F2 F4
F3
đĩa có thể nằm Fn
trên băng từ
13 14
Tệp
Các toán tử trên thư mục Cần tổ chức thư mục để đạt được:
z Tìm một tệp z Tính hiệu quả: tìm thấy một tệp nhanh chóng
z Tạo một tệp z Tên tệp mang lại sự tiện lợi cho người dùng
z Xóa một tệp z Hai NSD có thể đặt cùng tên cho hai tệp khác nhau
z Liệt kê nội dung thư mục z Một tệp có thể có nhiều tên khác nhau
z Đổi tên một tệp z Nhóm tệp: Các tệp có thể được nhóm lại dựa
trên thuộc tính (ví dụ nhóm các tệp chương
z Duyệt toàn bộ hệ thống tệp
trình nguồn Java, nhóm các tệp thực hiện
được...)
17 18
33
Thư mục một mức Thư mục hai mức
z Một thư mục cho tất cả NSD z Mỗi NSD có các thư mục riêng
Thư mục cấu trúc cây Thư mục cấu trúc cây (tiếp)
z Tìm kiếm hiệu quả
21 22
44
Thư mục với cấu trúc đồ thị
phi chu trình (tiếp) Thư mục đồ thị tổng quát
z Tệp hoặc thư mục có thể có các tên khác
nhau
z Shortcut trong Windows
z Link trong Unix/Linux
z Mềm dẻo hơn cấu trúc cây nhưng phức tạp
hơn:
z Khi xóa một tệp hoặc thư mục có nhiều tên
z Cần sử dụng con trỏ ngược
z Sử dụng biến đếm số tên
25 26
Thư mục đồ thị tổng quát (tiếp) Kết nối (mount) hệ thống tệp
z Làm cách nào để đảm bảo không có chu z Một hệ thống tệp phải được mount trước khi
trình? có thể truy cập tới (sử dụng)
z Chỉ có phép link tới tệp, không cho link đến thư z Một tệp được mount tại điểm kết nối (mount
mục
point)
z “Dọn dẹp” hệ thống tệp (garbage collection)
z Mỗi khi có link mới, thực hiện thuật toán phát hiện
chu trình
27 28
29 30
55
Tệp dùng chung Đa người dùng
z Cần có tệp dùng chung trên các hệ đa người z User IDs định danh NSD để từ đó xác
dung (multi-user) định các quyền và phương pháp bảo vệ
z Dùng chung tệp có thể thực hiện thông qua
một phương pháp bảo vệ z Group IDs xác định nhóm NSD để từ
z Với các hệ phân tán, NSD có thể dùng chung đó xác định các quyền truy cập nhóm
tệp trên mạng
z Network File System (NFS) là một phương
pháp dùng chung tệp phổ biến
31 32
66
Bảo vệ Danh sách và nhóm truy cập
z Người tạo tệp (chủ tệp) được phép qui định z Các toán tử: read, write, execute
z Các toán tử nào trên tệp có thể được thực hiện... z Ba lớp NSD là owner, group và public
z ... và do ai thực hiện RWX
a) owner access 7 ⇒ 111
z Các toán tử: RWX
z Read b) group access 6 ⇒ 110
z Write RWX
z Execute c) public access 1 ⇒ 001
z Append
z Xem thêm quyền truy cập tệp của HĐH Unix/Linux
z Delete
z List 37 38
77