Hiệnthựcảohoá
Kỹ thuật "ảo hoá” đã không còn xa lạ với thực tế đời thường kể từ khi
VMware giới thiệu sản phẩm VMware Workstation đầu tiên vào năm 1999.
Sản phẩm này ban đầu được thiết kế để hỗ trợ việc phát triển và kiểm tra
phần mềm và đã trở nên phổ biến nhờ khả năng tạo những máy tính "ảo"
chạy đồng thời nhiều hệ điều hành (HĐH) khác nhau trên cùng một máy tính
"thực" (khác với chế độ "khởi động kép" - máy tính được cài nhiều HĐH và
có thể chọn lúc khởi động nhưng mỗi lúc chỉ làm việc được với 1 HĐH).
VMware, được EMC (hãng chuyên về lĩnh vực lưu trữ) mua lại vào tháng 12
năm 2003, đã mở rộng tầm hoạt động từ máy tính để bàn (desktop) đến máy
chủ (server) và hiện hãng vẫn giữ vai trò thống lĩnh thị trường ảohoá nhưng
không "độc tôn" mà phải cạnh tranh với sản phẩm nguồn mở Xen,
Virtualization Engine 2.0 của IBM, Virtual Server của Microsoft, Virtuozzo
của SWSoft và Virtual Iron của Iron Software. Và "ảo hoá” cũng không còn
bó hẹp trong 1 lĩnh vực mà mở rộng cho toàn bộ hạ tầng CNTT, từ phần
cứng như chip xử lý cho đến hệ thống máy chủ và cả hệ thống mạng.
Máy ảo
VMware là hãng dẫn đầu thị trường "ảo hoá” hiện nay nhưng không phải là
hãng tiên phong, vai trò này thuộc về IBM với hệ thống máy ảo VM/370 nổi
tiếng được công bố vào năm 1972 và "ảo hoá” vẫn đang hiện diện trong các
hệ thống máy chủ hiện nay của IBM.
Về nguyên lý, máy ảo IBM là "bản sao" của phần cứng bên dưới. Một thành
phần có chức năng giám sát máy ảo (VMM - Virtual Machine Monitor) chạy
trực tiếp trên phần cứng "thực" cho phép tạo ra nhiều máy ảo và mỗi máy ảo
làm việc với HĐH riêng. Ý tưởng xuất phát của máy ảo là nhằm tạo môi
trường làm việc cho nhiều người dùng chia sẻ tài nguyên của hệ thống máy
tính lớn (mainframe).
Nguyên lý làm việc của máy ảo PC cũng giống như máy ảo thời mainframe:
là một môi trường phần mềm bao gồm HĐH và các ứng dụng hoàn toàn
chạy "bên trong" nó. Máy ảo cho phép bạn chạy một HĐH nào đó trong một
HĐH khác trên cùng hệ thống PC chẳng hạn như chạy Linux trong máy ảo
trên PC chạy Windows 2000. Trong máy ảo, bạn có thể làm được hầu hết
mọi thứ như với PC thật. Đặc biệt, máy ảo này có thể được "đóng gói" trong
1 file và có thể chuyển từ PC này sang PC khác mà không phải bận tâm về
việc tương thích phần cứng. Các máy ảo là những thực thể cách ly với hệ
thống "chủ” (chứa các máy ảo) chạy trên máy thực.
Một vấn đề đặt ra là yêu cầu máy ảo mô phỏng chính xác máy thực. Máy
thực có các tài nguyên phần cứng như bộ nhớ, thanh ghi và các tập lệnh
của BXL tác động trực tiếp đến tài nguyên phần cứng này (như thay đổi
thanh ghi, cờ ) thuộc nhóm lệnh "nhạy cảm" (vì có ảnh hưởng đến tất cả
tiến trình đang làm việc, bao gồm VMM). HĐH chạy trực tiếp trên máy thực
được phép thực thi các lệnh "nhạy cảm" này.
Ở hệ thống mainframe, VMM chạy trên phần cứng máy thực ở chế độ ưu
tiên, còn máy ảo làm việc ở chế độ giới hạn. Khi máy ảo yêu cầu các lệnh
thông thường, VMM sẽ chuyển tiếp chúng đến BXL để thực thi trực tiếp,
còn các lệnh đặc biệt "nhạy cảm" sẽ bị chặn lại. VMM sẽ thực thi lệnh với
BXL trên máy thực hoặc mô phỏng kết quả rồi trả về cho máy ảo. Đây là cơ
chế nhằm cách ly máy ảo với máy thực để đảm bảo an toàn hệ thống.
Các BXL của hệ thống mainframe được thiết kế hỗ trợ cơ chế "ảo hoá” và
cho phép "bẫy" các lệnh "nhạy cảm" để chuyển cho VMM xử lý, nhưng các
BXL dành cho PC (x86) lại không có khả năng này
. Hiện thực ảo hoá
Kỹ thuật " ;ảo hoá đã không còn xa lạ với thực tế đời thường kể từ khi
VMware giới thiệu. VMM sẽ thực thi lệnh với
BXL trên máy thực hoặc mô phỏng kết quả rồi trả về cho máy ảo. Đây là cơ
chế nhằm cách ly máy ảo với máy thực để đảm bảo an toàn