VIRTUAL MESIN
APA ITU VIRTUAL MESIN ??
Pengertian Virtual Machine
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.
Macam-macam Virtual Machine
1. Virtual PC
Windows Virtual PC (pengganti Microsoft Virtual PC 2007 , Microsoft Virtual PC 2004 , dan CONNECTIX Virtual PC ) adalah virtualisasi program untuk Microsoft Windows . Pada bulan Juli 2006 Microsoft merilis versi Windows sebagai produk gratis. Pada bulan Agustus 2006 Microsoft mengumumkan versi Macintosh tidak akan porting ke Intel berbasis komputer Macintosh, efektif menghentikan produk sebagai PowerPC berbasis komputer Macintosh tidak lagi diproduksi. Rilis terbaru, Windows Virtual PC, tidak berjalan di versi Windows lebih awal dari Windows 7 , dan tidak resmi mendukung MS-DOS atau sistem operasi sebelum Windows XP Professional SP3 sebagai tamu. Versi yang lebih tua, yang mendukung lebih luas host dan sistem operasi tamu, tetap tersedia. Virtual PC virtualizes standar PC dan perangkat keras yang terkait. Didukung sistem operasi Windows dapat dijalankan di dalam Virtual PC.Sistem operasi lain seperti Linux dapat berjalan, tetapi tidak secara resmi didukung, dan Microsoft tidak menyediakan driver yang diperlukan (disebut "Penambahan Virtual Machine") untuk Linux.
2. Oracle VM Virtual Box
Oracle VM VirtualBox (sebelumnya Sun VirtualBox ) adalah Virtualisasi x86 paket perangkat lunak, yang diciptakan oleh perusahaan software Innotek GmbH, dibeli oleh Sun Microsystems , dan sekarang dikembangkan oleh Oracle Corporation sebagai bagian dari keluarganya produk Virtualisasi. Oracle VM VirtualBox terinstal pada sistem operasi host yang ada sebagai aplikasi, aplikasi ini memungkinkan sistem host operasi tamu tambahan, masing-masing dikenal sebagai OS Tamu , yang akan diambil dan dijalankan, masing-masing dengan lingkungan maya sendiri. Sistem host operasi yang didukung termasuk Linux , Mac OS X , Windows XP , Windows Vista , Windows 7 , Solaris , dan OpenSolaris , ada juga port ke FreeBSD . Sistem operasi yang didukung tamu termasuk versi dan derivasi dari Windows , Linux , BSD , OS / 2 , Solaris dan lainnya. Sejak rilis 3.2.0, VirtualBox juga memungkinkan virtualisasi terbatas Mac OS X tamu pada hardware Apple. Menurut survei 2010 oleh LinuxJournal.com , dan LifeHacker.com , VirtualBox adalah produk virtualisasi yang paling populer dengan lebih dari 50% suara. Sejak versi 4.1, Windows tamu pada hardware yang didukung bisa mengambil keuntungan dari baru ini menerapkan WDDM sopir termasuk dalam penambahan tamu; ini memungkinkan Windows Aero harus diaktifkan bersama dengan Direct3D dukungan.
3. VMWare
Mware, Inc ( NYSE : VMW ) adalah perusahaan yang menyediakan virtualisasi perangkat lunak, didirikan pada tahun 1998 dan berbasis di Palo Alto, California , Amerika Serikat. Perusahaan ini diakuisisi oleh EMC Corporation pada tahun 2004, dan beroperasi sebagai anak perusahaan perangkat lunak terpisah.
Perangkat lunak desktop VMware berjalan pada Microsoft Windows , Linux , dan Mac OS X , sementara VMware perusahaan perangkat lunak hypervisors untuk server, VMware ESX danVMware ESXi , adalah bare-metal hypervisors tertanam yang berjalan secara langsung padaserver yang keras tanpa memerlukan tambahan mendasari sistem operasi.
Kelebihan dan Kekurangan Software Virtual Machine
1. VMWare
Kelebihan :
· Mudah digunakan, pengaturan simpel sekali
· Fitur unity-nya luar biasa! Berbeda dengan fitur “Seamless Mode”-nya virtualbox. Bila di virtualbox taskbar windows masih ada, di vmware player mengintegrasikan aplikasi windows juga sekalian ke taskbar gnome.
· Game yang fullscreen lancar walau agak lambat. Game AOE bisa berjalan, tapi respon kursor sangat lambat.
· Untuk keperluan uji program (trial and error), tidak perlu me-restart PC untuk beralih sistem operasi (dual boot) atau berpindah komputer.
· Dapat mengembangkan perangkat lunak multiplatform dengan cepat karena adanya lebih dari sistem operasi yang berjalaan bersamaan.
Kekurangan:
· Berat, dan lebih lambat dari virtualbox. Respon grafis-nya juga terasa tersendat.
· Terlalu simpel, sulit menemukan pengaturan yang lebih.
· Tidak open source, komunitas Linux sangat tergantung ke vmware. Ini membuat bug yang muncul tidak bisa dengan cepat ditangani.
2. Virtual Box
Kelebihan:
· Instalasi ke sistem cepat, instalasi OS Client juga cepat.
· Mudah digunakan, menyediakan pengaturan-pengaturan lebih lanjut.
· Secara keseluruhan cepat, OS client (windows XP) mendekati kecepatan aslinya.
Kekurangan:
· Tidak bisa mengakses perangkat yang membutuhkan koneksi USB dengan sempurna (misal aplikasi Desktop Manager Blackberry tidak bisa digunakan untuk membackup data)
· Beberapa game yang fullscreen tidak berjalan. (Saya mencoba Age Of Empires)
3. Virtual PC
Kelebihan:
· Di rekomendasi oleh microsoft.
· Memungkinkan untuk FAQ atau menjawab pertanyaan yang sering diajukan disertai jawabannya supaya pengguna tidak perlu repot-repot nanya kalau mengalami masalah yang sama.
· Sudah di sertakan Recorded demos jadi kita sudah di berikan tutorial singkat penggunaanya.
· Memungkinkan percobaan dual boot saat ingin menguji coba sebuah sistem operasi baru
Kekurangan:
· Berlisensi dan prabayar
· Hanya memungkinkan untuk produk microsoft saja
· Tidak open source
· Belum memungkinkan penggunaan USB
· Vitur ketinggalan jaman bila di bandingkan virtual machine sejenis.
- Boston Circuits gCore (grid-on-chip) dengan 16 inti ARC 750D dan modul virtualisasi perangkat keras mesin-waktu.
- Kerangka induk (mainframe) IBM System/370, System/390, dan zSeries
- Intel VT (sebelumnya dengan kode nama Vanderpool)
- Sun Microsystems sun4v (UltraSPARC T1 dan T2) -- digunakan oleh Logical Domains
- HP vPAR dan nPAR berbasis sel
- Sistem Honeywell Multics
- Sistem Liberator Honeywell 200/2000 menggantikan sistem IBM 14xx, Level 62/64/66 GCOS
- IBM System/360 Model 145, perangkat keras emulator untuk sstem Honeywell 200/2000
- RCA Spectra/70 Series mengemulasikan IBM System/360
- CPU NAS mengemulasikan mesin-mesin IBM and Amdahl
- Komputer mini Honeywell Level 6 mengemulasikan pendahulunya, minikomputer 316/516/716
- CPU Xerox Sigma 6 yang dimodifikasi untuk mengemulasikan sistem GE/Honeywell 600/6000
Mesin virtual pada mulanya didefinisikan oleh Gerard J. Popek dan Robert P. Goldberg pada tahun 1974 sebagai sebuah duplikat yang efisien dan terisolasi dari suatu mesin asli. Pada masa sekarang ini, mesin-mesin virtual dapat mensimulasikan perangkat keras walaupun tidak ada perangkat keras aslinya sama sekali.[1]
Contohnya adalah program yang ditulis dalam bahasa Java akan dilayani oleh Java Virtual Machine (JVM) dengan cara memberikan perintah-perintah yang dimengerti JVM yang selanjutnya akan memberikan hasil yang diharapkan. Dengan memberikan layanan seperti ini kepada program tersebut, perangkat lunak JVM ini berlaku sebagai sebuah "mesin virtual", sehingga program tidak lagi perlu untuk mengakses langsung melalui sistem operasi ataupun perangkat keras yang sangat bervariasi dan memerlukan pemrograman masing-masing secara spesifik.
Mesin virtual terdiri dari dua kategori besar, dipisahkan menurut cara penggunaan dan tingkat keterhubungannya dengan mesin-mesin aslinya. Sebuah mesin virtual sistem adalah perangkat yang berupa platform sistem yang lengkap dan dapat menjalankan sebuah sistem operasi yang lengkap. Sebaliknya, mesin virtual proses didesain untuk menjalankan sebuah program komputer tertentu (tunggal), yang berarti mesin virtual ini mendukung proses tertentu juga. Karakteristik mendasar dari sebuah mesin virtual adalah batasan-batasan bagi perangkat lunak yang berjalan di dalam mesin tersebut, sumber daya yang dibatasi, dan tidak dapat mengakses ke luar tembok batasan dunia maya itu.
Virtual machine monitor (VMM) atau hypervisor merupakan bagian dari perangkat lunak yang membuat/mensimulasikan virtual machine. Hypervisor merupakan istilah industri untuk menjelaskan tentang VMM. Abstraksi mesin yang dibuat oleh VMM disebut virtual machine (VM).
VMM membuat platform virtual sehingga sistem operasi dapat berjalan di atasnya. VMM juga berperan sebagai manajer untuk menjalankan sistem operasi yang berjalan di atasnya. VMM merupakan teknik yang berguna dalam menambah fungsionalitas dibawah layer OS dan layer aplikasi. Sebagai manajer VM, VMM turut mengatur eksekusi yang berjalan di sistem operasi yang disimulasikannya. Abstraksi VMM disebut dengan virtual machine (VM). Perangkat keras yang di simulasikan dapat di atur sehingga mempunyai spesifikasi yang identik dengan perangkat keras dimana VMM diimplementasikan.VMM juga dapat meng-enkapsulasi suatu aplikasi yang berjalan di atasnya sehingga memudahkan manajemen dan kontrol terhadap sistem komputer.
Dengan adanya VMM maka Virtual machine yang diimplementasikan pada sistem komputer dapat membuat abstraksi dari layer yang ada di bawahnya sehingga dapat membuat/mensimulasikan layer aplikasi dari suatu sistem komputer yang di inginkan.
Terdapat beberapa pendekatan dalam mengklarifikasi virtual machine, dan salah satunya adalah mendefinisikannya menjadi 2 type (Type I dan type II). Klarifikasi ini didasarkan oleh fakta bahwa kedua type virtual machine ini bekerja dengan lower level platform yang mirip. Type I VMM tidak menggunakan host operating system, sedangkan type II VMM menggunakan host operating system. Type II disebut juga dengan paravirtual machine. Karena type II VMM menggunakan host operating sytem maka kinerjanya lebih buruk dibandingkan type I VMM.
Type II melakukan virtualisasi di tingkat sistem operasi. Type II membutuhkan host operating system untuk melakukan virtualisasi. Ketika dilakukan inisiasi VM, pertama-tama VMM membuat komponen hardware virtual yang memetakan abstraksi di host OS. Kemudian terjadi degradasi performansi akibat bottlenect ketika menjalankan VM. Bottlenect yang terjadi merupakan proses untuk menginisiasi VM. Setelah itu maka VM akan berjalan di sistem komputer.
Terdapat tiga bottleneck penyebab virtualization overhead. Pertama, struktur yang memisahkan dua host procesess yang menyebabkan inordinate number dari context switches di host. Kedua, perubahan antara guest kernel dan guest user yang menghasilkan banyaknya operasi untuk melindungi memory (memory protection operation). Ketiga, perubahan antara dua guest application process (atau lebih dari dua) yang menghasilkan banyaknya operasi memory mapping.
Proses inisiasi VM yang telah dijalankan oleh VMM mempunyai functional process untuk melakukan hal-hal tersebut. VMMM functional process berada di host kernel. Methode untuk melakukan intercept key events (system call and signals) di eksekusi di host kernel. Hal ini menyebabkan VMM kernel module mempunyai control yang baik terhadap guest machine process. Sebagai contoh kelebihannya, modul kernel VMM dapat mengubah address guest machine process secara langsung.
Guest machine process berubah secara periodik antara guest user mode dengan guest kernel mode. Guest kernel harus dilibatkan untuk melakukan system call dan exception yang dilakukan oleh guest application process dan mengolah data yang dikirim oleh virtual I/O device. Setiap kali guest machine memproses perpindahan dari guest kernel mode ke guest user mode maka address space guest kernel [0x7000000, 0xc0000000] harus dilindungi dari akses yang tidak diinginkan. Sebaliknya, setiap kali perpindahan antara guest machine memproses perpindahan antara user mode ke guest kernel maka address space harus disediakan. Guest machine process dapat melakukan address space manipulation karena membuat host system calls mmap, munmap dan mprotect.
Perpindahan address space antara guest application process Dilakukan di dalam proses virtualisasi. Perpidahan address space milik guest harus mengubah mapping antara guest virtual pages dan page di memory file physical tempat mesin melakukan virtualisasi. Perubahan mapping dilakukan dengan memanggil munmap untuk mengirim address space milik guest application process. Kemudian mmap dipanggil setiap residen di virtual page untuk menerima guess application process.
Daftar pustaka:
Komentar
Posting Komentar