Mục tiêu của Bài giảng Hệ điều hành: Chương 5 nhằm giúp các bạn Trình bày cấu tạo đĩa từ, trình bày các khái niệm liên quan hệ thống tập tin, trình bày một số vấn đề khi cài đặt hệ thống quản lý tập tin trên đĩa, trình bày mô hình tổ chức hệ thống tập tin của một số hệ điều hành thông dụng.
HỆ ĐIỀU HÀNH (OPERATING SYSTEM CONCEPTS) Wiley - Operating System Concepts(Silberschatz).9th Giới thiệu môn học Mục tiêu môn học Vai trò HĐH Nguyên lý hoạt động HĐH đa nhiệm Nội dung Phần 1: Tổng quan (Overview) Phần 2: Quản lý tiến trình (Process Management) Phần 3: Quản lý nhớ (Memory Management) Phần 4: Quản lý I/O (I/O Management) Phần 5: Quản lý hệ thống file (Storage Management) 1.2 CHƯƠNG 5: FILE MANAGEMENT 1.3 Mục tiêu Trình bày cấu tạo đĩa từ Trình bày khái niệm liên quan hệ thống tập tin Trình bày số vấn đề cài đặt hệ thống quản lý tập tin đĩa Trình bày mơ hình tổ chức hệ thống tập tin số hệ điều hành thông dụng 1.4 Phân cấp hệ thống lưu trữ Tốc độ truy xuất Volatile Non-volatile Dung lượng 1.5 Đĩa từ Đĩa từ - đĩa phẳng thủy tinh hay kim loại cứng phủ từ để lưu liệu 1.6 Cấu trúc vật lý Gồm nhiều lớp hình tròn, lớp phủ từ mặt (side) Mỗi mặt có tương ứng đầu đọc (head) để đọc ghi liệu Mỗi mặt có nhiều đường tròn đồng tâm (track) Mỗi đường tròn chia nhỏ thành cung tròn (sector), thơng thường cung chứa 4096 điểm từ (~ 4096 bit = 512 byte) Mỗi lần đọc/ghi sector (512 byte) 1.7 Truy xuất mức vật lý Để truy xuất sector cần phải vị trí sector Vị trí sector thể thông số: số sector, track head Head đánh số từ xuống Track đánh số theo thứ tự từ vào Sector đánh số theo chiều ngược với chiều quay đĩa Địa sector vật lý có ký hiệu: (sector, track, head) Hàm truy xuất mức vật lý C for DOS: int biosdisk (int cmd, int drive, int head, int track, int sector, int nsects, void *buffer) Hàm truy xuất mức vật lý C for Windows ??? 1.8 Cơ chế đọc đĩa Access time = Seek time + Rotational time + Read time 1.9 Tổ chức logic Do truy xuất mức vật lý phải dùng đến tham số bất tiện nên tổ chức logic đưa để dễ hiểu, dễ thao tác, dễ tính tốn Cylinder: tập track có bán kính (cùng số hiệu) tất mặt Nhận xét: truy xuất sector theo cylinder đảm bảo sau truy xuất sector K truy xuất sector K+1 nhanh so với tất sector khác Tổ chức logic dãy sector đánh số theo theo cylinder, … … N-1 Mỗi lần truy xuất (đọc/ ghi đĩa) thực N sector liên tiếp (N>=1) Hàm truy xuất mức logic C for DOS: int absread (int drive, int nsects, long lsect, void *buffer) int abswrite (int drive, int nsects, long lsect, void *buffer); Hàm truy xuất mức logic C for Windows ??? 10 1.10 Cấp phát theo kiểu mục (tt) Gồm nhiều block làm bảng mục chứa địa block liệu Hỗ trợ truy xuất & truy xuất trực tiếp Tốn không gian đĩa để lưu block mục Khơng bị External fragmentation Một số mơ hình mở rộng Mơ hình mục nhiều cấp Mơ hình mục kết hợp danh sách liên kết Mô hình mục nhiều cấp kết hợp danh sách liên kết 31 1.31 Mơ hình mục nhiều cấp 32 1.32 Mơ hình mục kết hợp danh sách liên kết 33 1.33 Mơ hình mục nhiều cấp kết hợp danh sách liên kết index index index index 34 1.34 Tổ chức thư mục Thường tổ chức thành bảng phần tử (directory entry), gọi bảng thư mục cách tổ chức directory entry: Entry chứa tên thuộc tính Entry chứa tên trỏ trỏ tới cấu trúc chứa thuộc tính 35 1.35 Vấn đề tên dài (long file name - LFN) 36 1.36 Quản lý không gian đĩa trống Bit vector (Bit map) Mỗi block biểu diễn bit n-1 … bit[i] = block[i] trống block[i] dùng Bit vector tốn không gian đĩa Ví dụ: kích thước block = 212 bytes kích thước đĩa = 230 bytes (1 gigabyte) n = 230/212 = 218 bits (or 32K bytes) HĐH Macintosh 37 1.37 Quản lý không gian đĩa trống (tt) Danh sách liên kết Chi phí duyệt danh sách cao Không tốn không gian đĩa Grouping Chứa danh sách block trống Dễ tìm lượng lớn block trống Counting Chứa địa block trống số lượng block trống liên tục 38 1.38 Hệ thống tập tin FAT (12, 16, 32) File Allocation Table Boot sector File allocation table File allocation Root directory Other directories and all files table (duplicate) 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 Tên File File File 3 EOF EOF EOF 0000 … T.Tính … … … Start Cluster FAT12: 32MB FAT16: 4GB FAT32: 8TB File1 File1 File1 File2 File2 File3 10 File2 empty empty 39 1.39 NTFS (New Technology File System) 16 exabytes (16 billion GB) Standard information Security Filename descriptor 1.40 Data 40 Hệ thống tập tin Unix /Linux Cấu trúc I-node boot block super block I-node files and directories Gián tiếp cấp 1: cấp trỏ tới 256 địa Tổng 256KB Gián tiếp cấp 2: 256*256 = 65 MB Gián tiếp cấp 3: 256*256*256 = 16GB 41 1.41 Hệ thống tập tin UNIX V7 42 1.42 Tổ chức hệ thống tập tin đĩa từ Master Boot Record (MBR): thường nằm sector logic 0, kích thước 512 bytes Phân vùng (Partition): Primary Extended Tối đa phân vùng Boot block + Super block (Boot sector) Chứa thông số quan trọng phân vùng Chứa đoạn chương trình nhỏ để nạp HĐH khởi động máy 43 1.43 Master Boot Record Đoạn chương trình để giúp khởi động hệ thống Bảng mô tả thông tin phân vùng logic TYPE-ID = 0x07 : Windows TYPE-ID = 0x83 : Linux TYPE-ID = 0x00 : Không sử dụng Thông tin nhận diện MBR 44 1.44 Quá trình khởi động hệ thống từ đĩa từ POST (Power-On Self-Test) Tải MBR để đọc thông tin bảng phân vùng Tìm phân vùng “active” Nếu khơng tìm thấy phân vùng “active”, MBR tải boot loader chuyển điều khiển cho Boot loader cho phép chọn HĐH phân vùng Chuyển quyền điều khiển cho đoạn mã chương trình nằm Boot Sector phân vùng chọn Tải HĐH phân vùng chọn Bật máy CT ROM BIOS FDD CMOS CT Boot Sector HDD CT Master Boot 1.45 45 CT lại HĐH ... đặt hệ thống quản lý tập tin đĩa Trình bày mơ hình tổ chức hệ thống tập tin số hệ điều hành thông dụng 1.4 Phân cấp hệ thống lưu trữ Tốc độ truy xuất Volatile Non-volatile Dung lượng 1 .5 Đĩa... (I/O Management) Phần 5: Quản lý hệ thống file (Storage Management) 1.2 CHƯƠNG 5: FILE MANAGEMENT 1.3 Mục tiêu Trình bày cấu tạo đĩa từ Trình bày khái niệm liên quan hệ thống tập tin Trình... tập tin Duyệt hệ thống tập tin 21 1.21 Một số vấn đề tổ chức hệ thống tập tin Tổ chức tập tin Tổ chức thư mục Quản lý đĩa trống Tổ chức hệ thống tập tin đĩa từ Tổ chức hệ thống tập tin