Professional Documents
Culture Documents
Cấu hình truy cập tuần tự trên file truy cập trực tiếp.
2.3. Các phương pháp truy cập khác.
Truy cập theo chỉ số (index access): phương pháp dựa theo truy cập trực
tiếp, sử dụng chỉ số index chứa con trỏ trỏ đến nhiều block. Để tìm một bản
ghi trong file, hệ thống cần tìm chỉ số index và dùng con trỏ trong index để
truy cập trực tiếp đến file và tìm bản ghi mong muốn. Với các file lớn, ta có
thể tạo chỉ số cho các file chỉ số. Chỉ số chính chứa con trỏ đến các file chỉ
số thứ cấp, nơi lưu trữ con trỏ chỉ đến dữ liệu cần tìm.
5. Chia sẻ file
Khi thao tác trên file, các file có thể được chia sẻ trong các tiến trình để
tính toán nhanh hơn, đồng thời để những người dùng phối hợp với nhau trong dự
án. Khi chia sẻ file, những vấn đề cần giải quyết là:
5.1. Chia sẻ file giữa những người dùng máy tính
Khi chia sẻ file giữa các user, hệ điều hành phải xử lí vấn đề chia sẻ nội
dung file, thay đổi tên file, bảo vệ file. Hệ thống có thể cho phép người dùng truy
cập tự do vào file của người dùng khác hoặc người dùng đó cần quyền truy cập cụ
thể. Để lưu thông tin quyền của từng người dùng, hệ thống đa người dùng phải duy
trì nhiều thuộc tính file và thư mục hơn trên hệ thống một người dùng. Hệ thống có
thể sử dụng mô hình: chủ file và nhóm. Chủ sở hữu có nhiều quyền kiểm soát nhất
đối với file, thuộc tính nhóm xác định một số người dùng có thể chia sẻ quyền truy
cập vào file.
Trong hệ điều hành UNIX, chủ sở hữu có thể thực hiện mọi thao tác trên
file, các thành viên khác trong nhóm chỉ được thực hiện một số thao tác cụ thể do
chủ nhóm quyết định. ID chủ sở hữu và nhóm được lưu trữ với các thuộc tính file
khác. Khi người dùng yêu cầu một thao tác, Hệ thống sẽ kiểm tra chủ sở hữu hoặc
nhóm đó để cho biết quyền. Nhiều hệ thống có nhiều volume thì hệ thống sẽ liên
kết các volume đó và kiểm tra quyền.
5.2. Chia sẻ giữa các hệ thống file ngoài máy tính.
Trong các mạng máy mính, các máy tính từ xa có thể truyền thông và chia
sẻ tài nguyên với nhau, tài nguyên đó là các file. Các hình thức chia sẻ file qua
mạng máy tính có thể kể đến:
Truyền file thủ công thông qua các chương trình, các giao thức như FTP
(File Transfer Protocol).
Sử dụng các hệ thống file phân tán (Distributed File System – DFS), cho
phép sử dụng các thư mục từ xa trên các máy host.
Mạng Internet, hay World Wide Web là phương pháp mở rộng phương pháp
đầu tiên, sử dụng các thao tác riêng biệt, về cơ bản là các wrapper của FTP
để truyền file.
Hiện nay, phương pháp chia sẻ file qua Internet là phổ biến nhất, có 2 hình thức
chia sẻ file qua Internet.
5.2.1. Mô hình máy khách-máy chủ (client-server)
Mô hình này cho phép liên kết hệ thống file từ máy từ xa. Trong mô hình này chứa
máy chủ (server) – máy chứa file, và máy khách (client) – máy truy cập vào file.
Server khai báo các tài nguyên có sẵn cho các client và gửi chính xác cho các
client đó. Để xác định ứng dụng client, mạng có thể sử dụng tên mạng hoặc địa chỉ
IP được mã hóa khác.
Ví dụ, trong hệ điều hành UNIX và hệ thống file mạng (NFS), xác thực diễn ra
thông qua thông tin mạng máy client, theo mặc định. Máy chủ phải tin tưởng máy
client để đưa ra ID người dùng chính xác để truyền thông. Và nhiều máy chủ có
thể cung cấp file cho nhiều máy khách.
5.2.2. Hệ thống thông tin phân tán (Distributed information System)
Để quản lý server-client dễ dàng hơn, hệ thống thông tin phân tán cung cấp quyền
truy cập thống nhất vào thông tin cần thiết cho tính toán từ xa, bao gồm tên máy
chủ và quyền truy cập mạng. Hệ thống sử dụng DNS để dịch giữa 2 thông tin. Các
hệ thống thông tin phân tán khác cung cấp tên người dùng/mật khẩu/userID/không
gian ID nhóm cho một cơ sở phân tán.
Các hệ thống UNIX đã sử dụng rất nhiều phương pháp thông tin phân tán. Còn hệ
thống file Internet chung của Microsoft (CIFS) yêu cầu xác thực người dùng để
đăng nhập mạng để yêu cầu máy chủ truy cập hệ thống file được yêu cầu.
Khi chia sẻ file qua mạng, rất nhiều vấn đề có thể xảy ra trong quá trình truy
cập hệ thống file từ xa, dẫn đến mất file. Để đảm bảo an toàn, hệ thống có thể có
cơ chế xử lý khi lỗi, bao gồm chấm dứt mọi hoạt động đối với máy chủ bị mất hoặc
trì hoãn hoạt động cho đến khi có thể truy cập lại máy chủ. Giải pháp thứ hai được
sử dụng nhiều hơn. Để thực hiện khôi phục truy cập sau khi mất, cả máy khách và
máy chủ phải duy trì một số thông tin trạng thái. Trong trường hợp mất kết nối,
nhưng các hệ thống file từ xa được gắn và mở file, giao thức NFS triển khai DFS
không trạng thái. Giao thức NFS mang tất cả thông tin cần thiết để định vị file
thích hợp và thực hiện thao tác được yêu cầu. Vì NFS coi kết nối từ máy khách là
hợp pháp nên một số vấn đề bảo mật có thể xảy ra. NFS4 đã cải thiện vấn đề này
và hiệu suất.
5.2.3. Xử lí các mâu thuẫn có thể xảy ra khi sử dụng chung file.
Khi nhiều người dùng cùng sử dụng file, thông tin trong file có thể bị thay đổi liên
tục bởi nhiều người dùng, dẫn đến sai lệch trong tính toán. Để giải quyết vấn đề,
cần có các cơ chế quản lí dùng chung file. Đó là cơ chế ngữ nghĩa nhất quán
(Consistency Semantics). Cơ chế chỉ định có bao nhiêu người dùng của một hệ
thống truy cập đồng thời vào một file được chia sẻ, từ đó chỉ định khi nào những
sửa đổi dữ liệu của một người dùng sẽ được quan sát bởi những người dùng khác.
Một số ví dụ nổi bật về tính nhất quán ngữ nghĩa
5.2.3.1. Cơ chế Ngữ nghĩa nhất quán trong UNIX
Trong UNIX, nội dung được ghi vào một file đang mở bởi một người dùng sẽ hiển
thị ngay lập tức đối với những người dùng khác đang mở file này. Chế độ chia sẻ
này cho phép người dùng chia sẻ con trỏ của vị trí hiện tại vào file (current-file-
position pointer). Do đó, việc một người dùng tăng con trỏ sẽ ảnh hưởng đến tất cả
người dùng chia sẻ. Trong cơ chế nhất quán ngữ nghĩa UNIX, một file được liên
kết với một hình ảnh vật lý duy nhất được truy cập dưới dạng tài nguyên độc
quyền. Tranh giành một hình ảnh duy nhất này gây ra sự chậm trễ trong quy trình
của người dùng.
5.2.3.2. Cơ chế phiên ( Session Semantics )
Cơ chế này được sử dụng trong hệ thống file Andrew (OpenAFS). Việc ghi vào
một file đang mở bởi một người dùng sẽ không hiển thị ngay lập tức đối với những
người dùng đang mở cùng một file. Sau khi một file được đóng, những thay đổi
được thực hiện đối với file đó chỉ hiển thị trong các phiên bắt đầu sau đó. Các
phiên bản đã mở của file không phản ánh những thay đổi này. Do đó, nhiều người
dùng được phép thực hiện cả truy cập đọc và ghi đồng thời trên hình ảnh file của
họ mà không bị chậm trễ. Hầu như không có ràng buộc nào được thực thi đối với
việc lên lịch truy cập.
5.2.3.3. Cơ chế file chia sẻ bất biến
Cơ chế này quy định không thể sửa đổi file được chia sẻ. Tên của file không thể
được sử dụng lại, nội dung của file không thể thay đổi. File được chia sẻ chỉ ở chế
độ read().
6. Bảo vệ file
File là tài nguyên quan trọng trong máy tính, lưu thông tin sử dụng của
người dùng. Vì vậy, ta muốn giữ thông tin được lưu trữ an toàn khỏi các tác động
vật lý và truy cập không đúng cách. Thông thường, bảo mật thường được thực hiện
bằng việc tạo bản sao của file. Nhiều máy tính có các chương trình hệ thống tự
động sao chép các file đĩa vào băng theo định kỳ để ngăn các file vô tình bị hủy do
sự cố phần cứng hoặc vô tình bị xóa. Ngoài ra, lỗi trong hệ thống file có thể khiến
nội dung file bị mất. Một số biện pháp bảo vệ file khỏi lỗi hệ thống bao gồm:
6.1. Kiểm soát truy cập file.
Nhu cầu bảo vệ file xuất phát trực tiếp của việc truy cập file, vì vậy điều
chúng ta cần là các quyền truy cập được kiểm soát. Hệ thống file cung cấp quyền
truy cập được kiểm soát bằng cách giới hạn các loại quyền truy cập file có thể
được thực hiện. Các loại truy cập có thể được kiểm soát:
Đọc: Đọc từ file.
Viết: Viết hoặc viết lại file.
Thực thi: Tải file vào bộ nhớ và thực thi nó.
Mở rộng: Ghi thông tin bổ sung vào cuối file.
Xóa bỏ: Xóa file và giải phóng dung lượng để sử dụng lại.
Liệt kê: Liệt kê tên và thuộc tính của các file
Các hoạt động cấp cao khác cũng có thể được kiểm soát. Nhưng đối với nhiều hệ
thống, các hoạt động này có thể được thực hiện bằng cách một chương trình hệ
thống thực hiện các cuộc gọi hệ thống cấp thấp hơn. Vì vậy, hệ thống có thể áp
dụng các cơ chế bảo vệ ở mức hoạt động thấp ở trên.Ví dụ: Thao tác sao chép có
thể được thực hiện bởi một chuỗi các thao tác đọc.
Tuy nhiên, các cơ chế bảo vệ phải phù hợp với các ứng dụng đã định. Một hệ
thống máy tính nhỏ có thể không cần các biện pháp bảo vệ phức tạp như một máy
tính công ty lớn phục vụ tài chính, nghiên cứu.,..
6.2. Kiểm soát người dùng
Cách tiếp cận phổ biến nhất cho vấn đề bảo vệ là kiểm soát người dùng.
Những người dùng khác nhau cần các kiểu truy cập khác nhau vào một file hoặc
thư mục. Việc triển khai này có thể được thực hiện với danh sách kiểm soát truy
cập (ACL) tại mỗi file và thư mục. Khi người dùng yêu cầu quyền truy cập vào
một file, hệ điều hành sẽ kiểm tra ACL để quyết định xem người dùng đó có được
phép truy cập file hay không.
Ưu điểm: phương pháp cho phép các phương thức truy cập phức tạp.
Nhược điểm: Độ dài của ACL có thể rất lớn và điểm đầu vào thư mục cần
thay đổi từ kích thước cố định sang kích thước động, điều này gây khó khăn
cho việc quản lý không gian bộ nhớ.
Để giải quyết vấn đề trên, nhiều hệ thống phân loại người dùng liên quan đến mỗi
file thành 3 nhóm:
Chủ nhân (Owner): Người dùng đã tạo file là chủ sở hữu.
Nhóm (Group): Một nhóm người dùng đang chia sẻ file và cần quyền truy
cập tương tự là một nhóm
Toàn bộ (Universe). Tất cả những người dùng khác trong hệ thống tạo thành
universe.
Cách tiếp cận phổ biến nhất gần đây là kết hợp các ACL với lược đồ kiểm soát truy
cập chủ sở hữu, nhóm và toàn bộ, tạo góc nhìn tổng quát hơn (và dễ thực hiện hơn)
phương pháp phân nhóm vừa được mô tả.
Trong hệ thống UNIX, bảo vệ thư mục và file được xử lý theo sơ đồ ba trường này.
Mỗi trường bao gồm ba bit “rwx”, trong đó “r” kiểm soát quyền truy cập đọc, “w”
kiểm soát quyền ghi, “x” kiểm soát việc thực thi. Cần 9 bit cho mỗi file để lưu
thông tin bảo vệ. Do đó, người dùng chỉ có thể liệt kê nội dung của thư mục con
nếu bit “r” được đặt trong trường thích hợp. Tương tự, người dùng chỉ có thể thay
đổi thư mục hiện tại của mình sang thư mục hiện tại khác nếu bit “x” được liên kết
với thư mục con được đặt trong trường thích hợp
Để sơ đồ này hoạt động bình thường, các quyền và danh sách truy cập phải được
kiểm soát chặt chẽ. Việc kiểm soát này có thể được thực hiện theo nhiều cách. Ví
dụ, hệ thống UNIX. Các nhóm chỉ có thể được tạo và sửa đổi bởi người quản lý cơ
sở (hoặc siêu người dùng). Vì vậy, kiểm soát này được thực hiện bởi sự tương tác
của con người.
Một khó khăn là kết hợp các phương pháp bảo vệ này trong giao diện người dùng,
để người dùng có thể hiểu ACL tùy chọn được đặt trên file. Ví dụ: Windows quản
lý danh sách kiểm soát truy cập thông qua GUI, chủ sở hữu hoặc người quản lý file
có thể cho phép hoặc từ chối quyền truy cập của người dùng khác bằng GUI.