Chuỗi các từ, byte
zCấu trúc bản ghi đơn giản: gồm các dòng, độ
dài cố định, độdài thay đổi
zCấu trúc phức tạp: tài liệu có khuôn dạng,
các tệp nạp có định vị lại
zYếu tốquyết định cấu trúc:
z Hệ điều hành
z Chương trình
7 trang |
Chia sẻ: Mr Hưng | Lượt xem: 901 | Lượt tải: 0
Nội dung tài liệu Nguyên lý hệ điều hành - Giao diện hệ thống tệp, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
11
1
Nguyên lý hệ điều hành
Nguyễn Hải Châu
Khoa Công nghệ thông tin
Trường Đại học Công nghệ
2
Giao diện
hệ thống tệp
Khái niệm tệp
Các phương pháp truy cập
Cấu trúc thư mục
Nối hệ thống tệp
Dùng chung tệp
Bảo vệ
3
Khái niệm tệp
z Không gian địa chỉ logic liên tục
z Các kiểu:
z Dữ liệu
z Số
z Ký tự
z Nhị phân
z Chương trình
4
Cấu trúc tệp
z Chuỗi các từ, byte
z Cấu trúc bản ghi đơn giản: gồm các dòng, độ
dài cố định, độ dài thay đổi
z Cấu trúc phức tạp: tài liệu có khuôn dạng,
các tệp nạp có định vị lại
z Yếu tố quyết định cấu trúc:
z Hệ điều hành
z Chương trình
5
Thuộc tính tệp
z Name – Thông tin người đọc được về tệp
z Type – cần cho chương trình, hệ điều hành
z Location – Vị trí tệp trên các thiết bị lưu trữ
z Size – Cỡ hiện tại của tệp
z Protection – Điều khiển các quyền truy cập
z Time, date, and user ID – Dữ liệu về thời
gian và định danh người sử dụng
z Thông tin về cách lưu trữ tệp trên thiết bị,
được lưu trong cấu trúc của thư mục 6
Các toán tử trên tệp
z Create: Tạo tệp mới
z Write: Ghi vào tệp
z Read: Đọc từ tệp
z Seek – Định vị lại con trỏ tệp
z Delete: Xóa tệp
z Truncate: Xóa dữ liệu hiện có trong tệp
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 Close(Fi) – đóng tệp Fi (đưa nội dung của Fi
trong bộ nhớ ra đĩa)
22
7
Mở tệp
z Một số thông tin cần quản lý khi mở tệp:
z Con trỏ tệp (file pointer): Con trỏ đến vị trí đọc/ghi
cuối cùng của mỗi tiến trình
z Đếm số lượng mở tệp (file-open count): Biến đếm
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 Vị trí trên đĩa của tệp: thông tin truy cập dữ liệu
của tệp lưu trên đĩa
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
8
Mở tệp có khóa
z Một số HĐH có toán tử này
z Dùng để điều khiển truy cập đồng thời đến
tệp
z Có hai cách khóa:
z Mandatory – Khóa mang tính chất toàn cục
z Advisory – Khóa mang tính chất hợp tác giữa
các tiến trình
9
Kiểu tệp, tên và phần mở rộng
10
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
n = relative block number
11
Tệp truy cập tuần tự
12
Mô phỏng truy cập tuần tự và trực tiếp
33
13
Ví dụ về tệp chỉ số và Relative
Files
14
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
F1 F2 F3
F4
Fn
Thư mục
Tệp
z Thư mục và
tệp đều nằm
trên đĩa
z Backup của
thư mục và
đĩa có thể nằm
trên băng từ
15
Ví dụ một hệ thống tệp
16
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
z Các thông tin bảo vệ
17
Các toán tử trên thư mục
z Tìm một tệp
z Tạo một tệp
z Xóa một tệp
z Liệt kê nội dung thư mục
z Đổi tên một tệp
z Duyệt toàn bộ hệ thống tệp
18
Cần tổ chức thư mục để đạt được:
z Tính hiệu quả: tìm thấy một tệp nhanh chóng
z Tên tệp mang lại sự tiện lợi cho người dùng
z Hai NSD có thể đặt cùng tên cho hai tệp khác nhau
z Một tệp có thể có nhiều tên khác nhau
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
trình nguồn Java, nhóm các tệp thực hiện
được...)
44
19
Thư mục một mức
z Một thư mục cho tất cả NSD
z Vấn đề đặt tên
z Vấn đề nhóm các tệp với nhau
20
Thư mục hai mức
z Mỗi NSD có các thư mục riêng
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ả
z Không có khả năng nhóm các tệp
21
Thư mục cấu trúc cây
22
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
23
Thư mục cấu trúc cây (tiếp)
z Đường dẫn tuyệt đối và tương đối
z Tạo một tệp trong thư mục hiện hành
z Xóa tệp
rm
z Tạo thư mục con trong thư mục hiện hành
mkdir
Ví dụ: Nếu thư mục hiện hành là /mail
mkdir count mail
prog copy prt exp count 24
Thư mục với cấu trúc đồ thị
phi chu trình
z Các thư mục
có thể có
chung thư
mục con và
tệp
55
25
Thư mục với cấu trúc đồ thị
phi chu trình (tiếp)
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
26
Thư mục đồ thị tổng quát
27
Thư mục đồ thị tổng quát (tiếp)
z Làm cách nào để đảm bảo không có chu
trình?
z Chỉ có phép link tới tệp, không cho link đến thư
mục
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
28
Kết nối (mount) hệ thống tệp
z Một hệ thống tệp phải được mount trước khi
có thể truy cập tới (sử dụng)
z Một tệp được mount tại điểm kết nối (mount
point)
29
Minh họa mount/unmount
30
Điểm kết nối (mount point)
66
31
Tệp dùng chung
z Cần có tệp dùng chung trên các hệ đa người
dung (multi-user)
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 Với các hệ phân tán, NSD có thể dùng chung
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
32
Đa người dùng
z User IDs định danh NSD để từ đó xác
định các quyền và phương pháp bảo vệ
z Group IDs xác định nhóm NSD để từ
đó xác định các quyền truy cập nhóm
33
Hệ thống tệp từ xa
z Sử dụng tệp để truy cập các hệ thống file ở các vị
trí khác nhau
z Thủ công: ví dụ FTP
z Tự động: hệ thống tệp phân tán distributed file
systems
z Bán tự động: world wide web
z Mô hình khách-chủ (Client-server model) cho
phép máy khách mount hệ thống tệp của máy chủ
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ể
đơn giản (không an toàn - insecure) hoặc rất phức tạp
34
Hệ thống tệp từ xa (tiếp)
z NFS là giao thức sử dụng chung tệp chuẩn trên
UNIX cho mô hình client-server
z CIFS là chuẩn trên Windows
z Các hàm hệ thống chuẩn được chuyển đổi thành
lời gọi từ xa (remote call)
z Các dịch vụ đặt tên phân tán (distributed
naming services) như LDAP, DNS, NIS cho
ta cách truy cập thống nhất đến các thông tin
cần thiết cho tính toán từ xa
35
Lỗi trong hệ thống tệp từ xa
z Có nhiều nguyên nhân gây lỗi trong hệ thống
tệp từ xa: Do lỗi mạng, lỗi server...
z Khôi phục lỗi cần có thông tin trạng thái đối
với mỗi yêu cầu phục vụ từ xa
z Các giao thức như NFS lưu đưa toàn bộ các
thông tin trạng thái vào mỗi yêu cầu do đó dễ
khôi phục, nhưng kém an ninh
36
Nhất quán về ngữ nghĩa
z Nhất quán ngữ nghĩa chỉ định cách truy cập
đồng thời của nhiều NSD đến tệp dùng chung
z Andrew File System (AFS) cài đặt hệ thống ngữ
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ó
tác dụng sau khi tệp được close
z Unix file system (UFS) cài đặt:
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
thời
77
37
Bảo vệ
z Người tạo tệp (chủ tệp) được phép qui định
z Các toán tử nào trên tệp có thể được thực hiện...
z ... và do ai thực hiện
z Các toán tử:
z Read
z Write
z Execute
z Append
z Delete
z List 38
Danh sách và nhóm truy cập
z Các toán tử: read, write, execute
z Ba lớp NSD là owner, group và public
RWX
a) owner access 7 ⇒ 1 1 1
RWX
b) group access 6 ⇒ 1 1 0
RWX
c) public access 1 ⇒ 0 0 1
z Xem thêm quyền truy cập tệp của HĐH Unix/Linux
39
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
Các file đính kèm theo tài liệu này:
- nlhdh_tuan8_5509.pdf