Hệ điều hành - Chương 5: File management
Bạn đang xem 20 trang mẫu của tài liệu "Hệ điều hành - Chương 5: File management", để 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:
 he_dieu_hanh_chuong_5_file_management.pdf he_dieu_hanh_chuong_5_file_management.pdf
Nội dung text: Hệ điều hành - Chương 5: File management
- 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ị của HĐH  Nguyên lý hoạt động của 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ý bộ 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 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 4 1.4
- Phân cấp hệ thống lưu trữ Tốc độ Volatile truy xuất Non-volatile Dung lượng 5 1.5
- Đĩa từ  Đĩa từ - là những đĩa phẳng bằng thủy tinh hay bằng kim loại cứng được phủ từ để lưu dữ liệu 6 1.6
- Cấu trúc vật lý  Gồm nhiều lớp hình trịn, mỗi lớp phủ từ 1 hoặc cả 2 mặt (side)  Mỗi mặt cĩ tương ứng 1 đầu đọc (head) để đọc hoặc ghi dữ liệu  Mỗi mặt cĩ nhiều đường trịn đồng tâm (track)  Mỗi đường trịn được chia nhỏ thành các cung trịn (sector), thơng thường mỗi cung chứa 4096 điểm từ (~ 4096 bit = 512 byte)  Mỗi lần đọc/ghi ít nhất 1 sector (512 byte) 7 1.7
- Truy xuất mức vật lý  Để truy xuất 1 sector cần phải chỉ ra vị trí của sector đĩ. Vị trí sector được thể hiện bằng 3 thơng số: chỉ số sector, track và head  Head được đánh số từ trên xuống bắt đầu từ 0  Track được đánh số theo thứ tự từ ngồi vào bắt đầu từ 0  Sector được đánh số bắt đầu từ 1 theo chiều ngược với chiều quay của đĩa  Địa chỉ sector vật lý cĩ ký hiệu: (sector, track, head)  Hàm truy xuất mức vật lý trong 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ý trong C for Windows ??? 8 1.8
- Cơ chế đọc đĩa  Access time = Seek time + Rotational time + Read time 9 1.9
- Tổ chức logic  Do truy xuất mức vật lý phải dùng đến 3 tham số rất bất tiện nên tổ chức logic được đưa ra để dễ hiểu, dễ thao tác, dễ tính tốn hơn  Cylinder: là tập các track cĩ cùng bán kính (cùng số hiệu) trên tất cả các mặt Nhận xét: truy xuất sector theo từng cylinder sẽ đảm bảo sau khi truy xuất sector K thì truy xuất sector K+1 là nhanh hơn so với tất cả các sector khác  Tổ chức logic là một dãy sector được đánh chỉ số theo theo từng cylinder, bắt đầu từ 0 0 1 2 3 4 N-1  Mỗi lần truy xuất (đọc/ ghi đĩa) chỉ cĩ thể thực hiện trên N sector liên tiếp (N>=1)  Hàm truy xuất mức logic trong 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 trong C for Windows ??? 10 1.10
- Sector vật lý  Sector logic  Sector vật lý  Sector logic l = t*st*hd + h*st + s -1  Sector logic  Sector vật lý s = (l mod st) + 1 t = l div (st * hd) h = (l div st) mod hd Trong đĩ: l : chỉ số sector logic st : số sector /track h : chỉ số head th : số track /side (head) t : chỉ số track hd : tổng số side (head) s : chỉ số sector vật lý 11 1.11
- Đĩa mềm 1.44 MB  Cĩ 2 head /disk, 80 track /head, 18 sector /track  Dung lượng đĩa: 2 head/disk * 80 track/head * 18 sector/track = 2880 sector/disk = 0.5 KB/sector * 2880 sector/disk = 1440 KB/disk (~ 1.44 MB)  Sector logic cĩ chỉ số từ 0 đến 2879 và tương ứng với sector vật lý như sau: Sector Logic Sector vật lý (Sector, Track, Head) 0 (1, 0, 0) 1 (2, 0, 0) 17 (18, 0, 0) 18 (1, 0, 1) 19 (2, 0,1) 35 (18, 0, 1) 36 (1, 1, 0) 37 (2, 1,0 ) 12 1.12
- Bài tập 1. Một đĩa cứng cĩ 16 head, mỗi mặt cĩ 684 track, và mỗi track cĩ 18 sector thì sẽ cĩ kích thước là bao nhiêu Megabyte ? 2. Cho biết sector vật lý (head 0, track 19, sector 6) tương ứng với sector logic nào trên đĩa mềm 1.44MB a. 347 b. 348 c. 689 d. 690 13 1.13
- Một số khái niệm  Tập tin  Thư mục 14 1.14
- Bộ nhớ ngồi & Tập tin  Một số hạn chế của bộ nhớ trong  Khơng lưu trữ dữ liệu lâu dài  Khơng chứa lượng thơng tin lớn. Cần các thiết bị lưu trữ ngồi(bộ nhớ ngồi) để lưu trữ dữ liệu  Tuy nhiên, cĩ nhiều loại thiết bị lưu trữ ngồi (đĩa từ, CD/DVD, USB, thẻ nhớ, ); đa dạng về cấu trúc, khả năng lưu trữ, phương thức truy xuất, tốc độ truy xuất  HĐH cung cấp cái nhìn logic và đồng nhất về việc lưu trữ thơng tin  Trừu tượng hĩa thơng tin vật lý thành đơn vị lưu trữ logic – tập tin 15 1.15
- Tập tin  Tập tin là gì ?  Lưu trữ tập hợp các thơng tin cĩ liên quan với nhau  Là một đơn vị lưu trữ luận lý che tổ chức vật lý của các thiết bị lưu trữ ngồi  Thường bao gồm 2 thành phần:  Thuộc tính  Nội dung  Mỗi hệ thống tập tin cĩ cách thức tổ chức tập tin khác nhau 16 1.16
- Thuộc tính tập tin  Thuộc tính của tập tin trên các hệ thống tập tin khác nhau sẽ khác nhau, nhưng thường gồm các thuộc tính sau:  Tên (tên + phần mở rộng)  Người sở hữu  Thuộc tính trạng thái: chỉ đọc, ẩn,  Kích thước  Ngày giờ (tạo, truy cập, thay đổi)  Thuộc tính bảo vệ  Vị trí lưu trữ trên đĩa 17 1.17
- Cơ chế bảo vệ tập tin  Người tạo /sở hữu tập tin cĩ quyền kiểm sốt:  Ai (người dùng /nhĩm người dùng) cĩ quyền gì trên tập tin  Đọc  Ghi  Thực thi  Thêm  Xĩa  Liệt kê  Một số quyền đặc biệt khác 18 1.18
- Thao tác trên tập tin  Một số thao tác cơ bản trên tập tin  Tạo  Xĩa  Đọc  Ghi  Định vị (seek)  Xĩa nội dung (truncate)  Mở  Đĩng  Một số thao tác khác: sao chép, di chuyển, đổi tên, 19 1.19
- Một số tính chất khác của tập tin  Cấu trúc tập tin – do HĐH hay chương trình ứng dụng quyết định  Khơng cấu trúc  Cĩ cấu trúc  Loại tập tin  Tập tin văn bản (text file): chứa các dịng văn bản, cuối dùng cĩ ký hiệu kết thúc dịng (end line)  Tập tin nhị phân (binary file): là tập tin cĩ cấu trúc.  Truy xuất tập tin  Tuần tự - Phải đọc từ đầu tập tin đến vị trí mong muốn, cĩ thể quay lui (rewind)  Ngẫu nhiên - Cĩ thể di chuyển (seek) đến đúng vị trí cần đọc 20 1.20
- Thư mục  Thư mục là một loại tập tin đặc biệt, giúp tổ chức cĩ hệ thống các tập tin trên hệ thống lưu trữ ngồi  Thuộc tính của thư mục tương tự của tập tin  Nội dung của thư mục: quản lý các tập tin,thư mục con của nĩ  Một cấp: đơn giản nhất, tất cả tập tin trên hệ thống cùng thư mục  Hai cấp: mỗi người dùng cĩ 1 thư mục riêng  Cây phân cấp: được sử dụng phổ biến hiện nay  Một số thao tác trên thư mục  Tạo  Xĩa  Mở  Đĩng  Liệt kê nội dung thư mục  Tìm kiếm 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 trên đĩa từ  Tổ chức hệ thống tập tin trong bộ nhớ  Kết buộc hệ thống tập tin 22 1.22
- Vấn đề Thiết bị lưu trữ ??? Block 23 1.23
- Tổ chức tập tin  Mỗi tập tin lưu nội dung trên một số block (khối lưu trữ) của thiết bị lưu trữ Làm sao biết được tập tin đang chiếm những block nào ?  Phương pháp cấp phát mơ tả cách thức cấp phát các block cho các tập tin  Cĩ 3 phương pháp cấp phát chính:  Cấp phát liên tục  Cấp phát theo kiểu danh sách liên kết  Cấp phát theo kiểu chỉ mục 24 1.24
- Cấp phát liên tục 25 1.25
- Cấp phát liên tục (tt)  Mỗi tập tin chiếm các block liên tục trên đĩa  Đơn giản, chỉ cần quản lý vị trí (chỉ số) block bắt đầu và chiều dài (số block)  Hỗ trợ truy xuất tuần tự & truy xuất trực tiếp  Vấn đề External fragmentation  Vấn đề khi kích thước tập tin tăng 26 1.26
- Cấp phát liên tục (tt)  Hệ thống tập tin cấp phát theo extent:  Extent là một tập các block liên tục  Cấp phát cho tập tin theo từng extent  Một tập tin cĩ thể chiếm một hoặc nhiều extent khơng liên tục nhau  Kích thước các extent cĩ thể khác nhau  Cần quản lý 3 thơng tin: vị trí block bắt đầu, số block và một con trỏ trỏ tới block đầu tiên của extent kế tiếp  Vấn đề Internal fragmentation và External fragmentation 27 1.27
- Cấp phát theo kiểu danh sách liên kết 28 1.28
- Cấp phát theo kiểu danh sách liên kết (tt)  Mỗi tập tin chiếm một tập các block theo kiểu danh sách liên kết.  Mỗi block sẽ chứa thơng tin về địa chỉ của block kế tiếp  Các block cĩ thể nằm rãi rác trên đĩa  Chỉ hỗ trợ truy xuất tuần tự  Đơn giản, chỉ cần quản lý vị trí (chỉ số) block bắt đầu  Khơng bị External fragmentation  Tốn chi phí lưu địa chỉ block kế tiếp 29 1.29
- Cấp phát theo kiểu chỉ mục 30 1.30
- Cấp phát theo kiểu chỉ mục (tt)  Gồm một hoặc nhiều block làm bảng chỉ mục chứa địa chỉ của các block dữ liệu  Hỗ trợ truy xuất tuần tự & truy xuất trực tiếp  Tốn khơng gian đĩa để lưu các block chỉ mục  Khơng bị External fragmentation  Một số mơ hình mở rộng  Mơ hình chỉ mục nhiều cấp  Mơ hình chỉ mục kết hợp danh sách liên kết  Mơ hình chỉ mục nhiều cấp kết hợp danh sách liên kết 31 1.31
- Mơ hình chỉ mục nhiều cấp 32 1.32
- Mơ hình chỉ mục kết hợp danh sách liên kết 33 1.33
- Mơ hình chỉ 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 được tổ chức thành một bảng các phần tử (directory entry), gọi là bảng thư mục  2 cách tổ chức directory entry:  Entry chứa tên và các thuộc tính  Entry chứa tên và một con trỏ trỏ tới 1 cấu trúc chứa các 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 được biểu diễn bằng 1 bit 0 1 2 n-1 0 block[i] trống bit[i] = 1 block[i] đã dùng  Bit vector tốn khơng gian đĩa. Ví dụ: kích thước 1 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 các block trống  Dễ tìm một lượng lớn các block trống  Counting  Chứa địa chỉ block trống đầu tiên và số lượng các block trống liên tục tiếp theo 38 1.38
- Hệ thống tập tin FAT (12, 16, 32) File Allocation Table File allocation File allocation Boot sector Root directoryOther directories and all files table 1 table 2 (duplicate) 0000 0001 Tên T.Tính Start 0002 3 File 1 2 0003 4 File 2 5 0004 EOF File 3 7 2 3 4 0005 6 0006 8 File1 File1 File1 0007 EOF 0008 EOF 5 6 7 0009 0000 Cluster File2 File2 File3  FAT12: 32MB 8 9 10  FAT16: 4GB File2 empty empty  FAT32: 8TB 39 1.39
- NTFS (New Technology File System) 16 exabytes (16 billion GB) Standard Security information Filename descriptor Data 40 1.40
- Hệ thống tập tin trên 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 này trỏ tới 256 địa chỉ. 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 trên UNIX V7 42 1.42
- Tổ chức hệ thống tập tin trên đĩa từ  Master Boot Record (MBR): thường nằm tại sector logic 0, kích thước 512 bytes  Phân vùng (Partition):  Primary  Extended Tối đa 4 phân vùng  Boot block + Super block (Boot sector)  Chứa các thơng số quan trọng của phân vùng  Chứa một đoạn chương trình nhỏ để nạp HĐH khi 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 các 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ừ 1. POST (Power-On Self-Test) 2. 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 cĩ thể tải một boot loader và chuyển điều khiển cho nĩ. Boot loader này sẽ cho phép chọn HĐH trên một phân vùng 3. Chuyển quyền điều khiển về cho đoạn mã chương trình nằm trong Boot Sector của phân vùng được chọn 4. Tải HĐH tại phân vùng được chọn CT trong CT trong các CT cịn lại Bật CMOS FDD máy ROM BIOS Boot Sector của HĐH HDD CT trong Master Boot 45 1.45





