DEFINISI MESIN VIRTUAL
Sebuah mesin virtual (VM) adalah
sebuah perangkat lunak implementasi dari mesin (yaitu komputer ) yang
mengeksekusi instruksi seperti mesin fisik.
Virtual adalah istilah yang awalnya
berasal dari optik, untuk memahami objek di cermin. Objek dalam cermin adalah
cerminan dari suatu benda fisik yang sebenarnya, tetapi cermin tidak
benar-benar objek. Ini berarti bahwa gambar tersebut terlihat seperti objek
aktual dan terlihat menjadi di lokasi yang sama.
Sebuah mesin virtual (VM) adalah
implementasi perangkat lunak dari sebuah mesin (misalnya komputer) yang
mengeksekusi program-program seperti mesin fisik. Mesin virtual dipisahkan
menjadi dua kategori utama, didasarkan pada penggunaan dan tingkat
korespondensi untuk setiap mesin nyata. Sebuah mesin virtual sistem menyediakan
lengkap platform sistem yang mendukung pelaksanaan lengkap sistem operasi (OS).
Sebaliknya, mesin virtual proses didesain untuk menjalankan satu program , yang
berarti bahwa ia mendukung satu proses Karakteristik penting dari sebuah mesin
virtual adalah bahwa perangkat lunak yang berjalan di dalam terbatas pada
sumber daya dan abstraksi yang disediakan oleh mesin virtual tidak dapat keluar
dari dunia virtual.
Sebuah mesin virtual pada awalnya
ditentukan oleh Popek dan Goldberg sebagai "yang efisien, terisolasi
duplikat dari mesin yang nyata". gunakan saat ini mencakup mesin virtual
yang tidak memiliki surat-menyurat langsung ke perangkat keras yang nyata.
MANFAAT
DARI MESIN VIRTUAL
Ada beberapa manfaat yang dapat
diperoleh bila menggunakan vm, antara lain:
1. untuk keperluan uji program
(trial and error), tidak perlu me-restart PC untuk beralih system operasi (dual
boot) atau berpindah computer.
2. Dapat mengembangkan peranti lunak
multiplatform dengan cepat karena adanya lebih dari system operasi yang
berjalan bersamaan.
3. Dapat menambah intensitas
penggunaan computer tanpa harus memebeli atau menambah computer.
4. bermigrasi dengan mudah dari satu
system operasi ke system operasi lain tanpa harus takut kehilanagan data karena
salah partisi
5. dapat membuat jaringan antar PC
dengan mesin virtual walaupun PC tidak terpasang Network card maupun hub atau
switch. VM akan secara otomatis menyediakannya.
6. vmware memeberikan fleksibilitas
penggunaan system operasi secara bersamaan, sehingga bias mempelajari system
operasi yang berbeda tanpa harus kehilanagn banyak waktu.
VM sistem memungkinkan pembagian sumber daya perangkat keras yang ada ke dalam
VM-VM yang berbeda, masing-masing menjalankan system operasinya sendiri.
Lapisan perangkat lunak yang menyediakan virtualisasi disebut virtual machine
monitor atau hypervisor. Sebuah hypervisor bias berjalan pada perangkat keras
(Tipe 1 atau native VM) atau di atas sebuah sistem operasi (Tipe 2 atau hosted
VM). Keunggulan utama dan VM sistem adalah:
• Berbagai lingkungan
sistem operasi dapat berjalan pada komputer yang sama, dalam isolasi antar
lingkungan yang kyat VM dapat menyediakan instruction set architecture (ISA)
yang berbeda dengan yang ada pada perangkat keras.
• Sistem operasi guest
(yang berjalan di atas VM) tidak harus merupakan sistem operasi yang sama
(sehingga bisa menjalankan sistem operasi terdahulu untuk menggunakan perangkat
lunak yang belum di-port ke versi yang lebih baru). Penggunaan VM untuk
mendukung berbagai sistem operasi yang berbeda menjadi populer pada embedded
system, di mana sistem operasi real time digunakan bersamaan dengan sistem
operasi high level seperti Linux atau Windows. Kegunaan lainnya adalah untuk
men-sandbox (mengisolasi perubahan kodekode yang masi belum terpercaya ) dari
OS yang belum bisa dipercaya, karena masih dalam tahap pengembangan. VM
memiliki manfaat lain pada pengembangan system operasi seperti akses debugging
yang lebih baik dan reboot yang lebih cepat.
2. Virtual Machine
Proses
Suatu
VM proses, kadang disebut application virtual machine, berjalan sebagai
applikasi normal di dalam sebuah sistem operasi dan mendukung satu proses. VM
Proses diciptakan saat proses tersebut dimulai dan dihancurkan (destroyed)
ketika prosesnya exit. Tujuannya adalah menyediakan environment pemrograman
yang platform-independent yang mengabstraksi detil-detil perangkat lunak atau
sistem operasi, dan mengizinkan suatu program tereksekusi dengan cara yang sama
pada platform manapun.
VM proses menyediakan abstraksi tingkat-tinggi (dibandingkan abstraksi tingkat
rendah dari VM sistem) – yaitu abstraksi bahasa pemrograman tingkat tinggi. VM
proses diimplementasi menggunakan interpreter.
Tipe VM ini menjadi
populer dengan bahasa pemrograman Java, yang diimplementasi dengan Java Virtual
Machine. Contoh lainnya adalah .NET Framework, yang berjalan atas VM disebut
Common Language Runtime. Kasus istimewa dari VM proses adalah sistem yang
mengabstraksi mekanisme komunikasi dari cluster komputer (yang mungkin heterogen).
VMnya tidak terdiri dari satu proses, melainkan satu proses per mesin fisik di
dalam cluster. VM tersebut dirancang untuk mempermudah pekerjaan memrogramkan
aplikasi parallel dengan membiarkan programmer fokus pada algoritma daripada
mekanisme komunikasi yang disediakan oleh interconnect dan sistem operasi.
Kenyataan bahwa komunikasi terjadi tidak disembunyikan, dan cluster tidak
diusahakan direpresentasi sebagai satu mesin.
3. Virtualisasi Penuh
Virtualisasi penuh dalam ilmu komputer ialah teknik virtualisasi yang digunakan
untuk implementasi pada berbagai macam lingkungan virtual machine, yang mana
pada virtualisasi penuh menyediakan simulasi lengkap dari perangkat keras.
Simulasi lengkap ini menyebabkan semua perangkat lunak yang bisa dieksekusi
langsung pada perangkat keras dieksekusi juga pada VM, termasuk semua sistem
operasi.
Salah
satu ilustrasi dari virtualisasi penuh adalah dalam program kontrol dari sistem
operasi CP/CMS dari IBM. Setiap pengguna dari CP/CMS diberikan sebuah sistem
komputer (yang sebenarnya merupakan virtual machine) yang berdiri sendiri.
Virtual machine tersebut memiliki semua kemampuan dari perangkat keras yang
mendasarinya, dan untuk penggunanya, virtual machine tidak dapat dibedakan
dengan sebuah sistem yang tersendiri. Simulasi dilakukan secara menyeluruh dan
didasarkan prinsip operasi dari perangkat keras sehingga mencakup instruction
set, main memory, interrupts, exceptions, and device ccess. Hasilnya adalah
sebuah mesin yang dapat dibagi antar banyak pengguna.
Virtualisasi penuh hanya dimungkinkan dengan kombinasi perangkat keras dan
perangkat lunak yang tepat. Sebagai contoh, tidak dimungkinkan untuk kebanyakan
sistem IBM System/360. Sistem x86 juga dulunya disangka tidak dapat menjalankan
virtualisasi penuh (walaupun banyak VM di sistem ini cukup dekat untuk disebut
virtualisasi penuh misalnya Vmware Workstation, VMware Server, VirtualBox,
Parallels Desktop for Mac, Adeos, Mac-on-Linux, Win4BSD, and Win4Lin Pro),
tetapi dengan menggunakan teknik binary translation, VMware bisa menjalankan
virtualisasi penuh.
Tantangan utama pada virtualisasi penuh adalah simulasi dari operasi yang
memerlukan hak khusus seperti instruksi M/K. Pengaruh dari setiap operasi yang
dilakukan dalam VM harus dijaga agar tetap di dalam VM – operasi virtual tidak
diizinkan untuk mengubah status pada VM lain, program kontrol, atau perangkat
keras. Instruksi yang pengaruhnya diatur oleh program control bisa langsung
dieksekusi oleh perangkat keras. Sedangkan instruksi yang bisa berpengaruh
sampai ke luar VM harus dibungkus dan disimulasikan.
Virtualisasi penuh sejauh ini terbukti sukses untuk keperluan pembagian sebuah
sistem komputer untuk digunakan banyak pengguna dan untuk isolasi pengguna
dengan pengguna lain dan dengan program kontrol untuk memperoleh keandalan dan
keamanan sistem.
4. Virtualisasi
Paruh
Virtualisasi paruh dalam ilmu komputer ialah teknik virtualisasi yang digunakan
untuk pengimplementasian pada berbagai macam lingkungan virtual machine, yang mana
pada virtualisasi paruh ini lingkungan VM hanya menyediakan simulasi perangkat
keras secara sebagian saja. Tidak semua fitur perangkat keras disimulasikan
sehingga tidak semua perangkat lunak dapat berjalan tanpa modifikasi terlebih
dahulu.
Kunci
utama dari partial virtualization adalah virtualisasi alamat, yang artinya
setiap virtual machine terdiri dari sebuah alamat yang independen. Kemampuan
ini haruslah didukung oleh kemampuan untuk merelokasi alamat dari sebuah
perangkat keras, sudah ada pada kebanyakan implementasi praktis dari
virtualisasi paruh.
Virtualisasi paruh adalah awal dari adanya virtualisasi penuh. Virtualisasi
paruh digunakan pada generasi pertama dari sistem time-sharing CTSS dan sistem
paging eksperimental pada IBM M44/44X. Istilah ini juga bias digunakan untuk
mendeskripsikan system operasi yang menyediakan ruang alamat yang terpisah
untuk pengguna atau proses yang berbeda.
Virtualisasi paruh ini jauh lebih mudah diimplementasi daripada virtualisasi penuh, seringkali sanggup menyediakan VM yang berguna dan tangguh serta mendukung aplikasi-aplikasi penting. Kekurangannya adalah masalah kompabilitas perangkat keras terdahulu dan portabilitas (tidak mendukung banyak sistem). Jika suatu fitur perangkat keras tidak disimulasikan maka perangkat lunak yang menggunakan fitur tersebut akan gagal berjalan.
5. Virtualisasi Asli
Virtualisasi paruh ini jauh lebih mudah diimplementasi daripada virtualisasi penuh, seringkali sanggup menyediakan VM yang berguna dan tangguh serta mendukung aplikasi-aplikasi penting. Kekurangannya adalah masalah kompabilitas perangkat keras terdahulu dan portabilitas (tidak mendukung banyak sistem). Jika suatu fitur perangkat keras tidak disimulasikan maka perangkat lunak yang menggunakan fitur tersebut akan gagal berjalan.
5. Virtualisasi Asli
Virtualiasi asli adalah teknik dimana VM digunakan untuk mensimulasi statu
environment perangkat keras lengkap supaya sistem operasi yang tidak dimodifikasi
dapat dijalankan untuk tipe CPU yang sama di terisolasi lengkap di dalam wadah
VM. Native virtualization memanfaatkan kemampuan bantuan perangkat keras yang
tersedia di dalam prosesor-prosesor termutakhir dari Intel (Intel VT) dan
Advanced Micro Devices (AMD-V) untuk menyediakan performa mendekati sistem
aslinya.
Virtualisasi asli, juga dikenal sebagai virtualisasi terakselerasi atau
virtualisasi hybrid adalah kombinasi virtualisasi penuh dan teknik akselerasi
I/O dan sering dipakai untuk sangat meningkatkan performa virtualisasi penuh.
Biasanya, metode ini dimulai dengan Virtual Machine Monitor yang mampu
virtualisasi penuh lalu, berdasarkan analisa performa, menjalankan teknik
akselerasi terpilih. I/O dan network drivers adalah bagian yang paling umum
diakselerasi dalam virtualisasi asli.
KEUNTUNGAN DAN KELEMAHAN DARI MESIN VIRTUAL
Keuntungan utama dari VM adalah:
- beberapa OS lingkungan bisa hidup berdampingan pada komputer yang sama, dalam isolasi kuat dari satu sama lain
- mesin virtual dapat menyediakan set instruksi arsitektur (ISA) yang agak berbeda dari mesin nyata
- aplikasi provisioning, pemeliharaan, ketersediaan tinggi dan pemulihan bencana \
Kelemahan utama dari VM adalah:
- mesin virtual kurang efisien dibandingkan mesin yang sebenarnya ketika mengakses hardware secara tidak langsung
- ketika VMS multiple bersamaan berjalan pada host fisik yang sama, setiap VM mungkin menunjukkan kinerja yang bervariasi dan tidak stabil (Kecepatan Eksekusi, dan bukan hasil), yang sangat tergantung pada beban kerja yang dikenakan pada sistem dengan VM yang lain, kecuali teknik yang tepat digunakan untuk isolasi temporal antara mesin virtual .