Bài giảng môn Hệ điều hành: Chương 8 - TS. Nguyễn Văn Hiệp

pdf
Số trang Bài giảng môn Hệ điều hành: Chương 8 - TS. Nguyễn Văn Hiệp 13 Cỡ tệp Bài giảng môn Hệ điều hành: Chương 8 - TS. Nguyễn Văn Hiệp 189 KB Lượt tải Bài giảng môn Hệ điều hành: Chương 8 - TS. Nguyễn Văn Hiệp 0 Lượt đọc Bài giảng môn Hệ điều hành: Chương 8 - TS. Nguyễn Văn Hiệp 49
Đánh giá Bài giảng môn Hệ điều hành: Chương 8 - TS. Nguyễn Văn Hiệp
4.7 ( 19 lượt)
Nhấn vào bên dưới để tải tài liệu
Đang xem trước 10 trên tổng 13 trang, để tải xuống xem đầy đủ hãy nhấn vào bên trên
Chủ đề liên quan

Nội dung

MÔN HỆ ĐIỀU HÀNH Chương 8 HỆ THỐNG FILE TRÊN PC 8.1 Cách tổ chức ₫ĩa cứng trên PC 8.2 Qui trình boot máy PC 8.3 Định dạng FAT 8.4 Định dạng NTFS Tài liệu tham khảo : chương 6, sách "Modern Operating Systems", Andrew S. Tanenbaum: , 2nd ed, Prentice Hall Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Môn : Hệ ₫iều hành Chương 7 : Quản lý hệ thống file Slide 1 8.1 Cách tổ chức ₫ĩa cứng trên PC Cấu trúc 1 ₫ĩa cứng PC MBR BR Partition 1 BR Mỗi khi boot máy, ROM BIOS sẽ ₫ọc MBR vào RAM và chạy nó. Partition 2 Trình bootstrap bằng mã máy, có nhiệm vụ tìm partition active và nạp BR của partition này vào máy và giao ₫iều khiển cho nó 446 byte BR Partition 3 BR Partition 4 Mỗi ₫ĩa cứng có thể chia tối ₫a 4 partition ₫ộc lập, thông tin về 1 partition ₫ược lưu trong 1 record 16 byte. Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 16 byte 16 byte 16 byte 16 byte Môn : Hệ ₫iều hành Chương 7 : Quản lý hệ thống file Slide 2 1 8.1 Cách tổ chức ₫ĩa cứng trên PC Cấu trúc record ₫ặc tả partition của bảng quản lý các partition : Byte Offset Length Sample Value Field Name and Definition 0x0 BYTE 0x80 80. Active partition, 00 : No Active. 0x1 BYTE 0x01 Starting Head. 0x2 6 bits 0x01 * Starting Sector. Only bits 0-5 are used. 0x3 10 bits 0x00 * Starting Cylinder. 0x4 BYTE 0x07 System ID. Defines the volume type. values. 0x5 BYTE 0xFE Ending Head. 0x6 6 bits 0xBF * Ending Sector. Only bits 0-5 are used. 0x7 10 bits 0x09 * Ending Cylinder. 0x8 DWORD 0x3F000000 Relative Sectors. 0xC DWORD 0x4BF57F00 Total Sectors. Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Môn : Hệ ₫iều hành Chương 7 : Quản lý hệ thống file Slide 3 8.2 Qui trình boot máy PC ‰ ‰ ‰ ‰ Mỗi khi máy PC ₫ược khởi ₫ộng, chương trình mã máy Intel ₫ược ₫ặt trong ROM BIOS sẽ chạy ở chế ₫ộ real mode. Trước tiên, ROM BIOS sẽ kiểm tra các tài nguyên cơ bản của máy xem chúng có bị hư hỏng không (CPU, bộ nhớ RAM, màn hình, speaker,...). Nếu 1 trong chúng bị lỗi, ROM BIOS sẽ thông báo lỗi bằng âm thanh hay văn bản trên màn hình rồi dừng máy. Kế tiếp, ROM BIOS sẽ xác ₫ịnh thiết bị boot, nếu là ₫ĩa cứng, nó sẽ ₫ọc MBR của ₫ĩa vào bộ nhớ và giao ₫iều khiển cho MBR. Chương trình mã máy Intel trên MBR ₫ược gọi là "bootstrap" sẽ duyệt bảng thông tin về các partition ₫ĩa ₫ể tìm partition ở trạng thái active và bootable (byte ₫ầu trong record thông tin partition này có giá trị 80H), rồi ₫ọc sector BR của partition này vào máy rồi giao ₫iều khiển cho nó. Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Môn : Hệ ₫iều hành Chương 7 : Quản lý hệ thống file Slide 4 2 8.2 Qui trình boot máy PC ‰ ‰ Tùy theo partition boot có ₫ịnh dạng nào mà trình boot của partition sẽ tiến hành nạp HĐH vào máy ra sao. Phần còn lại của chương này, chúng ta sẽ giới thiệu chi tiết hơn về 2 ₫ịnh dạng partition ₫ược dùng phổ biến nhất trên PC là FAT và NTFS. Môn : Hệ ₫iều hành Chương 7 : Quản lý hệ thống file Slide 5 Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 8.3 Định dạng FAT Cấu trúc BR sector (boot record, sector ₫ầu tiên) của partition FAT32 : Byte Offset Field Length Field Name 0x00 3 bytes Jump Instruction 0x03 LONGLONG OEM ID 0x0B 53 bytes BPB (BIOS Parameter Block) 0x40 26 bytes Extended BPB 0x5A 420 bytes Bootstrap Code 0x01FE WORD End of Sector Marker Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Môn : Hệ ₫iều hành Chương 7 : Quản lý hệ thống file Slide 6 3 8.3 Định dạng FAT Cấu trúc BPB của FAT32 : Byte Offset Length Sample Value 0x0B 0x0D 0x0E 0x10 0x11 0x13 0x15 0x16 0x18 0x1A 0x1C 0x20 0x24 WORD 0x0002 BYTE 0x08 WORD 0x0200 BYTE 0x02 WORD 0x0000 WORD 0x0000 BYTE 0xF8 WORD 0x0000 WORD 0x3F00 WORD 0xFF00 DWORD 0xEE39D700 DWORD 0x7F324E00 DWORD 0x83130000 Field Name and Definition Bytes Per Sector. (512byte) Sectors Per Cluster. Reserved Sectors. Number of FATs. this field must be set to zero. this field must be set to zero. Media Descriptor. (0xF8 -> hard disk) this field must be set to zero. Sectors Per Track. Number of Heads. Hidden Sectors (before the boot sector) Large Sectors (total number of sectors) Sectors Per FAT (FAT32 only). Môn : Hệ ₫iều hành Chương 7 : Quản lý hệ thống file Slide 7 Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 8.3 Định dạng FAT Cấu trúc BPB của FAT32 (tt) : Byte Offset Length Sample Value Field Name and Definition 0x28 WORD 0x0000 Extended Flags 0x2A WORD 0x0000 File System Version (FAT32 only). 0x2C DWORD 0x02000000 0x30 WORD 0x0100 File System Information Sector Number 0x34 WORD 0x0600 Backup Boot Sector 0x36 12 bytes 0x0000... Reserved Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Root Cluster Number Môn : Hệ ₫iều hành Chương 7 : Quản lý hệ thống file Slide 8 4 8.3 Định dạng FAT Cấu trúc Extended BPB của FAT32 : Byte Offset Length Sample Value Field Name and Definition 0x40 BYTE 0x80 hard disks -> 0x80 0x41 BYTE 0x00 Reserved 0x42 BYTE 0x29 Extended Boot Signature 0x43 DWORD 0xA88B3652 Volume Serial Number 0x47 11 bytes NO NAME Volume Label 0x52 LONGLONG FAT32 System ID, chuỗi “FAT32”. Môn : Hệ ₫iều hành Chương 7 : Quản lý hệ thống file Slide 9 Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 8.3 Định dạng FAT Cấu trúc thông tin của partition FAT32 : Truy xuất các cluster dữ liệu của từng file dựa vào entry thư mục và bảng FAT Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Môn : Hệ ₫iều hành Chương 7 : Quản lý hệ thống file Slide 10 5 8.3 Định dạng FAT Cấu trúc entry thư mục (entry chính) của partition FAT32 : Cấu trúc entry thư mục (entry nới rộng) của partition FAT32 : Môn : Hệ ₫iều hành Chương 7 : Quản lý hệ thống file Slide 11 Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 8.3 Định dạng FAT Thí dụ về các entry thư mục FAT32 ₫ược dùng ₫ể quản lý file có tên là “The quick brown fox jumps over the lazydog” Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Môn : Hệ ₫iều hành Chương 7 : Quản lý hệ thống file Slide 12 6 8.4 Định dạng NTFS Cấu trúc BR sector (boot record, sector ₫ầu tiên) của partition NTFS : Byte Offset Field Length Field Name 0x00 3 bytes Jump Instruction 0x03 LONGLONG OEM ID ("NTFS ") 0x0B 25 bytes BPB (BIOS Parameter Block) 0x24 48 bytes Extended BPB 0x54 420 bytes Bootstrap Code 0x01FE WORD End of Sector Marker Môn : Hệ ₫iều hành Chương 7 : Quản lý hệ thống file Slide 13 Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 8.3 Định dạng NTFS Cấu trúc BPB của NTFS : Byte Offset Length Sample Value 0x0B 0x0D 0x0E 0x10 0x13 0x15 0x16 0x18 0x1A 0x1C 0x20 0x24 WORD 0x0002 BYTE 0x08 WORD 0x0000 3 BYTE 0x000000 WORD 0x0000 BYTE 0xF8 WORD 0x0000 WORD 0x3F00 WORD 0xFF00 DWORD 0x3F000000 DWORD 0x00000000 DWORD 0x80008000 Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Field Name and Definition Bytes Per Sector (512byte) Sectors Per Cluster Reserved Sectors this field must be set to zero this field must be set to zero Media Descriptor (0xF8 -> hard disk) this field must be set to zero Not used or checked by NTFS Not used or checked by NTFS Not used or checked by NTFS this field must be set to zero Not used or checked by NTFS Môn : Hệ ₫iều hành Chương 7 : Quản lý hệ thống file Slide 14 7 8.3 Định dạng NTFS Cấu trúc BPB của NTFS (tt) : Byte Offset Length Sample Value Field Name and Definition 0x28 8byte 0x1C91110100000000 Total Sectors 0x30 8byte 0x0000004000000000 Logical Cluster Number for the File $MFT 0x38 8byte 0x1119110000000000 Logical Cluster Number for the File $MFTMirr 0x40 1byte 0xF6 Clusters Per MFT Record 0x41 3byte 0x000000 Not used or checked by NTFS 0x44 1byte 0x01 Clusters Per Index Buffer 0x45 3byte 0x000000 Not used or checked by NTFS 0x48 8byte 0x3AB27B82CD7B8214 Volume Serial Number 0x50 4byte 0x00000000 Not used or checked by NTFS Môn : Hệ ₫iều hành Chương 7 : Quản lý hệ thống file Slide 15 Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 8.3 Định dạng NTFS ‰ ‰ ‰ ‰ ‰ Ở cấp vật lý, partition NTFS là dãy các sector, ₫ánh số từ 0 tới N, sector ₫ầu là BR mà nội dung cụ thể của nó ₫ã ₫ược trình bày. Ở cấp luận lý 1, partition NTFS là dãy các cluster luận lý, ₫ánh số từ 0 tới M, trong ₫ó cluster 0 chứa sector 0 làm BR. Ở cấp luận lý 2, partition NTFS ₫ược tổ chức theo mô hình hướng ₫ối tượng. Mọi thứ ₫ều là ₫ối tượng, cụ thể ₫ối tượng có thể là file, thư mục... trong ₫ó ₫ối tượng gốc của partition NTFS là MFT chứa thông tin về tất cả các ₫ối tượng khác, kể cả MFT. MFT có vai trò rất quan trọng trong partition NTFS (giống như bảng FAT trong partition FATi) nên ₫ược nhân bản thành 2 bản : bản MFT chính và bản MFT phụ (mirror). Cluster ₫ầu của MFT chính và MFT mirror ₫ược miêu tả trong BPB trên sector BR của partition NTFS. Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Môn : Hệ ₫iều hành Chương 7 : Quản lý hệ thống file Slide 16 8 8.3 Định dạng NTFS ‰ ‰ ‰ MFT cũng là 1 file, nó ₫ược tổ chức như 1 bảng dữ liệu của database quan hệ : gồm nhiều record, mỗi record ₫ược dùng ₫ể chứa thông tin về 1 ₫ối tượng bất kỳ, kể cả MFT. Nó dài 1024byte. Để quản lý 1 ₫ối tượng (file, folder, metafile), ta dùng từ 1 tới n record MFT, record ₫ầu ₫ược gọi là record cơ sở (base record). 16 record ₫ầu tiên trong MFT quản lý 16 ₫ối tượng metafile xác ₫ịnh như sau : ƒ 0 : $Mft : bản thân ₫ối tượng MFT ƒ 1 : $MftMirr : ₫ối tượng mirror của MFT ƒ 2 : $LogFile : Log file ƒ 3 : $Volume : volume của partition ƒ 4 : $AttrDef : các thông tin về thuộc tính của các ₫ối tượng Môn : Hệ ₫iều hành Chương 7 : Quản lý hệ thống file Slide 17 Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 8.3 Định dạng NTFS ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ 5 : . : thư mục gốc 6 : $Bitmap : quản lý các tình trạng các clusters : ₫ã dùng hay chưa dùng 7 : $Boot : Boot sector 8 : $BadClus : Bad cluster file 9 : $Secure : Security file 10 : $Upcase : Upcase table 11 : $Extend : NTFS extension file 12 —15 : dành cho việc dùng tương lai 16 - N : dành cho các ₫ối tượng khác như file, thư mục. Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Môn : Hệ ₫iều hành Chương 7 : Quản lý hệ thống file Slide 18 9 8.3 Định dạng NTFS Mỗi record MFT có cấu trúc như sau : Môn : Hệ ₫iều hành Chương 7 : Quản lý hệ thống file Slide 19 Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 8.3 Định dạng NTFS Nội dung trong MFT Entry Header : 0x0 0—3 Signature “FILE” hay “BAAD” 0x4 4—5 Offset to fixup array 0x6 6—7 Number of entries in fixup array 0x8 8 — 15 $LogFile LSN 0x10 16 — 17 Sequence value 0x12 18 — 19 Link Count 0x14 20 — 21 Offset to first attribute 0x16 22 — 23 Flags (in-use and directory) Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 No Yes Yes No No No Yes Yes Môn : Hệ ₫iều hành Chương 7 : Quản lý hệ thống file Slide 20 10
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.