CẤU TRÚC LOGIC VÀ TỔ CHỨC DỮ LIỆU TRÊN Ổ ĐĨA CỨNG
3.2.1. Master boot record (MBR)
Master Boot Record là cung từ vật lý đầu tiên của ổ cứng và lưu mã để nạp (load), khởi động của ổ đĩa trong quá trình boot. Master Boot Record là Sector đầu tiên của ổ đĩa cứng, nó chứa các thông tin về các Partition như số thứ tự , tên ổ đĩa cứng, trạng thái, kích thước của Partition gọi là các điểm vào. Mỗi Master Boot Record có thể quản lý 4 điểm vào, mỗi điểm vào có kích thước 16 bytes, như vậy cần 64bytes để lưu giữ các điểm vào này gọi là bảng Partition. Không gian còn lại của Sector này được lưu trữ chương trình Bootrap của đĩa khởi động.
Như trên, ta thấy mỗi Master Boot Record chỉ có 4 điểm vào, như vậy mỗi đĩa cứng chỉ phân tối đa thành 4 phần. Để khắc phục điều này, người ta lấy Sector đầu tiên của Partition thứ 4 để quản lý các phần chia tiếp theo như là một Master Boot Record thực thụ gọi l à Master Boot Record phụ, cứ như thế mà ta có thể chia đĩa cứng thành nhiều phần khác nhau. Master Boot Record được tạo ra bởi chương trình Fdisk của DOS, do đó, ta có thể khôi phục lại nó bằng lệnh này khi bị hỏng với tham số mbr, tức là lệnh Fdisk/mbr.
Trong chế độ lưu trữ cơ bản, một đĩa vật lý được chia thành các phân vùng và mỗi phân vùng hoạt động như một đơn vị lưu trữ vật lý riêng biệt. Thông tin về vị trí và kích thước của mỗi phân vùng được lưu lại trong bảng phân vùng Master Boot Record trên đĩa. Đối với các hệ điều hành Dos và Windows chỉ cho phép khởi động ở Partition đầu tiên. Ngoài ra, còn có một số hệ điều hành cho phép khởi động từ các Partition khác. Để phân đĩa cứng thành các Partition, ta có thể dùng lệnh Fdisk của DOS, theo dõi các trình đơn của tiện ích này để chia đĩa cứng và tạo Partition khởi động.
MBR bao gồm 2 thành phần:
Đàm Phương KHMT1K2 HaUI 2011
MBR nằm tại sector 1, track 1, side 0. MBR chiếm từ địa chỉ Offset 0 đến 1BDh, trên thực tế MBR chỉ chiếm từ Offset 0 tới 0DFh.
Chức năng của MBR:
+ Kiểm tra bảng Partition để xác định xem Partition nào là chủ động (active partition).
+ Nạp Boot Record của Partition chủ động vào bộ nhớ rồi chuyển điều khiển cho Boot record của đĩa chủ để tiếp tục thực hiện quá trình khởi động.
Hình 42: Cấu trúc của Table Partition
Boot Record là chương trình nhỏ (viết bằng ngôn ngữ máy) mà chương trình này sẽ khởi đầu quá trình nạp DOS vào bộ nhớ. Đầu tiên nó sẽ kiểm tra xem đĩa có chứa các tập tin hệ thống không. Sau đó tiến hành các xử lý thích ứng. Boot Record được tạo ra trong quá trình định dạng cấp cao (High level format) bằng lệnh FORMAT của DOS. Boot Record nằm trên tại mọi ổ đĩa logic. Tuy rằng mọi ổ đĩa logic đều có Boot Record nhưng chỉ có chương trình khỏi động nằm tại Boot Record của Master Boot Record mới được thực hiện. Boot Record cũng tương tự như Master Boot Record cũng bao gồm 2 thành phần:
+ Khối thông số về đĩa: lưu trữ thông tin về nhãn đĩa, kích thước ổ đĩa, số sector đang được sử dụng, kích thước của một Cluster.
+ Mã khởi động: đó là chương trình bắt đầu quá trình nạp hệ điều hành. Đối với hệ điều MSDOS đó là quá trình nạp tệp IO.SYS.
Hình 43: Cấu trúc của Boot Record
Sector (cung từ): Mỗi track là một vòng tròn dữ liệu có tâm là tâm của
trục quay đĩa từ. Một track chia thành rất nhiều cung, người ta gọi các cung này là sector (cung từ). Sector là vùng vật lý chứa dữ liệu nhỏ nhất trong ổ cứng kể cả khi đọc và ghi. Thông thường thì 1 sector chứa được 512 byte dữ liệu (US Windows). Số sector trên các track là khác nhau từ phần rìa đĩa vào đến vùng tâm đĩa, các ổ đĩa cứng đều chia ra hơn 10 vùng mà trong mỗi vùng có số sector/track bằng nhau. Mỗi track đều chia thành một lượng sector nhất định. Tuy nhiên, vì các track bên ngoài bao giờ cũng lớn hơn các track phía trong (gần trục) cho nên càng vào sâu các track phía trong thì dung lượng mà 1 sector có thể chứa được càng thấp.
Cấu trúc của sector :
- Sector header (thông tin cơ bản) : lưu trữ các thông tin về vị trí đầu đọc , cylinder, và số thứ tự vật lý của sector. Nó cũng đảm nhận luôn nhiệm vụ xác định sector có sử dụng được hay không hoặc sector nào sẽ lưu dữ liệu thay cho
Đàm Phương KHMT1K2 HaUI 2011
- Dữ liệu: Thông thường khi ta format đĩa cứng duới nền Windows hoặc DOS thì một sector có thể chứa được 512 byte dữ liệu. Phần cuối cùng của vùng dữ liệu này chứa thông tin về mã sửa lỗi (ECCs), dùng cho việc phát hiện và sửa lỗi.
- Góc rỗng mở rộng (Inter-GAP): Có gì khác nhau giữa “Góc rỗng” và “Góc rỗng mở rộng” (GAP và Inter-GAP) ? Góc rỗng cung cấp cho đầu từ một khoảng thời gian nhất định đễ đầu từ chuyển đổi từ việc “đọc dữ liệu ” sang “ghi dữ liệu” trên cùng 1 sector. Còn Góc rỗng mở rộng thì cung cấp cho đầu đọc 1 khoản thời gian nhất định để đầu đọc có thể chuyển từ việc “ghi trên 1 sector này” sang “đọc sang sector kết tiếp”. Tương tự như Gócrỗng, khi đọc dữ liệu đầu đọc bỏ qua Góc rỗng mở rộng.
- Số sector trên một track: khi sản xuất ra đĩa cứng nhà sản xuất luôn ghi rõ ràng những thông số liên quan đến ổ cứng trong đó có phần số sector trên một track (sector per track). Những ổ cứng hiện đại ngày nay sử dụng rất nhiều kích cỡ khác nhau trên từng track. Ổ cứng ghi và đọc theo nguyên tắc từ ngoài vào trong trên mặt đĩa từ. Các track nằm ngoài cùng thì bao giờ cũng có nhiều không gian cho sector hơn là các track nằm sâu ở bên trong (gần tâm đĩa từ). Do đó những phần dữ liệu nằm trên sector và track đầu tiên của ổ cứng bao giờ cũng được truy xuất nhanh nhất.