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
nguon tai.lieu . vn