Một hệ điều hành điển hình được chia thành kernel và không gian người dùng. Hạt nhân có quyền truy cập trực tiếp vào phần cứng, không gian người dùng (nơi chương trình chạy) không và phải đi qua kernel. Mỗi chương trình chạy "bên trong" một không gian người dùng được cung cấp bởi kernel. (CPU hiện đại có MMU ngăn không gian người dùng thực hiện những điều mà kernel không cho phép.)
Sẽ nhanh hơn nếu không gian người dùng có thể truy cập phần cứng trực tiếp, thay vì đi qua kernel, nhưng an toàn hơn đáng kể. Vì vậy, một hệ điều hành giới thiệu một số chi phí.
Máy ảo mở rộng khái niệm này một bước nữa. Các hệ điều hành, bao gồm kernel và không gian người dùng của nó, chạy "bên trong" màn hình máy ảo (VMM) - còn được gọi là nhà ảo thuật . Chỉ có trình siêu giám sát mới có quyền truy cập trực tiếp vào phần cứng và hạt nhân (bên trong VM, tức là nhân của HĐH khách) phải "đi qua" trình ảo hóa để truy cập phần cứng. Thông thường, cách VM được thiết lập, kernel thậm chí không biết nó đang chạy trên VM. Tuy nhiên, vì kernel phải trải qua một lớp khác để đến phần cứng (mặc dù nó không biết điều đó), nên nó chậm hơn một chút. Đây là chi phí VMM.
Các CPU mới hơn hỗ trợ VM trong phần cứng và cũng hỗ trợ "ánh xạ lại" phần cứng trong VM (IOMMU), do đó, chi phí thường rất nhỏ.