QEMU là gì
QEMU là một trình mô phỏng thuần phần mềm, có thể mô phỏng gần như bất kỳ thiết bị phần cứng nào. Một ví dụ phổ biến nhất là nó có thể mô phỏng một máy ảo có thể chạy hệ điều hành một cách độc lập. Máy ảo tưởng rằng nó đang giao tiếp với phần cứng thật, nhưng thực tế là nó đang giao tiếp với phần cứng được QEMU mô phỏng. QEMU sẽ chuyển đổi các lệnh từ máy ảo thành các lệnh dành cho phần cứng thật.
Chính vì QEMU được thực hiện hoàn toàn bằng phần mềm, nên tất cả các lệnh đều phải đi qua QEMU một bước, dẫn đến hiệu suất rất thấp. Do đó, trong môi trường sản xuất, hầu hết các phương án đều kết hợp với KVM để hoàn thiện việc ảo hóa. Vì KVM là công nghệ ảo hóa hỗ trợ bởi phần cứng, chủ yếu phụ trách ảo hóa CPU và bộ nhớ với hiệu suất cao, còn QEMU thì phụ trách ảo hóa các thiết bị I/O. Hai bên phối hợp với nhau, tận dụng thế mạnh của từng bên, đạt được hiệu quả tối ưu.
Xét về bản chất, mỗi máy ảo được mô phỏng sẽ tương ứng với một tiến trình QEMU trên máy chủ (host). Các luồng thực thi bên trong máy ảo (chẳng hạn như luồng CPU, luồng I/O…) sẽ tương ứng với các luồng (thread) trong tiến trình QEMU.