Tổng quan về Giải thuật và Cấu trúc dữ liệu CHÖÔNG 9 GIAO TIEÁP VÔÙI HEÄ THOÁNG FILE Toång quan veà döõ lieäu vaø file Caùc thuoäc tính & thao taùc treân file Caùc phöông phaùp truy caäp file Toå[.]
CHƯƠNG 9: GIAO TIẾP VỚI HỆ THỐNG FILE Tổng quan liệu file Các thuộc tính & thao tác file Các phương pháp truy cập file Tổ chức thư mục Mount hệ thống file Bảo vệ hệ thống file Sao lưu phục hồi liệu TỔNG QUAN VỀ DỮ LIỆU & FILE Yêu cầu lưu trữ user Lưu trữ lâu dài Truy cập nhanh Lưu đựoc nhiêu liệu Chia xẻ bảo vệ tốt Dễ sử dụng cần hỗ trợ phần cứng OS Khái niệm file (tập tin, tệp) Đơn vị lưu trữ luận lý OS Phân loại: chương trình liệu Có thể có/ cấu trúc: CÁC THUỘC TÍNH & THAO TÁC TRÊN FILE Thuộc tính file (file attribute) Tên, vệ… kiểu, vị trí lưu trũ , kích cỡ, thông tin bảo Thao tác liệu file (data operation) create, write, read, seek, delete, truncate open(Fi) i close (Fi) i Thao tác đặt tên file (naming operation) Tạo hard link, soft link, rename, Thiết lập thuộc tính, lấy thuộc tính CẤU TRÚC DỮ LIỆU QUẢN LÝ FILE Bảng thông tin file mở (Open File Table) Dành cho n trình dùng chung file Chứa: biến điếm sử dụng, thuộc tính file, vị trí file đóa, trỏ đến vị trí file nhớ Bảng thông tin file trình (Per-process File Table): Với file, bảng chứa: Con trỏ đến mục tương ứng Open File Table Vị trí file Chế độ truy cập trình với file (r, w, rw) Con trỏ tới file buffer TÁC VỤ FILE (1) Tạo file: Create(name) Cấp không gian lưu trữ Tạo file descriptor chứa thông tin quản lý file Thêm file descriptor vào thư mục chứa file Xoá file: Delete(name) Tìm thư mục chứa file Giải phóng khối đóa dành cho file Xoá file descriptor khỏi thư mục chứa file Mở file: file_id = Open(name, mode) Kiểm tra file có mở hay chưa chia xẻ file Kiểm tra quyền sử dụng file Tăng open count file Tạo thêm thông tin quản lý file mở vào bảng file hệ thống trình Đóng file: Close(file_id) ? TÁC VỤ FILE (2) Đọc file: Read(file_id, from, size, buf_addr) : đọc ngẫu nhiên Read(file_id, size, buf_addr) : đọc Ghi file: Tương tự đọc file Thực copy liệu từ buffer vào file Seek: Cập nhật vị trí trỏ file Ánh xạ file vào nhớ (memory mapping a file): nh xạ vùng địa ảo vào nội dung file Tác vụ đọc/ ghi lên vùng nhớ đọc/ ghi file CÁC PHƯƠNG PHÁP TRUY CẬP FILE Theo quan điểm người lập trình Tuần tự: xử lý liệu (byte, record…) theo trật tự Theo khoá: tìm khối liệu theo giá trị khóa Theo quan điểm hệ điều hành Truy cập (sequential access): giữ cập nhật trỏ đến vị trí truy cập kế tiêp file Truy cập trực tiếp (random access): truy cập liệu theo offset khôi liệu file TỔ CHỨC THƯ MỤC Thư mục (directory) Cấu trúc liệu HĐH để ánh xạ tên sang số nhận dạng file HĐH Tác vụ thực thư mục Tìm file, tạo file, xoá file, liệt kê nội dung thư mục, đổi tên file, duyệt hệ thống file Yêu cầu tổ chức hệ thống thư mục Hiệu Tiện lợi cho người sử dụng Có khả nhóm file theo thuộc tính CÁCH TỔ CHỨC THƯ MỤC Tổ chức cấp (Single-Level Directory) Sử dụng không gian tên (thư mục) cho user Việc đặt tên dễ đụng độ Không có khả nhóm file Tổ chức cấp (Two-Level Directory) user có thư mục riêng Sử dụng đường dẫn để xác định nơi lưu file Tìm kiếm nhanh Vẫn có khả đụng độ đặt tên Không có khả nhóm file TỔ CHỨC THƯ MỤC ĐA CẤP (Multilevel Directory) Nhận xét 10 Ổ CHỨC THƯ MỤC DẠNG ĐỒ THỊ TỔNG QUÁT (General raph) K/niệm link Hard link Soft link Vaán đề? Giải quyết? 11 MOUNT HỆ THỐNG FILE Mount Gắn hệ thống file thiết bị lưu trữ vào hệthống thư mục để truy cập Mount point Thư mục nơi gắn hệ thống file vào Unmount Tách hệ thống file thiết bị lưu trữ khỏi mount point Loại hệ thống file mount: tùy thuộc hỗ trợ hệ điều hành 12 BẢO VỆ HỆ THỐNG FILE Người tạo/ sở hữu file phải điều khiển Các thao tác thực file Ai có quyền thực thao tác Các quyền thao tác file Read, Write, Execute, Append, Delete, List Phương pháp bảo vệ Access list & group (Windows NT) Access control bits (UNIX) Điều khiển truy cập đồng thời Khóa toàn file Khóa phần file 13 BẢO VỆ FILE TRÊN UNIX Chế độ truy cập : read, write, execute loại người dùng: owner, group, others Biểu diến quyền truy cập file tổ hợp bit rwx r-x r-x Others Group Owner Kiểm tra quyền sử dụng theo owner, group roài user 14 Mục tiêu Giới thiệu vai trò việc tổ chức liệu đề án tin học Mối quan hệ giải thuật cấu trúc liệu Các yêu cầu tổ chức cấu trúc liệu Khái niệm kiểu liệu_cấu trúc liệu Tổng quan đánh giá độ phức tạp giải thuật 15 ... trò việc tổ chức liệu đề án tin học Mối quan hệ giải thuật cấu trúc liệu Các yêu cầu tổ chức cấu trúc liệu Khái niệm kiểu liệu _cấu trúc liệu Tổng quan đánh giá độ phức tạp giải thuật 15 ...TỔNG QUAN VỀ DỮ LIỆU & FILE Yêu cầu lưu trữ user Lưu trữ lâu dài Truy cập nhanh Lưu đựoc nhiêu liệu Chia xẻ bảo vệ tốt Dễ sử dụng cần... tiêp file Truy cập trực tiếp (random access): truy cập liệu theo offset khôi liệu file TỔ CHỨC THƯ MỤC Thư mục (directory) Cấu trúc liệu HĐH để ánh xạ tên sang số nhận dạng file HĐH Tác