Hin 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 thiu 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à kim tra
phần mềm và đã trnên phbiến nhờ khnăng tạo những máy tính "ảo"
chạy đồng thời nhiu 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 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 vlĩ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 để n (desktop) đến máy
chủ (server) và hin hãng vẫn giữ vai trò thống lĩnh thị trường ảo hnhưng
không "độc tôn" mà phi 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 kng còn
bó hẹp trong 1 lĩnh vực mà mở rộng cho toàn bhạ 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á” hin 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á” vn đ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à "bn 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) chy
trực tiếp trên phn 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 stài nguyên ca hệ thống máy
tính lớn (mainframe).
Nguyên 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 mm 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 phi bận tâm về
việc tương tch phần cng. Các máy ảo là những thực thể cách ly vi 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 lnh
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 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 lnh "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 cuc lệnh
thông tng, VMM sẽ chuyển tiếp chúng đến BXL để thực thi trực tiếp,
còn các lnh đặ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 thc hoặc mô phỏng kết quả rồi trả về cho máy ảo. Đây là cơ
chế nhmch ly máy ảo với máy thực để đảm bảo an toàn hệ thống.
Các BXL ca hệ thống mainframe được thiết kế hỗ trợ cơ chế "ảo hoá” và
cho phép "by" các lnh "nhạy cảm" để chuyển cho VMM xử lý, nhưng các
BXL dành cho PC (x86) lại khôngkhả năng này