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