Vì vẫn cần phải khởi động, tôi tự hỏi, trên hệ thống 64 bit x64 / AMD64, BIOS có còn sử dụng các hướng dẫn 16 bit không? Nó cũng hoạt động trong chế độ THỰC SỰ?
Vì vẫn cần phải khởi động, tôi tự hỏi, trên hệ thống 64 bit x64 / AMD64, BIOS có còn sử dụng các hướng dẫn 16 bit không? Nó cũng hoạt động trong chế độ THỰC SỰ?
Câu trả lời:
bộ xử lý x86 vẫn khởi động ở chế độ thực. Các BIOS được tự do (và đôi khi bị ép buộc) chuyển sang các chế độ được bảo vệ hoặc dài trong khi chúng khởi tạo phần cứng của chúng, nhưng khi chúng trao quyền điều khiển cho Hệ điều hành (hay đúng hơn là bộ tải khởi động của nó), chúng phải quay trở lại chế độ thực, vì đó là những gì những bộ tải này mong muốn hệ thống được đặt trong.
coreboot và UEFI chuyển sang chế độ được bảo vệ khá sớm, trong khi đối với PCBIOS (phoenix / giải thưởng, ami và vv), chúng tôi không thể nói. Chúng là nguồn đóng và thường không nói nhiều về phần bên trong của chúng và các giao diện của chúng đều được chỉ định là chế độ thực.
Đối với các hệ thống chạy với RAM ECC, bạn có thể tương đối chắc chắn rằng chúng chuyển sang một chế độ có khả năng xử lý tất cả RAM, vì vậy chúng ít nhất chuyển sang chế độ được bảo vệ - đó là vì chúng cần khởi tạo bộ nhớ (ghi một số giá trị cho từng địa chỉ ) khi khởi động hoặc hệ thống sẽ tạm dừng nếu một số mã sau này đọc các địa chỉ không bao giờ được ghi vào (do phát hiện lỗi có thể tạo ra dương tính giả). Nhưng như đã nói, đó là nội bộ của BIOS, và không có gì mà người phàm có thể hiểu được một cách dễ dàng hoặc họ cần phải suy nghĩ.
tl; dr: BIOS ở chế độ thực tại tất cả các điểm có thể nhìn thấy bên ngoài, vì vậy đối với mọi ý định và mục đích, nó có thể chỉ chạy ở chế độ thực mọi lúc.