Virtual Machine - Fantasi Teknologi

Breaking

Fantasi Teknologi

Tempatnya Belajar Teknologi Masa Kini

Post Top Ad

Post Top Ad

Jumat, 04 Januari 2019

Virtual Machine



Berdasarkan Lingkungan tempat eksekusi aplikasi, maka aplikasi dibagi menjadi tiga:
  1. Native Aplikasi adalah aplikasi yang bisa dijalankan langsung di atas sistem operasi tertentu, sebagai program binari (kode mesin). 
  2. Virtual Machine Aplikasi virtual machine adalah program dalam bentuk kode portable, yang bisa dijalankan diatas berbagai sistem operasi, dengan menggunakan virtual machine. Contoh paling populer sistem ini adalah Java.
  3. Scripting Aplikasi tersimpan sebagai program dalam bentuk kode teks, dan harus dieksekusi menggunakan interpreter. Beberapa contohnya adalah BASH, Perl, dan PHP. 
A. PENGERTIAN DAN KONSEP

Virtual machine (VM) adalah suatu environment, biasanya sebuah rogram atau system operasi, yang tidak ada secara fisik tetapi dijalankan dalam environmentlain. Dalam konteks ini, VM disebut “guest” sementara environment yang menjalankannya disebut “host”.

Mesin virtual didefinisikan oleh Gerard J. Popek dan Robert P. Goldbergpada 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.

Mesin virtual terdiri dari dua kategori besar, dipisahkan menurut cara penggunaan dan tingkat keterhubungannya dengan mesin-mesin aslinya.
  1. Mesin virtual sistem adalah perangkat yang berupa platform sistem yang lengkap dan dapat menjalankan sebuah sistem operasi yang lengkap pula Contoh : VMware 
  2. Mesin virtual proses didesain untuk menjalankan sebuah program komputer tertentu (tunggal), yang berarti mesin virtual ini mendukung proses tertentu. Contoh : Java Virtual Machine (JVM) 
Dasar logika dari konsep mesin virtual adalah dengan menggunakan pendekatan lapisan-lapisan (layers) dari sistem komputer. Sistem komputer dibangun atas lapisan-lapisan. Urutan lapisannya mulai dari lapisan terendah sampai lapisan teratas adalah sebagai berikut:

➤Perangkat keras

➤ Kernel

➤ Sistem program

Konsep virtual mesin itu sendiri dimodifikasi pada level penghubunghardware dan sistem program, dalam hal ini adalah bentuk pengembangan level kernel (level kedua). Bila digambarkan dalam diagram adalah : 


Gambar 1. (a) Non virtual machine (b) Virtual machine

Teknologi ini awalnya digunakan pada IBM S/370. VM/370 menyediakan mesin virtual untuk tiap user dengan membuat mesin virtual baru pada saat user tersebut melakukan log sistem. Kemudian teknik ini berkembang menjadi operating system emulator sehingga sistem operasi dapat menjalankan aplikasi-aplikasi untuk sistem operasi lain.

Dalam lingkungan ini terdapat proteksi berbagai sumber daya sistem. Setiap virtual-machine secara lengkap mengisolasi dari semua virtual-machine yang lain, sehingga tidak ada masalah proteksi. Ada dua pendekatan dalam penyediaan sharing yang diimplementasikan, pertama hal ini memungkinkan share minidisk dan share files. Kedua, memungkinkan pendefinisian jaringan virtual-machine, sehingga dapat mengirim informasi melalui virtual jaringan komunikasi.

Teknologi virtual machine memiliki banyak kegunaan seperti memungkinkan konsolidasi perangkat keras, memudahkan recovery sistem, dan menjalankan perangkat lunak terdahulu. Salah satu penerapan penting dari teknologi VM adalah integrasi lintas platform. Beberapa penerapan lainnya yang penting adalah: Konsolidasi server

Jika beberapa server menjalankan aplikasi yang hanya memakan sedikit sumber daya, VM dapat digunakan untuk menggabungkan aplikasi-aplikasi tersebut sehingga berjalan pada satu server saja, walaupun aplikasi tersebut memerlukan sistem operasi yang berbeda-beda.
Otomasi dan konsolidasi lingkungan pengembangan dan testing

Setiap VM dapat berperan sebagai lingkungan yang berbeda, ini memudahkan pengembang sehingga tidak perlu menyediakan lingkungan tersebut secara fisik.
Menjalankan perangkat lunak terdahulu

Sistem operasi dan perangkat lunak terdahulu dapat dijalankan pada sistem yang lebih baru.
Memudahkan recovery sistem

Solusi virtualisasi dapat dipakai untuk rencana recovery sistem yang memerlukan portabilitas dan fleksibilitas antar platform.
Demonstrasi perangkat lunak

Dengan teknologi VM, sistem operasi yang bersih dan konfigurasinya dapat disediakan secara cepat.

Secara umum dalam eksekusi sebuah aplikasi misalnya, kode-kode program akan diterjemahkan kedalam bahasa mesin, yang akan dieksekusi oleh kernel ke hardware.

Setelah modifikasi dalam bentuk virtual mesin, maka kode-kode program itu akan di terjemahkan ke dalam bahasa mesin berdasarkan kernel yang didefinisikan dalam virtual mesin tersebut.

B. Kelebihan
  1. Konsep mesin virtual menyediakan proteksi yang lengkap untuk pembagian sumber daya sistem induk (host) dengan virtual mesin lainya, sehingga masing masing mesin virtual dipisahkan mesin virtual yang lain. Isolasi ini tidak memperbolehkan pembagian sumber daya secara langsung sehingga tidak saling menggangu. 
  2. Sistem mesin virtual sangat sempurna untuk riset dan pengembangan sistem operasi. 
  3. Memungkinkan untuk mendefinisikan suatu jaringan dari Virtual Machine(VM) 
C. Kekurangan
  1. Sangat sulit diimplementasikan. 
  2. Membutuhkan penyediaan resource tersendiri dari sistem induk kita sesuai dengan kebutuhan sistem virtual mesin yang kita pasang. 
D. Implementasi Virtual Mesin

Java menggunakan Virtual Mesin dalam implementasinya. Java berdiri di atas sebuah mesin interpreter yang diberi nama Java Virtual Machine (JVM).

Compiler Java (yang disebut dengan javac atau Java Compiler) akan mentransformasikan kode-kode dalam bahasa Java (.java) ke dalam suatu bytecode yang disimpan dalam bentuk file .class dimana bytecode adalah sekumpulan perintah hasil kompilasi yang kemudian dapat di eksekusi melalui sebuah virtual mesin yang disebut dengan JVM (Java Virtual Machine). JVM itu sendiri terdapat dalam paket JRE (Java Runtime Environment) yang juga berisi library Java yang digunakan.

Oleh karena itu bahasa Java disebut sebagai bahasa pemrograman yang portable karena dapat dijalankan pada berbagai sistem operasi, asalkan pada system operasi tersebut terdapat JVM. Alasan utama pembentukan bahasa Java adalah untuk membuat aplikasi-aplikasi yang dapat diletakkan di berbagai macam perangkat elektronik, sehingga Java harus bersifat platform independent (tidak bergantung pada platform)

E. Perkembangan Virtual System / Machine

1. Sistem operasi MS-Windows NT dapat menjalankan aplikasi untuk MS-DOS, OS/2 mode teks dan aplikasi WIN16.

2. IBM mengembangkan WABI untuk meng-emulasikan Win32 API sehingga sistem operasi yang menjalankan WABI dapat menjalankan aplikasi-aplikasi untuk MS-Windows.Para pengembang Linux membuat DOSEMU untuk menjalankan aplikas-aplikasi DOS pada sistem operasi Linux, WINE untuk menjalankan aplikasi-aplikasi MS-Windows.

3. VMWare merupakan aplikasi komersial yang meng-abstraksikan perangkat keras intel 80x86 menjadi virtual mesin dan dapat menjalan beberapa sistem operasi lain (guest operating system) di dalam sistem operasi MS-Windos atau Linux (host operating system). VirtualBox merupakan salah satu aplikasi sejenis yang opensource.


Gambar 5. Arsitektur Virtual System / Machine

F. Jenis - Jenis Virtual Machine

Virtual machine atau mesin virtual adalah jenis perangkat lunak yang dapat menciptakan lingkungan atau platform komputer di atas sebuah platform komputer. Dengan kata lain virtual machine dapat menciptakan lingkungan atau platform komputer yang identik pada sebuah komputer, beberapa diantaranya bahkan dapat mengemulasi sebuah arsitektur komputer menjadi arsitektur komputer yang lain. Sekarang jenis virtual machine juga ada yang dapat mengemulasi sistem komputer agar dapat menjalankan sistem operasi yang lain.

Secara umum terdapat dua jenis virtual machine, yaitu:

1. Virtual Machine Aplikasi, adalah jenis virtual machine yang dapat menjalankan aplikasi di atas sistem operasi. Biasanya sering disebut sebagai middleware karena bekerja diantara sistem operasi dan aplikasi komputer. Contoh dari virtual machine ini adalah Java Virtual Machine dan Common Language Runtime.

2. Virtual Machine Sistem Operasi, adalah jenis virtual machine yang dapat menciptakan lingkungan sistem komputer atau sering disebut sebagai komputer virtual agar dapat menjalankan sistem operasi yang lain. Virtual machine ini sering disebut sebagai emulator, karena mengemulasi sistem operasi menjadi sebuah mesin virtual. Contoh dari virtual mesin ini adalah VMWare Workstation dan Microsoft Virtual PC.

Kemudian VM juga dibagi berdasarkan tingkat virtualisasinya:
Virtualisasi penuh yang mensimulasikan seluruh fitur perangkat keras sehingga memungkinkan perangkat lunak berjalan pada VM tanpa modifikasi.
Virtualisasi paruh, di mana tidak semua fitur perangkat keras disimulasikan.
Virtualisasi asli, yang mana merupakan virtualisasi penuh yang digabungkan dengan bantuan perangkat keras yang mendukung virtualisasi.

Contoh virtual machine : Vmware, Xen VMM , Java VM

Tidak ada komentar:

Posting Komentar

Post Top Ad