Konsep Desain Virtual Machine (Mesin Abstrak) Dalam

advertisement
Konsep Desain Virtual Machine (Mesin Abstrak) Dalam
Rekayasa Perangkat Lunak
oleh Rodeztyan Primanda
[email protected]
http://www.deznote.do.am
PENDAHULUAN
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).
Gambar menunjukkan aplikasi native
Nautilus diatas Desktop Gnome
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.
Dalam tulisan ini, Saya akan membahas
tentang Virtual Machine.
PEMBAHASAN
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. 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.
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
Hardware
kernel
Program System
Konsep virtual mesin itu sendiri
dimodifikasi pada level penghubung
hardware dan sistem program, dalam hal
ini adalah bentuk pengembangan level
kernel (level kedua). Bila digambarkan
dalam diagram adalah :
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
Java menggunakan Virtual Mesin dalam
implementasinya.
Javacompiler
(javac)
C compiler
.exe
.c
.class
.java
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).
DAFTAR PUSTAKA
http://saung.igoscenter.org/Konsep_Pemro
graman
http://nurilmaputri.blogspot.com/2009/10/
virtual-machine.html
http://en.wikipedia.org/wiki/Virtual_machi
ne
Windows NT
hardware
Java Runtime
Environment
(Java Virtual
Machine)
http://kambing.ui.ac.id/bebas/v06/Kuliah/S
istemOperasi/BUKU/SistemOperasi-4.X1/ch08.html
http://splinterform.blogspot.com/2011/02/a
pa-itu-java.html
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
http://d0nzzz.blogspot.com/2010/12/sejara
h-dan-definisi-virtualmachine.html?zx=6b6eec87fded1c38
Download