Xem mẫu

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