Senin, 15 Juni 2020

Virtual Machines

A. Sejarah Virtual Machines
     Virtual machine pada awalnya didefinisikan oleh Gerald J. Popek dan Robert P. Goldberg di tahun 1974, sebagai suatu duplikat yang efisien dan terisolasi dari suatu mesin asli. Di masa yang sekarang ini, virtual machine yang beredar mampu melakukan simulasi perangkat keras, walaupun tak ada perangkat keras aslinya sekalipun.

         Contohnya ialah program yang ditulis dalam menggunakan bahasa Java akan dilayani oleh Java Virtual Machine (JVM) dengan cara memberikan perintah-perintah yang dimengerti JVM yang selanjutnya mampu memberikan hasil yang diharapkan.

       Dengan memberikan layanan seperti ini terhadap program tersebut, perangkat lunak JVM berlaku sebagai suatu mesin virtual, sehingga program tak lagi membutuhkan akses secara langsung melalui sistem operasi atau perangkat keras yang sangat bervariasi dan membutuhkan pemrograman masing-masing secara spesifik.
       Mesin virtual terdiri atas 2 kategori besar yang dipisahkan menurut cara penggunaan dan tingkat keterhubungan dengan mesin aslinya, yakni :
  • System Virtual Machines, perangkat yang berupa platform sistem lengkap dan mampu menjalankan suatu sistem operasi dengan lengkap.
  • Process Virtual Machines, didesain untuk menjalankan suatu program komputer tertentu saja, yang berarti virtual machine ini mendukung proses tertentu juga. Karakteristik yang paling dasar dari process virtual machines adalah batasan terhadap perangkat lunak yang berjalan di mesin tersebut, sumber daya yang terbatas dan tak bisa mengakeses di luar tembok batasan dunia maya.
B. Jenis-Jenis Virtual Machines

1. System Virtual Machines


      Keinginan dalam menjalankan beberapa sistem operasi menjadi motif awal adanya virtual machine, sehingga memungkinkan pembagian waktu diantara beberapa sistem operasi single-tasking. IBM menjadi sistem pertama yang mendukung virtualisasi penuh, menerapkan pembagian waktu dengan menyediakan setiap pengguna terhadap sistem operasi tunggal, Conversational Monitor System (CMS).

     Berbeda dengan virtual memory, sebuah system virtual machine memberikan hak kepada pengguna dalam menulis instruksi. Pendekatan ini tentu memiliki keunggulan, seperti mampu menambahkan perangkat input maupun output yang tidak diizinkan dalam sistem standar. Penggunaan virtual machine dalam mendukung sistem operasi tamu yang terpisah tentu sangat populer dalam embedded systems. Penggunaan yang paling umum ialah menjalankan sistem operasi secara real-time, bersamaan dengan sistem operasi lain yang tengah dijalankan, yang paling banyak disukai adalah Linux dan Windows.

2. Process Virtual Machines

        Sebuah process virtual machine terkadang disebut sebagai application virtual machine atau managed runtime environment (MRE) yang berjalan sebagai aplikasi normal di suatu sistem operasi dan mendukung suatu proses yang berjalan. Process virtual machines diimplementasikan dengan menggunakan interpreter, kinerja yang cukup sebanding dengan bahasa pemrograman yang dikompilasi yang mampu dicapai dengan menggunakan just-in-time compilationJenis virtual machine yang satu ini kian populer dengan bahasa pemrograman Java yang berhasil diimplementasikan menggunakan virtual machine Java. Ada juga contoh lainnya seperti .NET Framework yang berjalan pada virtual machine, disebut dengan Common Language Runtime. Semua itu bisa berfungsi sebagai lapisan abstraksi terhadap berbagai macam bahasa komputer.

C. Fungsi Virtual Machines

1. Berganti ke Versi Sistem Operasi yang lebih baru


       Dengan menggunakan virtual machine, pengguna bisa melakukan adopsi metode yang aman untuk menjalankan versi pengembangan, contohnya menjalankan sistem operasi Windows 10 pada komputer pengguna yang tengah menjalankan sistem operasi Windows 8.Dengan adanya metode ini, memungkinkan para pengguna untuk melakukan ujicoba terhadap sistem operasi Windows 10 tanpa harus menginstall versi Windows di komputer/laptop secara langsung.

2. Virtual Dari Dekstop Pengguna


   Ada kecenderungan yang muncul di kalangan komunitas IT di mana pengguna menyimpan aplikasi desktop dan sistem operasi di dalam sebuah virtual machine yang terpisah dari server dan menggunakan personal computer (PC) sebagai "thin client" ke server. Setiap pengguna terisolasi dari semua pengguna yang lain dengan menggunakan bantuan teknologi virtual machine dan pemeliharaan aplikasi yang dialihkan dari setiap desktop ke data center.

3. Melakukan Pengujian dengan sistem Operasi yang Berbeda

     Pengguna juga bisa dengan mudah menginstal distribusi Linux yang berbeda atau sistem operasi lain yang kurang dikenal dalam virtual machine dalam melakukan suatu bentuk eksperimen dan memahami bagaimana sistem operasi tersebut bekerja. Beberapa sistem operasi bisa berjalan di server yang sama, sehingga bisa menghilangkan kebutuhan dalam mendedikasikan 1 fisik server ke 1 aplikasi.

4. Melakukan Tahap Pengujian Software di Banyak Platform yang Berbeda

       Pada saat dibutuhkan adanya suatu pengujian, apakah suatu aplikasi bisa bekerja pada beberapa sistem operasi, atau hanya bisa bekerja di beberapa versi sistem operasi Windows.Pengguna bisa dengan mudah menginstal di masing-masing virtual machine, dibandingkan harus menginstal di banyak komputer yang berbeda.

5. Komplikasi Server yang Berbeda dalam penggunaan Bisnis

        Dalam tujuan bisnis dengan aplikasi yang berjalan di beberapa server, server- server yang ada bisa dimasukkan ke dalam virtual machine dan dijalankan pada hanya 1 personal computer (PC). Sehingga, hal ini tak menyebabkan adanya masalah keamanan yang mungkin saja bisa terjadi saat menjalankan server yang berbeda di sistem operasi yang sama. Virtual machine juga bisa dipindahkan dari fisik server yang satu ke fisik server yang lainnya.

D. Cara Kerja Virtual Machines

       Virtual machine bekerja dengan cara membuat layer hardware virtual pada sebuah komputer. Virtual machine akan membuat storage virtual, CPU virtual, RAM virtual DVD ROM virtual dan berbagai macam komponen virtual yang lain yang selanjutnya dijadikan sebuah virtual machine utuh. 

      Layar software yang dinamakan dengan hypervisor inilah yang secara dinamis akan mengalokasikan resource (sumber daya) pada host computer (komputer fisik) ke virtual machine sesuai dengan apa yang dibutuhkan.

       Saat virtual machine berhasil diinstal sistem operasi, maka sistem operasi yang ada di virtual machine itu (guest operating system) akan berjalan secara terisolasi di sistem operasi utama (host operating system).

     Setiap state dari virtual machine tersebut akan tersimpan ke dalam bentuk file yang selanjutnya bisa digandakan oleh pengguna dan dipindahkan dengan mudah. Dengan begitu, pengguna bisa menjalankan beberapa virtual machine dengan beberapa spesifikasi dan sistem operasi, hanya dari 1 komputer fisik saja.

E. Kelebihan dan Kekurangan Virtual Machines

1. Kelebihan Virtual Machines
  • Command Management Interface (CMI) yang sederhana untuk semua fungsi sistem operasi.
  • Memungkinkan penggunaan snapshot virtual machine sebagai pengujian 
  • Tidak ada perangkat keras (hardware) yang harus di pelihara.
  • Meningkatkan penggunaan perangkat keras ( hardware ) komputer.
  • Mampu menekan biaya operasi
  • Ketersediaan yang tinggi
  • Mampu menjalankan program lain yang belum tentu sama di host machine.
  • Memungkinkan kembali kepada sebelumnya jika terjadi kesalahan.
  • Segi keamanan yang baik.
  • Memungkinkan mendefinisikan suatu jaringan dari virtual machine.
  • Kemudahan dalam penggunaan.
  • Sebagai bahan belajar dan membandingkan berbagai sistem operasi.
2. Kekurangan Virtual Machines
  • Implementasi yang sulit,terlebih untuk orang awam.
  • Sistem operasi pada host machine dan Virtual machine berjalan lambat.
  • Kesulitan dalam sistem penyimpanan.
  • Jika host  machine mati, maka Virtual machine tak dapat diakses.
  • Kemungkinan terjadi overheating pada memori dan processor.
F. Software Virtual Machine

1. Virtual Box

         Oracle VM VirtualBox merupakan perangkat lunak virtualisasi yang bisa dipergunakan dalam mengeksekusi sistem operasi tambahan di dalam sistem operasi utama. Sebagai contoh, apabila seseorang memiliki sistem operasi Microsoft Windows yang terpasang di dalam komputer, maka seseorang tersebut bisa juga menjalankan sistem operasi lain yang diinginkan pada sistem operasi Microsoft Windows.Fungsi ini sangat penting apabila seseorang ingin melakukan suatu uji coba dan simulasi instalasi suatu sistem, tanpa harus kehilangan sistem yang sudah ada.

2. Parallels

      Parallels Desktop for Mac merupakan sebuah perangkat lunak virtualisasi perangkat keras yang ditujukan untuk Macintosh dengan processor Intel. Pengembang software ini adalah Parallels, Inc.

3. VMWare

     VMWare Workstation adalah suatu perangkat lunak virtualisasi untuk arsitektur komputer x64 dan x86-64 dari VMWare, yang menjadi bagian dari EMC Corporation. Perangkat lunak ini digunakan untuk membuat banyak komputer virtual dan digunakan secara simultan dengan sistem operais yang digunakan.

4.QEMU

     QEMU adalah singkatan dari Quick Emulator, yakni emulator yang tidak berbayar dan dikembangkan dengan open-source (sumber terbuka) yang melakukan virtualisasi perangkat keras.

    QEMU menjadi mesin virtual monitor yang dihosting, mengemulasi processor mesin melalui terjemahan biner dinamis dan menyediakan 1 set perangkat keras dan model perangkat yang berbeda bagi mesin, di mana mampu menjalankan berbagai macam sistem operasi tamu

    Hal ini juga bisa digunakan dengan KVM dalam menjalankan mesin virtual dengan kecepatan yang mendekati aslinya. QEMU bisa melakukan emulasi terhadap proses tingkat pengguna, yang memungkinkan aplikasi dikompilasi dalam 1 arsitektur untuk dijalankan pada yang lainnya.

5. Microsoft Virtual PC

     Microsoft Virtual PC merupakan suatu program virtualisasi yang dijalankan pada personal computer (PC) berbasis sistem operasi Microsoft Windows dan bisa juga dijalankan di atas komputer Apple Macintosh berbasis sistem operasi Mac OS. Pada awalnya, aplikasi ini ditulis leh Connectix, namun selanjutnya diakuisisi oleh Microsoft Corporation.

Tidak ada komentar:

Posting Komentar