Các bài viết cũ

Lý do ra đời cho công nghệ Intel VT và AMD-V trong ảo hóa

Về lý thuyết, theo Intel, nhân HĐH làm việc ở lớp 0 (Ring 0, có chức năng cao nhất), cấp truy cập sâu nhất. BXL x86 truyền thống không thể chạy HĐH ảo ở lớp 0 vì cần phải chạy phần mềm quản lý các máy ảo (được gọi là hypervisor).
Kiến trúc x86 còn có 3 lớp nữa với chức năng giảm dần. Để đảm bảo tính ổn định, các HĐH hiện nay giới hạn ứng dụng làm việc ở lớp chức năng thấp nhất – Ring 3 (đây là lý do Windows XP có độ ổn định cao hơn so với DOS – HĐH cho phép các ứng dụng làm việc ở lớp 0). Vì vậy giải pháp hiển nhiên là HĐH của máy ảo được phân bổ ở 2 lớp còn lại.

Vấn đề là có một số mã lệnh x86 chỉ làm việc ở lớp 0. Để làm việc ở các lớp cao hơn, HĐH phải được viết lại (hay biên dịch lại) để tránh các lệnh này. Giải pháp này phổ biến trong thế giới Linux (IBM dùng kỹ thuật tương tự để chạy Linux trên mainframe), nhưng nó yêu cầu phải có mã nguồn HĐH và phải có lập trình viên am hiểu HĐH.

Để chạy HĐH nguyên bản ở ngoài lớp 0, hypervisor phải bẫy các lệnh bị cấm và mô phỏng chúng. Đây là giải pháp của VMware và môi trường mô phỏng DOS của Windows XP. Vấn đề là việc mô phỏng sử dụng nhiều nguồn lực tính toán và làm giảm hiệu suất hoạt động của hệ thống.

Read the rest of this entry