Nó phụ thuộc vào phần mềm ảo hóa của bạn. Về cơ bản, bạn có ba lựa chọn:
- Giả lập toàn bộ PC, bao gồm CPU.
- Chạy phần mềm như hiện tại, sử dụng phần cứng của máy chủ, nhưng chặn một số cuộc gọi và hướng dẫn hệ thống.
- Sửa đổi phần mềm để nó chạy trên phần cứng máy chủ, nhưng các hướng dẫn sẽ bị chặn bởi 2) giờ được thay thế bằng các thói quen khác.
Cả ba đều làm việc. Cả ba đều được sử dụng. Cả ba đều có đặc điểm hiệu suất khác nhau.
1) Thi đua
Đây sẽ luôn là lựa chọn chậm nhất. Nó có hai ưu điểm:
- Bạn có thể mô phỏng một máy chủ hoàn toàn khác (ví dụ: mô phỏng máy tính dựa trên ARM trên AMD64).
- Bạn không cần bất kỳ hỗ trợ phần cứng.
2) Các cuộc gọi hệ thống chặn
Câu trả lời này chủ yếu dựa trên AMD64. Một CPU x86 hiện đại có nhiều cấp độ với các quyền khác nhau. Chúng được gọi là nhẫn . Phần mềm VM chiếm lấy vòng 0 (vòng có nhiều quyền nhất) và có quyền làm bất cứ điều gì trên máy tính. Phần mềm trên máy tính (cả máy chủ và máy ảo) không nhận thấy điều này. Sử dụng các quyền này, đảm bảo rằng nhiều hệ điều hành không can thiệp lẫn nhau.
Kết quả là mã thông thường chạy ở tốc độ tối đa (thử nghiệm dnetc cho kết quả khoảng 99% tốc độ trong một vm). Mã mà các cuộc gọi hệ thống bị chặn và sửa đổi, và do đó chậm hơn nhiều. Thông thường kết quả ròng của việc này là mất một vài phần trăm tốc độ.
3) Mã sửa đổi
Thay vì chặn hệ thống gọi theo thời gian thực, bạn có thể sửa đổi phần mềm trước. Bằng cách này, mã của bạn có thể nhanh hơn một chút, nhưng bạn cần phải sửa đổi phần mềm trước.
Especially I am talking about QEMU and virtualbox, how are they?
Tôi có một người bạn là lập trình viên. Cô nhìn mã của QEMU. Lời khuyên được đề nghị là không chạm vào nó. Không bao giờ. Ngay cả với một cột 10 chân. QEMU hoạt động với cấu hình bên ngoài hộp, nhưng thất bại khá thường xuyên nếu bạn không sử dụng cài đặt mặc định. Nó phân bổ tài nguyên và không bao giờ kiểm tra nếu điều đó thành công ... Tôi có thể tiếp tục, nhưng càng ít được đề cập thì càng tốt.
Virtualbox: Tôi đã sử dụng Virtualbox một lần. Nó đã làm việc. Phiên bản windows của nó có giao diện dễ hiểu. Tôi đã không kiểm tra bất kỳ hiệu suất, tôi cũng không chơi bất kỳ trò chơi nào.
Will it run games without problems?
Các trò chơi duy nhất tôi đã chạy là dưới Vmware (người chơi). Điều đó đã làm việc đủ tốt cho các trò chơi 2D. Trò chơi 3D thường làm sập máy tính của tôi (cả Vm và máy chủ).