Giáo trình Hệ điều hành - Chương 8: Hệ thống File

pdf 16 trang huongle 2760
Bạn đang xem tài liệu "Giáo trình Hệ điều hành - Chương 8: Hệ thống File", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfgiao_trinh_he_dieu_hanh_chuong_8_he_thong_file.pdf

Nội dung text: Giáo trình Hệ điều hành - Chương 8: Hệ thống File

  1. CHƯƠNG 8 HỆ THỐNG FILE -1- NỘI DUNG  Khái niệm hệ thống tệp  Các phương pháp truy xuất tệp  Cấu trúc thư mục  Mount hệ thống tệp  Chia sẻ tệp  Cài đặt  Cấu trúc  Cấu trúc thư mục  Cấp phát  Quản lý khơng gian trống -2- Khái niệm hệ thống tệp  Tổng quan  Khái niệm tệp  Thuộc tính tệp  Các thao tác  Các kiểu tệp  Cấu trúc tệp -3- 1
  2. Khái niệm FS – tổng quan  Phần của OS cung cấp – File system (FS) – Cách lưu trữ dữ liệu một cach bền vững, dễ truy xuất, cĩ thể lưu trữ trên các thiết bị lưu trữ (stockage device - SD)  Gồm các phần riêng biệt – Partition (các khu vực) – Cấu trúc thư mục – Tập các tệp -4- Khái niệm FS – Khái niệm tệp  Tập thơng tin trên 1 SD – Dữ liệu chỉ cĩ thể ghi lên SD ở dạng (hay được chứa) trong 1 tệp  Được tạo – OS – NSD  Phân loại – Dựa trên kiểu dữ liệu mà tệp đang chứa -5- Khái niệm FS – Thuộc tính tệp  Tên – Định danh – Duy nhất trong thư mục – Độc lập với NSD  Inode – Số xác định tệp trong FS  Kiểu – Dùng trong các hệ thống hỗ trợ nhiều kiểu FS  Vị trí  Kích thước  Time/ Date, sở hữu chủ -6- 2
  3. Khái niệm FS – Thao tác tệp  Dùng các hàm của OS để gọi các hàm của hệ thống  Các thao tác – create, write, read, seek, delete, truncate – open(Fi) – close (Fi) -7- Khái niệm FS – Kiểu tệp  Kiểu FS – Được cung cấp bởi OS  Kiểu tệp – Tệp thường – Thư mục – Tệp chứa symbol device  Input/Output thơng tin qua các I/O device – Tệp khối (block device)  Truy xuất trên block device (đĩa, ) -8- Khái niệm FS – Cấu trúc tệp  Cấu trúc tệp – Tuần tự  Tệp là dãy các byte – Cĩ cấu trúc  Dãy mẫu tin cĩ size cố định – Cây  Thơng tin tổ chức theo DOM  Cấu trúc quản lý – Open file table – Per-process File Table  Các tệp đang mở bởi 1 QT -9- 3
  4. Các PP truy xuất  Tuần tự  Trực tiếp  Các PP khác -10- Các PP truy xuất - Tuần tự -11- Cấu trúc thư mục  Đơn cấp  Hai cấp  Cây  Đồ thị khơng chu trình -12- 4
  5. Các PP truy xuất - Trực tiếp  Truy xuất theo mẫu tin/ khối dữ liệu  Khơng theo thứ tự các khối  Dùng cho các file cĩ KT lớn – Cơ sở dữ liệu -13- Các PP truy xuất - Các PP khác  Mở rộng truy xuất trực tiếp  Xây dựng chỉ mục các mẫu tin -14- Cấu trúc thư mục - Đơn cấp  Các tập tin được chứa trong cùng 1 thư mục -15- 5
  6. Cấu trúc thư mục - Hai cấp  Thư mục riêng của từng NSD  Dùng thư mục chung (gốc) cho thao tác tìm kiếm tệp  Dùng PATH (DOS , Unix) -16- Cấu trúc thư mục - Cây  Tổ chức theo dạng cây  Gốc  Quan hệ thư mục cha – con Kiểu được quy định bởi inode 0: tệp , 1: sub dir  Một tệp: 1 đ/c duy nhất (PATH)  OS áp dụng  DOS -17- Cấu trúc thư mục – Đồ thị khơng chu trình  Phục vụ chia sẻ tệp  Tạo các copy của các tệp (link) trong các thư mục (khác với thư mục chứa nĩ) -18- 6
  7. Mount FS  Khaí niệm  Mở trước khi sử dụng  Thủ tục  Tên/Mơ tả của thiết bị lưu trữ  Vị trí của FS (của thiết bị) trong FS chung (mount point) Thư mục con của root -19- Mount FS  Windows  Dùng cấu trúc 2 cấp  Các thiết bị và khu vực Gán bởi 1 ký tự ổ đĩa (A Z)  Tự detect+mount các FS lúc khởi động OS  Linux  Mount point: thư mục con của root  Cĩ thể được mount/ hủy mount bằng tay, -20- Chia sẻ FS  Nhiều NSD  Dựa vào các thuộc tính hỗ trợ Sở hữu chủ + Nhĩm + Khác  Truy cập từ xa  FTP  Hệ thống file phân tán (DFS) -21- 7
  8. Cài đặt FS  Cấu trúc FS  Cài đặt  Tổng quan  FS ảo - VFS  Cài đặt thư mục  Cấp phát đĩa  Kề  Liên kết  Dùng chỉ mục  Quản lý khơng gian trống  Bit vector  Danh sách  Nhĩm  Bộ đếm -22- Cài đặt FS –Cấu trúc  Đĩa: thiết bị lưu trữ với các đặc tính  Được ghi lại bằng cách thay thế  Cĩ thể truy xuất ngẫu nhiên  Cấu trúc đĩa  Cluster  Sector Thơng thường: KT 512 byte -23- Cài đặt FS –Cấu trúc  Các cấp độ tạo FS – Cấp cao dùng các đặc tính của cấp thấp để tạo FS – I/O Control  Các driver chuyển dữ liệu giữa MEM và disk  Các bộ quản lý interrupt – Basic FS  Func R/W các block/disk qua driver – Module tổ chức tệp  Chuyển tệp logic thành tệp physique  Quản lý khơng gian trống -24- 8
  9. Cài đặt FS –Cấu trúc  Các cấp độ tạo FS – Logic FS  Quản lý metadata của FS  Dùng FCB để quản lý các tệp -25- Cài đặt FS - Tổng quan  Cấu trúc đĩa – Boot Control block  Thơng tin dùng để start OS từ 1 partittion được chỉ định. Cũng được hiểu là control bootsector – Partition Control block  Thơng tin về partition  Thơng tin liên quan đến FS – Couter FCB – Master file table – Cấu trúc tệp  Thơng tin metadata để xây dựng tệp -26- Cài đặt FS - Tổng quan  Cấu trúc MEM (caching) – Bảng khu vực  Thơng tin về mỗi partition được mount – Cấu trúc thư mục  Thơng tin thư mục của những thư mục vừa truy xuất – Bảng các tệp đang mở của OS  Chứa các copy FCB – Bảng các tệp đang mở của các QT  Các con trỏ đến các mục tương ứng trong bảng trên -27- 9
  10. Cài đặt FS - Tổng quan  Quy trình tạo – APP gọi logic FS – Xác định định dạng của cấu trúc thư mục – Cấp phát 1 FCB mới – Đọc thư mục vào MEM – Cập nhật thư mục với tên và FCB mới – Ghi lại thư mục vào disk -28- Cài đặt FS - Tổng quan  Quy trình tạo -29- Cài đặt FS - Tổng quan  Quy trình tạo -30- 10
  11. Cài đặt FS - Tổng quan  Quy trình mở – FCB được copy vào bảng các tệp đang mở của OS – Xác định counter các QT đang truy cập tệp – Xác định các mơ tả tệp cho từng QT truy cập  Unix: file descriptor  Windows (NTFS): file handle -31- Cài đặt FS - VFS  Mục đích – Đơn giản hĩa thao tác FS trên 1 NFS – Cho phép nhiều kiểu FS được cài đặt trên cùng cấu trúc NFS  PP – Viết riêng các proc cho tệp, thư mục cho từng kiểu FS – Phân tầng quá trình cài đặt FS  Tầng giao diện  VFS  Các FS từ xa hay cục bộ -32- Cài đặt FS - VFS  Tầng giao diện – Các lời gọi hệ thống – Các FCB  VFS – Định nghĩa các interface VFS cho từng FS – Chứa các vnode: dùng ! cho mỗi tệp qua NFS  Các FS từ xa hay cục bộ -33- 11
  12. Cài đặt FS - VFS  Họat động – Phân biệt các kiểu FS  Remote hay Local  Các kiểu FS local – Kích hoạt các thao tác đặc tả FS để quản lý các request local -34- Cài đặt FS – Cài đặt thư mục  Cấp phát & quản lý thư mục  PP – Dùng cấu trúc dữ liệu chứa các thơng tin trong thư mục  Danh mục các tệp  Đ/c các block dữ liệu – Mỗi pp dựa trên 1 cấu trúc dữ liệu xác định -35- Cài đặt FS – Cài đặt thư mục  Danh sách linear – Đơn giản về cài đặt – Tính hiệu năng: kém  Hash talbe – Dùng 1 hash talbe để hỗ trợ các thao tác tìm kiếm tệp và xác định các block dữ liệu -36- 12
  13. Cài đặt FS – Cấp phát  Yêu cầu – Tệp hay thư mục được truy xuất 1 cách nhanh nhất  PP – Liên tục – Liên kết – Chỉ mục -37- Cài đặt FS – Cấp phát kề  Tệp – Chứa trong 1 dãy block kề nhau / đĩa  OS sử dụng – IBM/ CMS  Tệp được xác định bởi – Đ/c block đầu – Chiều dài (tính theo block)  Hạn chế – Xác định khơng gian cho 1 tệp mới fragment, cần algo – Xác định khơng gian đủ KT 1 tệp mới ? Khĩ cĩ thể -38- Cài đặt FS – Cấp phát liên kết  Tệp – Chứa trong 1 dãy block liên kết – Dùng con trỏ liên kết các block – Giải quyết các hạn chế của cấp phát kề  Hạn chế – Chỉ mạnh cho truy xuất tuần tự – Cần phải cĩ KG cho con trỏ Cần lưu giữ các con trỏ cho các tệp – Khĩ hỗ trợ truy xuất ngẫu nhiên Cần cơ chế xác định nhanh block -39- 13
  14. Cài đặt FS – Cấp phát liên kết  FAT (File Allocation Talbe) – Giải quyết các hạn chế của PP liên kết – Chứa các danh mục, chỉ mục các block của từng tệp – Lưu ở đầu 1 volume – OS sử dụng  MS- DOS và OS/2 -40- Cài đặt FS – Cấp phát liên kết - FAT -41- Cài đặt FS – Cấp phát lập chỉ mục  Tệp – Chứa trong 1 dãy block liên kết – Một block giữ các chỉ mục các block  Hạn chế – Xác định KT index block ? Cần cơ chế tạo, xác định -42- 14
  15. Cài đặt FS – Cấp phát chỉ mục  Cơ chế liên kết – Một iblock chỉ chứa 1 range block, và – Các iblock được liên kết với nhau  Chỉ mục nhiều cấp – Chỉ mục cấp 1: giữ các chỉ mục cấp 2 – Chỉ mục cấp 2: giữ chỉ mục cho các block  Cơ chế kết hợp – Dùng inode để lưu giữ các chỉ mục block -43- Cài đặt FS – Cấp phát chỉ mục  Cơ chế kết hợp – 15 con trỏ đầu của iblock trong inode của tệp  12 – Giữ các đ/c trực tiếp block  3: các đ/c gián tiếp – A: đ/c gián tiếp đơn: giữ các đ/c block – B: đ/c gián tiếp đơi: giữ đ/c các iblock – C: đ/c triple – OS sử dụng: các cài đặt của UNIX: AIX hay Solaris -44- Cài đặt FS – Cấp phát chỉ mục -45- 15
  16. Cài đặt FS – Quản lý free space  Bit vector – Dùng để lưu giữ danh mục cho kg trống  0: trống , 1: đang dùng  Danh sách – Dùng 1 danh sách liên kết giữ các khơng gian trống – Dùng kết hợp với FAT  Counter – Giữ đ/c khối trống đầu và n khối trống kề -46- 16