Giáo trình Hệ điều hành - Chương 8: Hệ thống File
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:
- giao_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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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