Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

Giao diện

Nguyên lý hệ điều hành hệ thống tệp


Nguyễn Hải Châu Khái niệm tệp
Khoa Công nghệ thông tin Các phương pháp truy cập
Trường Đại học Công nghệ Cấu trúc thư mục
Nối hệ thống tệp
Dùng chung tệp
1 Bảo vệ 2

Khái niệm tệp Cấu trúc tệp


z Không gian địa chỉ logic liên tục z Chuỗi các từ, byte
z Cấu trúc bản ghi đơn giản: gồm các dòng, độ
z Các kiểu: dài cố định, độ dài thay đổi
z Dữ liệu z Cấu trúc phức tạp: tài liệu có khuôn dạng,
z Số các tệp nạp có định vị lại
z Ký tự z Yếu tố quyết định cấu trúc:
z Nhị phân z Hệ điều hành
z Chương trình z Chương trình

3 4

Thuộc tính tệp Các toán tử trên tệp


z Name – Thông tin người đọc được về tệp z Create: Tạo tệp mới
z Type – cần cho chương trình, hệ điều hành z Write: Ghi vào tệp
z Location – Vị trí tệp trên các thiết bị lưu trữ z Read: Đọc từ tệp
z Size – Cỡ hiện tại của tệp z Seek – Định vị lại con trỏ tệp
z Protection – Điều khiển các quyền truy cập z Delete: Xóa tệp
z Truncate: Xóa dữ liệu hiện có trong tệp
z Time, date, and user ID – Dữ liệu về thời
gian và định danh người sử dụng z Open(Fi) – mở tệp Fi (tìm phần tử Fi trong thư
mục và đưa nội dung của Fi vào bộ nhớ)
z Thông tin về cách lưu trữ tệp trên thiết bị,
z Close(Fi) – đóng tệp Fi (đưa nội dung của Fi
được lưu trong cấu trúc của thư mục 5
trong bộ nhớ ra đĩa) 6

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

Ví dụ một hệ thống tệp Thông tin trên thư mục thiết bị


z Tên
z Kiểu
z Địa chỉ
z Độ dài hiện tại
z Độ dài lớn nhất
z Thời gian của lần truy cập cuối (để lưu trữ)
z Thời gian của lần cập nhật cuối (for dump)
z ID của người chủ tệp
15
z Các thông tin bảo vệ 16

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

z Vấn đề đặt tên

z Vấn đề nhóm các tệp với nhau z Đường dẫn


z Hai NSD có thể đặt cùng tên cho hai tệp khác nhau
z Tìm kiếm tệp hiệu quả
19 z Không có khả năng nhóm các tệp 20

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ả

z Có khả năng nhóm các tệp

z Thư mục làm việc hiện hành


z Đổi thư mục làm việc hiện hành

21 22

Thư mục với cấu trúc đồ thị


Thư mục cấu trúc cây (tiếp) phi chu trình
z Đường dẫn tuyệt đối và tương đối z Các thư mục
z Tạo một tệp trong thư mục hiện hành có thể có
chung thư
z Xóa tệp mục con và
rm <tên tệp> tệp
z Tạo thư mục con trong thư mục hiện hành
mkdir <tên thư mục>
Ví dụ: Nếu thư mục hiện hành là /mail
mkdir count mail

prog copy prt exp count


23 24

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

Minh họa mount/unmount Điểm kết nối (mount point)

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

Hệ thống tệp từ xa Hệ thống tệp từ xa (tiếp)


z Sử dụng tệp để truy cập các hệ thống file ở các vị z NFS là giao thức sử dụng chung tệp chuẩn trên
trí khác nhau UNIX cho mô hình client-server
z Thủ công: ví dụ FTP z CIFS là chuẩn trên Windows
z Tự động: hệ thống tệp phân tán distributed file z Các hàm hệ thống chuẩn được chuyển đổi thành
systems lời gọi từ xa (remote call)
z Bán tự động: world wide web
z Các dịch vụ đặt tên phân tán (distributed
z Mô hình khách-chủ (Client-server model) cho naming services) như LDAP, DNS, NIS cho
phép máy khách mount hệ thống tệp của máy chủ
ta cách truy cập thống nhất đến các thông tin
từ xa
cần thiết cho tính toán từ xa
z Máy chủ có thể phục vụ nhiều máy khách
z Định danh máy khách và NSD trên máy khách có thể 33 34

đơn giản (không an toàn - insecure) hoặc rất phức tạp

Lỗi trong hệ thống tệp từ xa Nhất quán về ngữ nghĩa


z Có nhiều nguyên nhân gây lỗi trong hệ thống z Nhất quán ngữ nghĩa chỉ định cách truy cập
tệp từ xa: Do lỗi mạng, lỗi server... đồng thời của nhiều NSD đến tệp dùng chung
z Khôi phục lỗi cần có thông tin trạng thái đối z Andrew File System (AFS) cài đặt hệ thống ngữ
với mỗi yêu cầu phục vụ từ xa nghĩa phức tạp cho hệ thống tệp truy cập từ xa
z AFS có ngữ nghĩa theo phiên: các toán tử write chỉ có
z Các giao thức như NFS lưu đưa toàn bộ các tác dụng sau khi tệp được close
thông tin trạng thái vào mỗi yêu cầu do đó dễ z Unix file system (UFS) cài đặt:
khôi phục, nhưng kém an ninh z Các toán tử write ngay lập tức có tác dụng trên các tệp
chung (người đọc nhìn thấy kết quả của write)
z Dùng chung tệp cho phép nhiều NSD đọc và ghi đồng
35
thời 36

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

Các vấn đề cần nhớ


z Khái niệm tệp
z Các phương pháp truy cập tệp
z Cấu trúc thư mục một cấp, nhiều cấp, cấu
trúc thư mục cây, đồ thị phi chu trình, đồ thị
tổng quát
z Nối hệ thống tệp
z Dùng chung tệp
z Hệ thống tệp từ xa
z Quyền truy cập tệp 39

77

You might also like