Sanal makine, bilgisayar bilimindeprogramları gerçek bir bilgisayarsistemindeki gibi çalıştıran mekanizmaların yazılım uyarlamasıdır. Sanal Makine, işletim sistemi ile bilgisayar platformu arasında bir sanal ortam yaratır ve bu sanal ortam üzerinde yazılımların çalıştırabilmesine imkân verir.
Tanımı
İlk sanal makine Gerald J. Popek ve Robert P. Goldberg tarafından tanımlanmıştır. Sanal makineler iki grup altında toplanılabilir.
(System virtual machine) bazen (hardware virtual machines) olarak bilinir. İşletim sistemi uygulamalarına destek veren sanal makinelerdir.
(Process virtual machine) tek bir yazılım çalıştırmak için dizayn edilmiş sanal makinelerdir.
Herhangi bir sanal makine tarafından sağlanmış kaynağı kullanmakta olan bir yazılım içinde bulunduğu sanal ortamı kırıp dışına çıkamaz ve bunu sanal makinelerin en önemli karakteristik özelliklerinden biri olarak kabul edebiliriz.
Aşağıdaki sanal makine yazılımları, bilgisayar donanımlarını sanal hâle getirerek konuk işletim sisteminin ana işletim sistemi içinde çalışmasına imkân verir.