Tài liệu này dành cho sinh viên, giáo viên khối ngành công nghệ thông tin tham khảo và có những bài học bổ ích hơn, bổ trợ cho việc tìm kiếm tài liệu, giáo án, giáo trình, bài giảng các môn học khối ngành công nghệ thông tin
Trang 1Nguyê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 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á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(F i ) – mở tệp F i (tìm phần tử F i trong thư
mục và đưa nội dung của F ivào bộ nhớ)
z Close(F i ) – đóng tệp F i (đưa nội dung của F i
trong bộ nhớ ra đĩa)
Trang 2Mở 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
Trang 3Ví 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 F 2 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 )
Trang 4Thư mục một mức
zMộ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
Thư mục cấu trúc cây (tiếp)
zĐường dẫn tuyệt đối và tương đối
zTạo một tệp trong thư mục hiện hành
zXóa tệp
rm <tên tệp>
zTạ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
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
Trang 5Thư 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
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)
Trang 6Tệ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 IDsxá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 NFSlà giao thức sử dụng chung tệp chuẩn trên UNIX cho mô hình client-server
z CIFSlà 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
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
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
tác dụng sau khi tệp được close
z Unix file system (UFS) cài đặt:
chung (người đọc nhìn thấy kết quả của write)
Trang 7Bả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 Write
z Execute
z Append
z Delete
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