Sanal makine

Sanal makine, bilgisayar biliminde programları gerçek bir bilgisayar sistemindeki 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.

Sanal makine yazılımları listesi 

Sanal makine yazılım uygulamaları
 Common Language Runtime
 C#
 Visual Basic .NET
 J#
 Managed C++
 Eiffel (programlama dili)
 Erlang programlama dili
 Forth sanal makinesi - Forth (programlama dili)
 Glulx, Z-code
 Hec - Hasm Assembler
 Inferno (isletim sistemi) - Limbo programlama dili
 Java sanal makinesi
 BeanShell (betik dili)
 Groovy (betik dili)
 Java (programlama dili)
 Jython (programlama dili)
 Nice programlama dili
 NetREXX
 Scala
 Düşük seviye sanal makinesi(LLVM) - C (programlama dili),  C++ programlama dili
 Lua programlama Dili
 Macromedia Flash Player - SWF
 MMIX - MMIXAL
 Neko Sanal Makinesi - tedavülde olan Neko vehaXe
 O-code machine - BCPL
 p-code machine -  Pascal programlama dili
 Parrot sanal makinesi - Perl 6
 Perl Sanal makinesi - Perl
 Portable.NET - C#, Visual Basic .NET, J#, C++
 YARV - Ruby programlama dili
 ScummVM - Scumm
 SECD machine - ISWIM, Lispkit Lisp
 Sed.
 Smalltalk sanal makinesi - Smalltalk
 SQLite sanal makinesi - SQLite
 Squeak sanal makinesi - Squeak
 SWEET16
 TrueType sanal makinesi - TrueType
 Valgrind - x86/x86-64 Linux alitinda.
 VX32 virtual machine - uygulama seviyesinde sanallastirma yerlesik kod için.
 Virtual Processor
 Waba - Sanal makine ufak aygitlar için java'ya benzer.
 Warren Abstract Machine - Prolog, CSC GraphTalk
 Z-machine - Z-Code
 Zend Engine - PHP

Sanal makine donanım uygulamaları
 ATL 
 Bochs
 CoLinux
 Denali
 FAUmachine
 Integrity Workstation
 KVM Kernel'e dayali sanal makine
 Microsoft Virtual PC ve Microsoft Virtual Server
 OKL4
 Parallels Workstation
 Parallels Desktop for Mac
 QEMU, simulatordur ve sanal makineye dayalidir.
 SheepShaver.
 Simics
 SVISTA
 TRANGO real-time embedded hypervisor
 twoOStwo
 User-mode Linux
 Virtual Iron (Virtual Iron 3.1)
 VM IBM
 VMware 
 vThere 
 Xen
 VirtualBox

 İşletim sistemleri düzeyindeki sanal makine yazılımları
 OpenVZ
 Virtuozzo
 FreeVPS
 Linux-VServer
 FreeBSD Jails
 Solaris Containers

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.

 Adeos Linux. 
 Denali 
 Hyper-V
 KVM
 OKL4 
 OpenVZ 
 Parallels 
 QEMU 
 Virtual Iron
 Virtuozzo 
 VMware 
 Xen 
 VirtualBox

Aşağıdaki sanal makine yazılımları android işletim sistemi için tasarlanmıştır.
VMOS
X8 SandBox

Kaynakça

Dış bağlantılar 
 Sanallaştırmaya ile alakalı bir sunum
 Sanallaştırma teknolojileri ile ilgili bir blog