Macam-macam Virtual Machine

Macam-macam Virtual Machine

Table of Contents

Macam-macam Virtual Machine

Macam-macam Virtual Machine
Macam-macam Virtual Machine

1. Virtual Machine Sistem
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

Baca Juga :