Giáo trình hướng dẫn phân tích chuyển địa chỉ trong kỹ thuật table indecator kết hợp paging p10

5 16 0
Giáo trình hướng dẫn phân tích chuyển địa chỉ trong kỹ thuật table indecator kết hợp paging p10

Đang tải... (xem toàn văn)

Thông tin tài liệu

Tham khảo tài liệu ''giáo trình hướng dẫn phân tích chuyển địa chỉ trong kỹ thuật table indecator kết hợp paging p10'', công nghệ thông tin, quản trị mạng phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

y o c u -tr a c k c partition active vào RAM chuyển quyền điều khiển cho boot sector  Bảng partition (64 byte: byte 1BE h): gồm phần tử, đánh số từ đến 4, phần tử dài 16 byte dùng để lưu thông tin partition Các thông tin phần tử bảng partition cho biết: Phân khu có phải active hay khơng; Vị trí bắt đầu phân khu (head, sector, cylinder); Vị trí kết thúc phân khu (head, sector, cylinder); Có sector nằm phần khu; Kích thước phân khu tính theo sector; Phân khu định dạng cài đặt hệ điều hành nào? Boot sector Master Boot Record Unused Partition 1 1CE 1DE 1E 1F B E E Boot EPar Par Par Par chữ ký code hệ điều hành Master Boot Record Bảng partition có Hình 4.8: Các thành phần master boot record Vì bảng partition có phần tử nên DOS cho phép tạo tối đa partition Đây hạn chế Để khắc phục điều hệ điều hành DOS cho phép tạo nhiều đĩa logic partition mở rộng, tức tạo nhiều đĩa logic ổ đĩa sở Hệ điều hành windowsNT/ 2000 cho phép tạo nhiều partition ổ đĩa số lượng phần tử bảng partition thay đổi  Chữ ký hệ điều hành (2 byte: byte 1FEh): thường chứa giá trị 55AAh Hệ điều hành DOS kiểm tra giá trị vùng để biết đĩa có phải định dạng hay không Một phần tử bảng phân khu chứa thông tin sau: Offset 00 h 01 h Nội dung Kích thước 0: partition khơng phải active 80 h: partition active số hiệu head bắt đầu phân khu byte byte d o m o w w w d o C lic k to bu y bu to k lic C w w w N O W ! h a n g e Vi e N PD ! XC er O W F- w m h a n g e Vi e w PD XC er F- c u -tr a c k c y o c u -tr a c k c 02 h 04 h sector cylinde bắt đầu (của boot sector) mã hệ thống: 0: Non Dos; 1: FAT_12; 4: FAT_16; 5: phân khu Dos mở rộng; 6: phân khu Dos lớn 32 Mb 05 h số hiệu head kết thúc phân khu 06 h sector cylinde kết thúc 08 h số hiệu sector tương đối bắt đầu 0C h tổng số sector phân khu Bảng 4.3: Các trường phần tử bảng partition byte byte byte byte byte byte Ví dụ 1: Để kiểm tra partition active ta thực sau:  Đọc sector đĩa cứng lưu vào biến masterboot  Kiểm tra offset 00 phân tử partition bảng partition Mov Mov Locate_active: Mov Cmp Je Add Loop No_active: Active: cx, SI, 1BE h AL, masterboot[SI] AL, 80h Active SI, 16 Locate_active Ví dụ 2: Để đọc nội dụng boot sector đĩa cứng C ghi vào biến BootDat ta phải thực bược sau đây:  Đọc sector đĩa cứng lưu vào biến masterboot  Tìm partition active (phần tử bảng partition có offset 00 80h)  Đọc buye offset 01h word offset 02 phần tử partition tương ứng (head, sector cylinde), để xác định số hiệu sector bắt đầu partition active, boot sector đĩa cứng  Đọc nội dung sector xác định lưu vào BootDat Active: d o m o w w w d o C lic k to bu y bu to k lic C w w w N O W ! h a n g e Vi e N PD ! XC er O W F- w m h a n g e Vi e w PD XC er F- c u -tr a c k c y o c u -tr a c k c Mov Mov ax, 0201h cx, word PTR mastorboot ; đọc sector [SI+2] ; sector & cylinder Mov Mov Mov Lea Int dh, byte PTR mastorboot[SI+1] ; head dl, 80h ; đĩa cứng es,cs ; trỏ ES:BX bx, BootDat ; đầu vùng BootDAt lưu 13h Nếu PC khởi động đĩa mềm (FDD) khởi động sau trình POST hệ thống nạp boot sector đĩa mềm vào nhớ địa 0:7C00h sau quyền điều khiển trao cho cho boot sector, để tiếp tục điều khiển trình khởi động Nếu PC khởi động đĩa cứng khởi động (HDD/C:) sau trình POST hệ thống nạp sector phân khu đĩa cứng vào nhớ địa 0:7C00h, sau boot code sector phân khu thực việc xác định partition active nạp boot sector partition active vào nhớ địa 0:7C00h, sau quyền điều khiển trao cho cho boot sector, để tiếp tục điều khiển q trình khởi động tương tự trường hợp đĩa mềm Chính sector phân khu thường gọi Master Boot Record, gọi bảng partition Quản lý file đĩa MS_DOS Trong trình định dạng đĩa mềm, đĩa logic phân khu đĩa cứng, hệ điều hành chia không gian lưu trữ đĩa thành vùng: vùng liệu (Data Area) vùng hệ thống (System Area), đồng thời ghi thông tin cần thiết vào vùng hệ thống để chuẩn bị cho việc quản lý lưu trữ sau  Vùng liệu: bao gồm bolck có kích thước đánh địa (12 bít 16 bít) để phân biệt, cluster đĩa mà nói đến Nội dung tập tin chia thành bolck có kích thước kích thước cluster Các cluster đĩa dùng để chứa nội dung tập tin đĩa Các thông tin liên quan đến tập tin đĩa chứa vùng hệ thống  Vùng hệ thống: bao gồm đoạn chương trình, thơng tin hệ thống, thông tin liên quan đến tập tin/thư mục đĩa mà hệ điều hành dùng để quản lý việc lưu trữ tập tin/thư mục đĩa sau Cụ thể bao gồm thành phần sau đây: Boot sector, FAT1, FAT2 Root Directory Sau khảo sát thành phần vùng hệ thống, để thấy cách mà DOS quản lý file thư mục lưu trữ đĩa Master Boot Record sector (FDD) hay sector partition Block (cluster ) d o m o w w w d o C lic k to bu y bu to k lic C w w w N O W ! h a n g e Vi e N PD ! XC er O W F- w m h a n g e Vi e w PD XC er F- c u -tr a c k c y o c u -tr a c k c  Boot sector: gọi boot record (bản ghi khởi động), dài 512 byte (1 sector) đặt sector logic đĩa mềm hay sector logic partition (đĩa logic) ổ đĩa cứng Tất đĩa (FDD đĩa logic đĩa cứng) sau định dạng có boot record chứa thơng tin liên quan đĩa đó, có đĩa định dạng đĩa khởi động có chứa đọan code Bootstrap Loader Bootstrap Loader thực việc nạp thành phần cốt lõi DOS io.sys, msdos.sys, command.com vào nhớ RAM (chính xác nạp IO.SYS vào RAM sau IO.SYS tìm nạp tập tin tiếp theo) trình khởi động máy tính Chính bootstrap loader cịn gọi chương trình mồi khởi động Bảng sau cho thấy vị trí, độ lớn nội dung trường boot sector Offset Nội dung 00 h Lệnh JUMP, nhảy Bootstrap Loader 03 h Tên nhà sản xuất số phiên 0B h Số byte sector 0D h Số sector cluster 0E h Số sector dành cho boot sector 10 h Số bảng FAT 11 h Số phần tử (entry) Root directory 13 h Tổng số sector tập đĩa (volume) 15 h Mã nhận diện đĩa 16 h Số sector dành cho FAT 18 h Số sector track 1A h Số mặt (đầu từ) Size byte byte byte byte byte byte byte byte byte byte byte byte d o m o w w w d o C lic k to bu y bu to k lic C w w w N O W ! h a n g e Vi e N PD ! XC er O W F- w m h a n g e Vi e w PD XC er F- c u -tr a c k c y o c u -tr a c k c 1C h 1E h 22 h 23 h 24 h 25 h 29 h Số sector trữ Số sector kích thước lơn 32Mb Số hiệu ổ đĩa: 0:ổ mềm; 80h: ổ cứng Dự trữ Chữ ký boot sector mở rộng Số Serial đĩa, tạo lúc format Tên tập đĩa (nhãn đĩa) 34 h Loại FAT: “FAT12” “FAT16” 3Ch Code chương trình bootstrap 200h loader Bảng 4.4: Các trường boot sector byte byte byte byte byte byte 11 byte byte 452 byte Như vậy, sau quyền điều khiển trả cho boot sector hệ thống thực lệnh nhảy (Jmp) đầu boot sector (offset 00), để nhảy đến thực đoạn code bootstrap loader cuối boot sector (từ offset 3Ch đến offset 200h) Và bootstrap loader thực nhiệm vụ Dựa vào boot sector ta biết nhiều thông tin đĩa như: loại FAT, nhãn đĩa, số sector cluster, số byte sector, … Và từ ta tính dung lượng đĩa tính theo byte: Tổng số sector tập đĩa * số byte sector Ví dụ: Để in loại FAT sử dụng đĩa mềm volume đĩa cứng ta thực sau:  Đọc nội dung boot sector lưu vào biến bootdat  In kí tự bắt đầu offset 34h bootdat Mov cx, Mov SI, 34h Mov ah, 02 ; hàm 02h/21h in kí tự DL Loai_FAT: Mov DL, byte PTR bootdat[SI] Int 21h Loop Loai_FAT  File Allocation Table (FAT): Nội dung file cần lưu trữ đĩa chia thành phần có kích thước kích thước cluster, gọi block file Các block file file lưu trữ cluster xác định đĩa, cluster chứa nội dung file d o m o w w w d o C lic k to bu y bu to k lic C w w w N O W ! h a n g e Vi e N PD ! XC er O W F- w m h a n g e Vi e w PD XC er F- c u -tr a c k c ... FAT_16; 5: phân khu Dos mở rộng; 6: phân khu Dos lớn 32 Mb 05 h số hiệu head kết thúc phân khu 06 h sector cylinde kết thúc 08 h số hiệu sector tương đối bắt đầu 0C h tổng số sector phân khu Bảng... khiển q trình khởi động tương tự trường hợp đĩa mềm Chính sector phân khu thường gọi Master Boot Record, gọi bảng partition Quản lý file đĩa MS_DOS Trong trình định dạng đĩa mềm, đĩa logic phân. .. (HDD/C:) sau trình POST hệ thống nạp sector phân khu đĩa cứng vào nhớ địa 0:7C00h, sau boot code sector phân khu thực việc xác định partition active nạp boot sector partition active vào nhớ địa 0:7C00h,

Ngày đăng: 08/05/2021, 13:56

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan