Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 26 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
26
Dung lượng
598,58 KB
Nội dung
ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG -* - BÀI TẬP LỚN HỌC PHẦN: NGUYÊN LÝ HỆ ĐIỀU HÀNH Đề tài: GIAO DIỆN QUẢN LÝ BỘ NHỚ NGOÀI Họ tên MSSV Lớp Mã lớp Giảng viên hướng dẫn : Đặng Hải Mai Linh : 20210529 : Việt Nhật 03 K66 : 142574 : ThS Đỗ Tuấn Anh Mục lục Khái niệm File 1.1 Thuộc tính file 1.2 Thao tác File 1.3 Kiểu file 1.4 Cấu trúc file 1.5 Cấu trúc file hệ thống Các phương thức truy cập file 2.1 Truy cập (sequential access) 2.2 Truy cập trực tiếp (Direct Access) 2.3 Các phương pháp truy cập khác 10 Cấu trúc nhớ thư mục .10 3.1 Cấu trúc lưu trữ 10 3.2 Tổng quan thư mục 11 3.2.1 Thư mục đơn tầng (Single-level directory) 12 3.2.2 Thư mục hai tầng (Two-level Directory) 12 3.2.3 Thư mục cấu trúc (Tree-structured Directory) 13 3.2.4 Thư mục đồ thị Acylic (Acylic-graph Directory) 16 3.2.5 Thư mục tổng quát (General Graph Directory) .17 Liên kết hệ thống file 18 Chia sẻ file .19 5.1 Chia sẻ file người dùng máy tính 19 5.2 Chia sẻ hệ thống file ngồi máy tính 20 5.2.1 Mơ hình máy khách-máy chủ (client-server) 20 5.2.2 Hệ thống thông tin phân tán (Distributed information System) 20 5.2.3 Xử lí mâu thuẫn xảy sử dụng chung file 21 Bảo vệ file 22 6.1 Kiểm soát truy cập file .22 6.2 Kiểm soát người dùng 23 6.3 Các phương pháp bảo vệ khác 25 Khái niệm File Nói chung, file tập hợp thơng tin lưu trữ dạng chuỗi bit, nội dung File định nghĩa người tạo File người dùng File File lưu trữ thiết bị lưu trữ, ví dụ như: đĩa từ, băng, đĩa cững Hệ điều hành cung cấp khung nhìn thân thiện cho người dùng, cho phép tạo nhớ ảo, ánh xạ từ thiết bị nhớ vật lý đĩa từ sang đơn vị lưu trữ logic, tạo nên file Các file ánh xạ sang thiết bị lưu trữ vật lý nhờ hệ điều hành File lưu trữ chương trình liệu Dữ liệu số, chữ cái, bit nhị phân để biểu diễn liệu ảnh, âm thanh, video Có loại File chính: o Text file: chuỗi kí tự xếp thành hàng, thành trang o Source file: Chuỗi hàm (functions), function tổ chức thành định nghĩa dòng lệnh thực thi o Executable file: Các phần mã chương trình mà máy tính nạp vào nhớ thực thi chương trình 1.1 Thuộc tính file Các thuộc tính file thay đổi tùy hệ điều hành, tiêu biểu gồm: o Tên (name): Khi file đặt tên, file trở nên độc lập với tiến trình, người dùng hệ thống tạo file Tên file chuỗi kí tự để người dùng dễ đọc o Mã định danh (Identifier): Một tag đặc biệt (vd: số, ), định danh file hệ thống file Con người đọc mã o Kiểu file (type): Cần thiết để hệ thống ứng dụng quản lý đọc file o Địa (location) o Kích thước (size) o Lớp bảo vệ (protection): phương thức cấp quyền xem sửa file, để bảo vệ file khỏi truy cập khơng tin cậy o Ngày giờ, danh tính người dùng (Time, date and user identifier) Cửa sổ thông tin tệp tin HĐH Window 1.2 Thao tác File a Các thao tác Các thao tác mà hệ điều hành cung cấp lời gọi hệ thống để thực hiện: Tạo File o Tạo không gian chứa file hệ thống file o Sau tạo file, hệ diều hành tạo đường dẫn (directory entry) tới file thư mục Viết File o Tìm kiếm thư mục để phát vị trí file o Đặt trỏ viết (write pointer) đến vị trí chuẩn bị viết file o Khi người dùng viết file, trỏ viết (write pointer) phải cập nhật vị trí liên tục Đọc File o Tìm kiếm thư mục để phát vị trí file o Cần sử dụng trỏ đọc (read pointer) vị trí chuẩn bị đọc file o Vị trí đọc đánh dấu trỏ vị trí file để thực thêm thao tác viết file o Read pointer write pointer dùng chung trỏ vị trí này, giúp tiết kiệm nhớ giảm độ phức tạp hệ thống Thay đổi vị trí file o Trong file chứa trỏ vị trí file, trỏ thay đổi vị trí o Thao tác thay đổi vị trí không cần thao tác vào (I/O Operation) Xóa file o Để xóa file, ta tìm kiếm file cần xóa thư mục o Khi tìm thấy file, ta thực giải phóng khơng gian nhớ file để sử dụng cho file khác, đồng thời xóa đường dẫn tới file thư mục Cắt bới file o Nếu người dùng muốn xóa nội dung file giữ nguyên thuộc tính tên, địa thư mục, hệ điều hành cho phép người dùng thay đổi độ dài file giải phóng nhớ xóa, đồng thời giữ thuộc tính khác tên, địa file Đây thao tác file mà hệ điều hành cần có Ngồi hệ điều hành cung cấp thao tác khác để thực file Để giảm bớt thao tác tìm kiếm file thư mục liên tục, nhiều hệ thống yêu cầu lời gọi hệ thống open() trước file cần sử dụng Những file thực open() lưu thông tin bảng open-file table Khi người dùng thao tác file, hệ thống tìm kiếm bảng Khi file khơng dùng, hệ thống đóng file xóa thơng tin khỏi bảng Hầu hết hệ thống yêu cầu lập trình viên thực lệnh gọi hệ thống open() để mở file trước sử dụng file Lệnh gọi hệ thống open() thực tìm file thư mực, lưu thông tin vào bảng open-file trả lại trỏ đến file bảng Ta sử dụng trỏ để thực thao tác vào-ra, khơng cần tìm lại file, giúp đơn giản hóa giao diện lời gọi hệ thống Một vấn đề khác sử dụng file nhiều ứng dụng mở file, điều xảy bế tắc sai lệch thông tin file, đồng thời khiến thao tác open() close() file phức tạp Để khắc phục vấn đề, hệ điều hành sử dụng hệ thống bảng gồm lớp: o Per-process table: Bảng lưu thơng tin tiến trình sử dụng file Mỗi trỏ bảng trỏ tới bảng open-file o System-wide open-file table: bảng lưu thơng tin file khơng liên quan đến tiến trình địa vật lý, ngày truy cập, kích thước file Bảng thực toàn hệ thống Khi tiến trình mở file, trỏ truy cập thêm vào open-file table tiến trình, trỏ đến trỏ truy cập phù hợp system-wide open-file table Trong file bảng system-wide open-file table có biến count để lưu số tiến trình sử dụng file Mỗi lệnh hệ thống close() giảm biến count, ( count = ) hệ thống đóng file, xóa thơng tin file bảng open-file table system-wide open-file table Tóm lại, với file mở open() kèm thông tin sau: File pointer: trỏ vị trí file để thực thao tác read() write() Trong tiến trình, file có file pointer độc lập với thuộc tính khác file File-open count: biến count lưu số lượng tiến trình sử dụng file Khi tiến trình thực open(), biến count tăng lên, thực close() giảm biến count Khi count = 0, hệ thống đóng file, xóa thơng tin khỏi bảng Địa vật lí: hệ thống lưu địa file nhớ, để tiến trình hệ thống khơng cần đọc file từ đĩa Quyền truy cập: quyền truy cập lưu bảng per-process table, giúp hệ điều hành cho phép cấm hoạt động vào-ra file Một số hệ điều hành yêu cầu tiến trình riêng để khóa file, tính hữu ích với file chia sẻ nhiều tiến trình Khi khóa file, hệ điều hành cung cấp chế khóa file bắt buộc tạm thời: o Khóa file bắt buộc (mandatory lock): Khi tiến trình thực khóa file, hệ điều hành ngăn tiến trình khác truy cập file khóa o Khóa file tạm thời (advisory lock): Khi tiến trình thực khóa file, tiến trình khác phải lập trình để thu hồi khóa trước truy cập file Ví dụ, hệ điều hành Windows áp dụng mandatory lock, với UNIX áp dụng advisory lock 1.3 Kiểu file Khi thiết kế hệ thống file, lập trình viên phải kiểm tra hệ điều hành có nhận diện kiểu file hỗ trợ khơng Khi cấu hình kiểu file, ta thêm định dạng kiểu file phần tên file Tên file có dạng: name.extension Hệ điều hành đọc phần định dạng file (extension) để xác định kiểu file thao tác thực file Các định dạng không hỗ trợ bới hệ điều hành, giúp ứng dụng thực thi thao tác thực file Các kiểu file phổ biến 1.4 Cấu trúc file Cấu trúc bên file xác định kiểu file Hệ điều hành yêu cầu số file phải tuân theo cấu trúc quy định định sẵn hệ điều hành Điều khiến hệ điều hành phải chứa số lệnh để hỗ trợ nhiều kiểu cấu trúc file, khiến kích thước hệ điều hành tăng lên Một số hệ điều hành hỗ trợ số kiểu cấu trúc file định Trong UNIX, file chuỗi byte bit, hệ điều hành không cần dịch bit Mỗi chương trình phải có lệnh riêng để thơng dịch file theo cấu trúc phù hợp Tuy nhiên, hệ điều hành phải hỗ trợ file thực thi (.exe) để hệ điều hành nạp chạy chương trình 1.5 Cấu trúc file hệ thống Các thao tác vào-ra nhớ thực theo block, block có kích thước giống nhau, phụ thuộc kích thước sector Nhưng ghi logic có độ dài khác nhau, nên cần đóng gói số lượng ghi logic block vật lý Ví dụ, hệ điều hành UNIX quy định file chuỗi byte Mỗi byte đánh địa riêng biệt số offset đầu file Nên kích thước ghi logic byte, Hệ thống đóng gói byte vào block địa vật lý, ví dụ: 512 byte block Kích thước ghi logic, kích thước block vật lý, kĩ thuật đóng gói (packing) định số ghi logic block vật lý Việc đóng gói thực bới chương trình hệ điều hành Việc kích thước block cố định khiến số phần block bị lãng phí Ví dụ: block có kích thước 512 byte, file 1949 byte cần block, thừa 99 byte ! Việc lãng phí block ln xảy hệ thống, để đảm bảo file lưu trữ theo block, tránh tượng phân mảnh (internal fragmentation) Các phương thức truy cập file Khi cần sử dụng, hệ thống cần truy cập vào thông tin file đọc thơng tin vào nhớ máy tính Sau số phương thức truy cập file phổ biến 2.1 Truy cập (sequential access) Truy cập truy cập file từ đầu file, thơng tin file xử lí ghi Cách truy cập sử dụng hệ thống dịch, editor compiler Cách thức: đọc file, hệ thống gọi câu lệnh hệ thống readnext() ,đọc phần file tự động tăng trỏ vị trí file (current-file-location pointer) Tương tự với hoạt động viết file, câu lệnh writenext() gọi, viết tiếp vào cuối file tịnh tiến đển cuối chuỗi nhập vào file 2.2 Truy cập trực tiếp (Direct Access) Hình thức truy cập trực tiếp quy định cấu tạo file từ ghi có độ dài cố định, cho phép chương trình đọc viết ghi với tốc độ nhanh theo thứ tự Với hình thức truy cập trực tiếp, thao tác file cần điều chỉnh để thêm số hiệu ghi (số hiệu block) tham số Theo đó, lệnh read(n) đọc từ khối thứ n file, khác với readnext() write(n) thay writenext() Đặc biệt số hiệu block người dùng cung cấp thường số hiệu tương đối so với block đầu file file Block file 0, nhiều Không phải hệ điều hành hỗ trợ truy cập truy cập trực tiếp Nhưng lập trình viên cấu hình truy cập file truy cập trực tiếp cách thêm biến cp xác định vị trí file Cấu hình truy cập file truy cập trực tiếp o objfs hệ thống file "ảo" cho phép trình vá lỗi truy cập vào ký hiệu kernel Về bản, giao diện hóa hệ thống kernel giống hệ thống file o ctfs: Hệ thống file ảo theo dõi liệu "bắt buộc" để kiểm soát chương trình khởi chạy khởi động hệ thống phải trì hoạt động suốt trình hoạt động + lofs hệ thống file "loop back " cho phép truy cập vào hệ thống file thay cho hệ thống file khác o procfs: hệ thống file ảo, cho phép xem liệu tất tiến trình dạng hệ thống file o ufs, zfs: hệ thống file phục vụ mục đích chung o Có nhiều hệ thống file máy tính Trong hệ thống, file nên chia thành nhóm quản lý hoạt động theo nhóm Từng nhóm file gọi thư mục (directories) 3.2 Tổng quan thư mục Thư mục sử dụng để chuyển đổi tên file thành điểm vào thư mục (directory entries) Cấu trúc logic thư mục xác định nhiều chế Các thao tác thực thư mục Tìm kiếm file: Để tìm file cụ thể, bạn cần có khả tìm kiếm cấu trúc thư mục Các file có tên tượng trưng tên tương tự biểu thị mối quan hệ file, hệ thống cần tìm tất file có tên khớp với mẫu định Tạo file thư mục: Người dùng tạo file thêm vào thư mục Xóa file: Khi file khơng cần thiết, hệ thống xóa file khỏi thư mục Liệt kê file: Cần liệt kê file thư mục nội dung đầu vào thư mục file danh sách Đổi tên file: Tên file đại diện cho nội dung người dùng, đó, thay đổi tên nội dung cách sử dụng file thay đổi Đổi tên file thay đổi vị trí cấu trúc thư mục Duyệt hệ thống file: Đôi ta muốn truy cập tất thư mục file cấu trúc thư mục Vì lý độ tin cậy, ta nên thường xuyên lưu nội dung cấu trúc toàn hệ thống file Trong hầu hết trường hợp, chép tất file vào băng từ Kỹ thuật cung cấp dự phịng trường hợp lỗi hệ thống Ngồi ra, file khơng cịn sử dụng, chép vào băng, giải phóng khơng gian đĩa file để file khác sử dụng lại Để thực thao tác trên, thư mục có cấu trúc riêng phục vụ chức Các kiểu cấu trúc thư mục: 3.2.1 Thư mục đơn tầng (Single-level directory) Trong thư mục đơn tầng, tất file hệ thống nằm thư mục Thư mục đơn tầng - Lợi ích: Thư mục đơn tầng dễ hỗ trợ dễ hiểu với người dùng - Nhược điểm: Vì tất file thư mục, file phải có tên riêng biệt, điều khiến người dùng khó nhớ tên tất file số lượng file tăng lên 3.2.2 Thư mục hai tầng (Two-level Directory) Trong thư mục hai tầng, Mỗi người dùng có Thư mục file người dùng (User Files Directory-UFD) riêng Các UFD có cấu trúc tương tự, UFD liệt kê file người dùng Khi người dùng bắt đầu cơng việc người dùng đăng nhập, thư mục file hệ thống (master file directoryMFD) tìm kiếm MFD lập mục theo tên người dùng số tài khoản, với mục nhập trỏ đến UFD người dùng Thư mục hai tầng Ưu điểm: Người dùng khác có file trùng tên nên giải vấn đề xung đột tên Khi tạo xóa file, hệ điều hành tìm kiếm UFD người dùng để lấy file đó, nên khơng lấy xóa file người dùng khác Nhược điểm: Cấu trúc cô lập người dùng với người dùng khác cách hiệu quả, khiến người dùng khó cộng tác tác vụ truy cập file Một số hệ thống đơn giản không cho phép người dùng truy cập cục file người dùng khác Hơn nữa, cấp quyền truy cập, người dùng phải biết tên đường dẫn file mong muốn (tên đĩa tên người dùng - tên file) để đặt tên cho file Ngoài ra, file hệ thống chứa lệnh, thư viện tải trình tải, nhiều trình thơng dịch lệnh coi lệnh tên file để tải thực thi Tên file tìm kiếm UFD Vì vậy, file hệ thống phải chép vào UFD, điều làm lãng phí nhiều dung lượng ổ đĩa Giải pháp cho tình sử dụng phương pháp tìm kiếm đường dẫn (search path method) Đưa tên file để tải, trước tiên hệ điều hành tìm kiếm UFD cục Nếu file tìm thấy, sử dụng Nếu khơng tìm thấy, hệ thống tự động tìm kiếm thư mục người dùng đặc biệt có chứa file hệ thống Phương pháp sử dụng phổ biến UNIX Windows Mỗi người dùng có đường dẫn tìm kiếm riêng họ 3.2.3 Thư mục cấu trúc (Tree-structured Directory) Thư mục cấu trúc Vì thư mục hai cấp xem hai cấp nên mở rộng cấu trúc thư mục thành có chiều cao tùy ý Cây có thư mục gốc Một thư mục (hoặc thư mục con) chứa tập hợp file thư mục Một thư mục đơn giản file khác, xử lý theo cách đặc biệt Một bit đầu vào thư mục xác định đầu vào dạng file (0) dạng thư mục (1) Các lệnh gọi hệ thống đặc biệt sử dụng để tạo xóa thư mục Mỗi quy trình có thư mục tại, thư mục chứa hầu hết file mà quy trình cần Khi tham chiếu đến file, thư mục tìm kiếm Nếu cần file khơng có thư mục tại, người dùng thường phải định tên đường dẫn thay đổi thư mục thành thư mục chứa file Thư mục ban đầu cho shell đăng nhập người dùng xác định người dùng bắt đầu công việc người dùng đăng nhập Hệ điều hành tìm kiếm file lưu tài khoản để tìm đầu vào hệ thống người dùng File tài khoản có trỏ tới thư mục người dùng Bạn sinh tiến trình khác từ shell Trong cấu trúc có kiểu đường dẫn (path name): Chỉ dẫn tuyệt đối (absolute path): Bắt đầu từ gốc, xuống đến file cụ thể Chỉ dẫn tương đối (relative path): dẫn thư mục Ưu điểm: Thư mục dạng cho phép người dùng xác định thư mục riêng họ thiết lập cấu trúc file.Các thư mục riêng biệt chứa file có chủ đề khác định dạng thông tin khác Ngồi người dùng sử dụng tên đường dẫn để truy cập file người dùng khác thay đổi thư mục Nhược điểm: Với thư mục cây, ta cần quan tâm vấn đề xóa file xóa thư mục Nếu thư mục khơng trống, người dùng phải xóa tất thư mục trước, việc tốn thời gian Còn UNIX, với lệnh rm, người dùng xóa tất file thư mục thư mục Cách tiếp cận nguy hiểm hơn, lệnh đưa lỗi hệ thống, số lượng lớn file thư mục cần khôi phục Ngồi ra, người dùng khơng thể chia sẻ file thư mục để dùng chung 3.2.4 Thư mục đồ thị Acylic (Acylic-graph Directory) Thư mục đồ thị Acylic Thư mục đồ thị Acylic thư mục có cấu trúc đồ thị Acylic không tồn chu trình Thư mục Acylic tổng qt hóa tự nhiên thư mục dạng Kiến trúc thư mục cho phép thư mục sử dụng chung thư mục file Ưu điểm: nhiều người dùng xem sử dụng thay đổi thư mục chia sẻ, thay tạo hai file Các file người dùng tạo tự động xuất tất thư mục chia sẻ Hoàn hảo cho làm việc theo nhóm Ngay máy tính cá nhận, số file cần đặt thư mục khác tùy thuộc vào tổ chức file người dùng Tuy nhiên tạo thư mục chia sẻ, phải đảm bảo đồ hệ thống file khơng xảy chu trình Nhược điểm: Khi tìm kiếm đồ thị acylic, hệ thống cần đảm bảo không duyệt thư mục chia sẻ hai lần để tăng tốc độ duyệt Nhưng file thư mục chung có nhiều đường dẫn tuyệt đối (absolute path), nên tên file khác đến file Nếu duyệt tồn hệ thống, phải duyệt thư mục chung nhiều lần Ngồi ra, người dùng xóa file, trỏ đến file đến file không tồn Nếu nhớ dùng chung file được hệ thống sử dụng cho file khác, trỏ đến file khác file người dùng tìm Để giải vấn đề trên, Khi xóa file, hệ điều hành xóa thơng tin trỏ file, khơng ảnh hưởng file gốc, xóa thông tin trỏ Lúc hệ thống không xác định địa file, trỏ không hiệu quả, để xóa trỏ hệ thống tốn Một cách khác hệ thống để trỏ lại đến lúc cần dùng Khi dùng, hệ thống xác nhận tên file trỏ không tồn hệ điều hành xử lý gặp file có tên khơng hợp lệ Một cách khác giữ file đến trỏ đến file bị xóa hết Lưu trỏ đến file danh sách (file-reference list) Khi có trỏ đến file, hệ thống thêm thông tin trỏ vào list Khi xóa trỏ, hệ điều hành xóa thơng tin trỏ danh sách Khi hết trỏ đến file, khơng cịn thơng tin trỏ danh sách xóa file Có thể lưu thơng tin biến count Khi link đến file, count tăng lên, xóa link giảm biến count Khi count = 0, hệ điều hành xóa file khỏi nhớ Hệ điều hành UNIX dùng cách với liên kết file không tượng trưng (non-symbolic link). Một số hệ thống không cho phép chia sẻ chung thư mục để phòng ngừa lỗi xảy 3.2.5 Thư mục tổng quát (General Graph Directory) Thư mục tổng quát Thư mục tổng quát có cấu trúc thư mục có liên kết thư mục giống thư mục đồ thị Acylic Vì đồ thị thư mục có chu trình, hệ điều hành muốn tránh tìm kiếm thành phần hai lần để tăng tốc độ tìm kiếm đảm bảo độ xác Nhược điểm: Vấn đề xảy hệ điều hành duyệt thư mục Nếu thuật tốn duyệt thư mục chưa tối ưu, xảy vịng lặp vơ hạn chu trình Để giải vấn đề này, cần quy định số lượng thư mục truy cập trình tìm kiếm để kết thúc thuật tốn Ngồi ra, xóa file, với thư mục đồ thị Acylic, biến count khơng cịn liên kết đến file thư mục để xóa Nhưng chu trình tồn tại, biến count khơng tham chiếu đến thư mục file Giải pháp cho vấn đề xóa file sơ đồ thu gom rác (Garbage collection scheme) để xác định tham chiếu cuối đến file bị xóa, đĩa sử dụng cho file khác Việc thu gom rác liên quan đến việc duyệt qua toàn hệ thống file, đánh dấu thứ truy cập Sau đó, lượt thứ hai thu thập thứ không đánh dấu vào danh sách không gian trống Cách tiếp cận tốn thời gian, thử Một cách để tránh chu trình thêm liên kết file vào cấu trúc bỏ qua liên kết duyệt thư mục Liên kết hệ thống file Liên kết hệ thống file liên kết volumn gồm nhiều file thư mục độc lập hệ thống file có sẵn để thành sơ đồ, hệ thống file mới, cho phép hệ thống truy cập vào volumn hệ thống file phải liên kết trước khả dụng cho quy trình hệ thống Cấu trúc thư mục xây dựng từ nhiều file hệ thống bắt buộc liên kết file thư mục để làm cho chúng khả dụng không gian tên hệ thống file Quy trình liên kết file: Hệ điều hành cung cấp tên thiết bị điểm liên kết để xác định vị trí cấu trúc file hệ thống file liên kết Một số hệ điều hành yêu cầu cung cấp loại hệ thống file liên kết, hệ điều hành khác kiểm tra cấu trúc thiết bị xác định loại hệ thống file Tiếp theo, hệ điều hành yêu cầu driver thiết bị đọc thư mục thiết bị, để xác minh thư mục có hệ thống file hợp lệ Cuối cùng, hệ điều hành thông báo cấu trúc thư mục: hệ thống file liên kết vào vị trí định Sơ đồ cho phép hệ điều hành duyệt qua cấu trúc thư mục, chuyển đổi hệ thống file Hệ thống có áp đặt chế để làm rõ chức liên kết file Ví dụ, hệ thống khơng cho phép liên kết thư mục chứa file Hoặc hệ thống cho phép hệ thống file liên kết thư mục che khuất file có thư mục hệ thống file dừng liên kết, chấm dứt việc sử dụng hệ thống file cho phép truy cập vào file gốc thư mục Hệ thống cho phép gắn nhiều lần hệ thống file, điểm gắn khác nhau; cho phép lần gắn kết hệ thống file Trong hệ điều hành có sơ đồ liên kết hệ thống file khác Ví dụ: MAC OS X: Khi hệ thống file tìm thấy, tự động gắn vào thư mục /volume hiển thị biểu tượng thư mục với tên hệ thống file Nhấp vào biểu tượng người dùng thấy hệ thống file gắn Windows: Các volumn có cấu trúc thư mục tổng quát (general graph directory) với ký tự điều khiển (vd: C:/, D:/) Đường dẫn đến file có định dạng: Ký tự điều khiển:\path\file Các phiên Windows gần cho phép hệ thống file gắn vào đâu thư mục Trong thời gian khởi động, Windows tự động khám phá tất thiết bị gắn kết tất hệ thống file định vị UNIX: Trong file cấu hình hệ thống chứa danh sách thiết bị điểm liên kết để tự động liên kết khởi động, q trình liên kết khác thực thủ công Chia sẻ file Khi thao tác file, file chia sẻ tiến trình để tính tốn nhanh hơn, đồng thời để người dùng phối hợp với dự án Khi chia sẻ file, vấn đề cần giải là: 5.1 Chia sẻ file người dùng máy tính Khi chia sẻ file 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 cho phép người dùng truy cập tự vào file người dùng khác người dùng cần quyền truy cập cụ thể Để lưu thông tin quyền người dùng, hệ thống đa người dùng phải trì nhiều thuộc tính file thư mục hệ thống người dùng Hệ thống sử dụng mơ hình: chủ file nhóm Chủ sở hữu có nhiều quyền kiểm sốt file, thuộc tính nhóm xác định số người dùng chia sẻ quyền truy cập vào file Trong hệ điều hành UNIX, chủ sở hữu thực thao tác file, thành viên khác nhóm thực số thao tác cụ thể chủ nhóm định ID chủ sở hữu nhóm lưu trữ với thuộc tính file khác Khi người dùng yêu cầu thao tác, Hệ thống kiểm tra chủ sở hữu nhóm biết quyền Nhiều hệ thống có nhiều volume hệ thống liên kết volume kiểm tra quyền 5.2 Chia sẻ hệ thống file ngồi máy tính Trong mạng máy mính, máy tính từ xa truyền thông chia sẻ tài nguyên với nhau, tài ngun file Các hình thức chia sẻ file qua mạng máy tính kể đến: Truyền file thủ cơng thơng qua chương trình, giao thức FTP (File Transfer Protocol) Sử dụng hệ thống file phân tán (Distributed File System – DFS), cho phép sử dụng thư mục từ xa máy host Mạng Internet, hay World Wide Web phương pháp mở rộng phương pháp đầu tiên, sử dụng thao tác riêng biệt, wrapper FTP để truyền file Hiện nay, phương pháp chia sẻ file qua Internet phổ biến nhất, có 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 cho phép liên kết hệ thống file từ máy từ xa Trong mơ hình chứa máy chủ (server) – máy chứa file, máy khách (client) – máy truy cập vào file Server khai báo tài nguyên có sẵn cho client gửi xác cho client Để xác định ứng dụng client, mạng sử dụng tên mạng địa IP mã hóa khác Ví dụ, hệ điều hành UNIX hệ thống file mạng (NFS), xác thực diễn 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 ID người dùng xác để truyền thơng Và nhiều máy chủ 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 vào thơng tin cần thiết cho tính tốn từ xa, bao gồm tên máy chủ quyền truy cập mạng Hệ thống sử dụng DNS để dịch 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 sở phân tán Các hệ thống UNIX sử dụng nhiều phương pháp thông tin phân tán Còn hệ thống file Internet chung 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 yêu cầu Khi chia sẻ file qua mạng, nhiều vấn đề xảy q trình truy cập hệ thống file từ xa, dẫn đến file Để đảm bảo an tồn, hệ thống có chế xử lý lỗi, bao gồm chấm dứt hoạt động máy chủ bị trì hỗn hoạt động truy cập lại máy chủ Giải pháp thứ hai sử dụng nhiều Để thực khôi phục truy cập sau mất, máy khách máy chủ phải trì số thơng tin trạng thái Trong trường hợp kết nối, hệ thống file từ xa gắn mở file, giao thức NFS triển khai DFS không trạng thái Giao thức NFS mang tất thông tin cần thiết để định vị file thích hợp thực thao tác yêu cầu Vì NFS coi kết nối từ máy khách hợp pháp nên số vấn đề bảo mật xảy NFS4 cải thiện vấn đề hiệu suất 5.2.3 Xử lí mâu thuẫn xảy sử dụng chung file Khi nhiều người dùng sử dụng file, thơng tin file bị thay đổi liên tục nhiều người dùng, dẫn đến sai lệch tính tốn Để giải vấn đề, cần có chế quản lí dùng chung file Đó chế ngữ nghĩa quán (Consistency Semantics) Cơ chế định có người dùng hệ thống truy cập đồng thời vào file chia sẻ, từ định sửa đổi liệu người dùng quan sát người dùng khác Một số ví dụ bật tính quán ngữ nghĩa 5.2.3.1 Cơ chế Ngữ nghĩa quán UNIX Trong UNIX, nội dung ghi vào file mở người dùng hiển thị người dùng khác mở file Chế độ chia sẻ cho phép người dùng chia sẻ trỏ vị trí vào file (current-fileposition pointer) Do đó, việc người dùng tăng trỏ ảnh hưởng đến tất người dùng chia sẻ Trong chế quán ngữ nghĩa UNIX, file liên kết với hình ảnh vật lý truy cập dạng tài nguyên độc quyền Tranh giành hình ảnh gây chậm trễ quy trình người dùng 5.2.3.2 Cơ chế phiên ( Session Semantics ) Cơ chế sử dụng hệ thống file Andrew (OpenAFS) Việc ghi vào file mở người dùng không hiển thị người dùng mở file Sau file đóng, thay đổi thực file hiển thị phiên bắt đầu sau Các phiên mở file không phản ánh thay đổi Do đó, nhiều người dùng phép thực truy cập đọc ghi đồng thời hình ảnh file họ mà không bị chậm trễ Hầu ràng buộc thực thi việc lên lịch truy cập 5.2.3.3 Cơ chế file chia sẻ bất biến Cơ chế quy định sửa đổi file chia sẻ Tên file sử dụng lại, nội dung file thay đổi File chia sẻ chế độ read() Bảo vệ file File tài nguyên quan trọng máy tính, lưu thơng tin sử dụng người dùng Vì vậy, ta muốn giữ thơng tin lưu trữ an toàn khỏi tác động vật lý truy cập không cách Thông thường, bảo mật thường thực việc tạo file Nhiều máy tính có chương trình hệ thống tự động chép file đĩa vào băng theo định kỳ để ngăn file vơ tình bị hủy cố phần cứng vơ tình bị xóa Ngồi ra, lỗi hệ thống file khiến nội dung file bị 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 việc truy cập file, điều cần quyền truy cập kiểm soát Hệ thống file cung cấp quyền truy cập kiểm soát cách giới hạn loại quyền truy cập file thực Các loại truy cập kiểm sốt: Đọc: Đọc từ file Viết: Viết viết lại file Thực thi: Tải file vào nhớ thực thi Mở rộng: Ghi thơng tin bổ sung vào cuối file Xóa bỏ: Xóa file giải phóng dung lượng để sử dụng lại Liệt kê: Liệt kê tên thuộc tính file Các hoạt động cấp cao khác kiểm sốt Nhưng nhiều hệ thống, hoạt động thực cách chương trình hệ thống thực gọi hệ thống cấp thấp Vì vậy, hệ thống áp dụng chế bảo vệ mức hoạt động thấp trên.Ví dụ: Thao tác chép thực chuỗi thao tác đọc Tuy nhiên, chế bảo vệ phải phù hợp với ứng dụng định Một hệ thống máy tính nhỏ khơng cần biện pháp bảo vệ phức tạp máy tính cơng ty lớn phục vụ tài chính, nghiên cứu., 6.2 Kiểm sốt người dùng Cách tiếp cận phổ biến cho vấn đề bảo vệ kiểm soát người dùng Những người dùng khác cần kiểu truy cập khác vào file thư mục Việc triển khai thực với danh sách kiểm soát truy cập (ACL) file thư mục Khi người dùng yêu cầu quyền truy cập vào file, hệ điều hành kiểm tra ACL để định xem người dùng có phép truy cập file hay khơng Ưu điểm: phương pháp cho phép phương thức truy cập phức tạp Nhược điểm: Độ dài ACL lớn đ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 gây khó khăn cho việc quản lý không gian nhớ Để giải vấn đề trên, nhiều hệ thống phân loại người dùng liên quan đến file thành nhóm: Chủ nhân (Owner): Người dùng tạo file chủ sở hữu Nhóm (Group): Một nhóm người dùng chia sẻ file cần quyền truy cập tương tự nhóm Tồn (Universe) Tất người dùng khác hệ thống tạo thành universe Cách tiếp cận phổ biến gần kết hợp ACL với lược đồ kiểm soát truy cập chủ sở hữu, nhóm tồn bộ, tạo góc nhìn tổng qt (và dễ thực hơn) phương pháp phân nhóm vừa mô tả Trong hệ thống UNIX, bảo vệ thư mục file xử lý theo sơ đồ ba trường Mỗi trường bao gồm ba bit “rwx”, “r” kiểm số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 bit cho file để lưu thông tin bảo vệ Do đó, người dùng liệt kê nội dung thư mục bit “r” đặt trường thích hợp Tương tự, người dùng thay đổi thư mục sang thư mục khác bit “x” liên kết với thư mục đặt trường thích hợp Để sơ đồ hoạt động bình thường, quyền danh sách truy cập phải kiểm sốt chặt chẽ Việc kiểm sốt thực theo nhiều cách Ví dụ, hệ thống UNIX Các nhóm tạo sửa đổi người quản lý sở (hoặc siêu người dùng) Vì vậy, kiểm sốt thực tương tác người Một khó khăn kết hợp phương pháp bảo vệ giao diện người dùng, để người dùng hiểu ACL tùy chọn đặt file Ví dụ: Windows quản lý danh sách kiểm sốt truy cập thơng qua GUI, chủ sở hữu người quản lý file cho phép từ chối quyền truy cập người dùng khác GUI Giao diện quản lí người dùng Windows Một khó khăn khác cấp phép thêm quyền bảng ACL quyền người dùng bị xung đột Ví dụ người dùng nhóm cấp quyền đọc người dùng cấp quyền đọc ghi ACL Nói chung, quyền ACL ưu tiên hơn, hệ thống ưu tiên rõ ràng rõ ràng 6.3 Các phương pháp bảo vệ khác Ngoài phương pháp lưu thơng tin người dùng kiểm sốt truy cập kể trên, phương pháp khác liên kết mật với tập tin Ưu điểm: Việc sử dụng mật có tính bảo mật cao, thơng tin đăng nhập lưu để kiểm sốt quyền truy cập vào file Nhược điểm: Một nhược điểm phương pháp dùng mật mật chọn ngẫu nhiên thay đổi thường xuyên số lượng mật mà người dùng phải nhớ trở nên lớn hơn, gây bất tiện cho người dùng Ngoài ra, mật sử dụng cho file, phát hiện, file truy cập, file dễ bị công Giải pháp đưa số hệ thống liên kết mật với thư mục con, thay file riêng lẻ, giúp giảm số lượng mật cần ghi nhớ, mà bảo đảm bảo mật Trong cấu trúc thư mục nhiều cấp, cần bảo vệ không file riêng lẻ mà tập hợp file thư mục con; nghĩa cần cung cấp chế bảo vệ thư mục Trong thư mục, việc tạo xóa file phải kiểm sốt Ngồi ra, liệt kê nội dung thư mục phải bảo vệ hoạt động Tương tự, tên đường dẫn đề cập đến file thư mục, người dùng phải phép truy cập vào thư mục file Trong hệ thống mà file có nhiều tên đường dẫn (chẳng hạn đồ thị Acylic đồ thị tổng quát), người dùng định có quyền truy cập khác file cụ thể, tùy thuộc vào tên đường dẫn sử dụng