Cơ chế quản lý đĩa cứng của hệ điều hành Dos và Window s:

Một phần của tài liệu Bài giảng kiến trúc máy tính và hợp ngữ (Trang 38 - 44)

- Sơ đồ của một Platter có thể minh họa như sau:

Như vậy, để xác định vị trí đọc ghi trên đĩa cứng cần các thông số : Head ( hay Side), Cylinder, Sector. Cần lưu ý là theo quy định Head đánh số từ 0, Cylinder đánh số từ 0 và Sector đánh số từ 1.

2.2 Cấu trúc Master Boot Record (MBR) và Extended Boot Record (EBR). - Vị trí của MBR và cấu trúc.

- Master Boot Code thực hiện các chức năng sau: • Quét bảng partition để tìm Partition tích cực (Active). • Tìm Sector khởi động của Partition tích cực.

• Tải Boot Sector của Partition tích cực vào bộ nhớ.

- Ví dụ của bảng Partition ở dạng Hexa chỉ gồm 3 Entry: 000001B0: 80 01 .. 000001C0: 01 00 07 FE BF 09 3F 00 - 00 00 4B F5 7F 00 00 00 ...?...K... 000001D0: 81 0A 07 FE FF FF 8A F5 - 7F 00 3D 26 9C 00 00 00 ...=&.... 000001E0: C1 FF 05 FE FF FF C7 1B - 1C 01 D6 96 92 00 00 00 ... 000001F0: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 ...

Dữ liệu trong bảng Partition này được thông dịch như sau:

- Ý nghĩa của các trường trong Partition table: Offset (Byte) Chiều dài Mô tả

0x01BE 1 Boot Indicator: Chỉ ra Volume có phải là partition Active

không

0x01BF 1 Starting Head

0x01C0 6 bit Starting Sector: Chỉ dùng các bit 0 – 5. Hai bit 6, 7

được dùng cho trường Starting Cylinder. 0x01C1 10 bit Starting Cylinder: 1 byte cộng với 2 bit ở trường

đến vị trí bắt đầu của Volume, đơn vị tính là Sector. 0x01CA 4 byte Total Sectors: Tổng số Sector của Volume

• Trường Boot Indicator:

Chỉ ra Volume có phải là Active partition không. Chỉ có một Primary partition trên đĩa được đánh dấu Active.

• Trường System ID: Trường này xác định File System nào được dùng trong Volume (chẳng hạn như FAT12, FAT 16, FAT 32 hoặc NTFS). Trường này còn xác định Partition mở rộng (Extended Partition) nếu như nó được định nghĩa. Một số trị giá thường gặp là:

Partition

Type ID Value

0x01 FAT12 primary partition or logical drive (fewer than 32,680 sectors in the volume)

0x04 FAT16 partition or logical drive (32,680–65,535 sectors or 16 MB– 33 MB)

0x05 Extended partition

0x06 BIGDOS FAT16 partition or logical drive (33 MB–4 GB) 0x07 Installable File System (NTFS partition or logical drive) 0x0B FAT32 partition or logical drive

• Các trường Starting và Ending Cylinder, Head và Sector:

MBR dùng các trường này để tìm và nạp Boot Sector của Partition tích cực. Các trường CHS (Cylinder, Head, Sector) của các partition không tích cực trỏ đến các Boot Sector của các Primary partition còn lại và Extended Boot Record (EBR) của đĩa Logic đầu tiên trong Partition mở rộng.

lượng tối đacó thể được mô tả bởi bảng Partition là: 512 x 1024 x 256 x 63 = 7.8 GB.

Các hệ điều hành và các máy tính phải hỗ trợ INT 13H mở rộng của BIOS mới có thể tạo ra các Partition lớn hơn 7.8 GB đầu tiên của đĩa.

Windows 2000 và WinXP không dùng các trường Starting và Ending CHS. Tuy nhiên Windows XP phải lưu các trị giá tương ứng vào các trường Starting và Ending CHS vì các hệ điều hành Windows 95, Windows 98 và Windowns me (các hệ điều hành này đều hỗ trợ INT 13H mở rộng của BIOS) sử dụng các trường này.

• Trường Relative Sector: Xác định offset từ vị trí bắt đầu của đĩa đến vị trí bắt đầu của Volume tính theo đơn vị Sector đối với những Volume được mô tả bởi một entry trong bảng partition.

• Trường Total Sector: mô tả tổng số Sector trong Volume.

Hình bên dưới trình bày MBR, bảng partition, và Boot Sector trên một đĩa với bốn Partition. Lưu ý rằng định nghĩa của các trường hoàn toàn giống nhau trong bảng partition và các bảng Partition mở rộng .

- Giới thiệu một số phần mềm cho phép chúng ta sao chép, lưu trữ, soạn thảo…nội dung của MBR.

Một phần của tài liệu Bài giảng kiến trúc máy tính và hợp ngữ (Trang 38 - 44)