VIRTUAL MACHINE

VIRTUAL MACHINE


Mesin virtual atau mesin maya (Inggris: virtual machine, disingkat vm) dalam ilmu komputer adalah implementasi perangkat lunak dari sebuah mesin komputer yang dapat menjalankan program sama seperti layaknya sebuah komputer asli.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.


Contoh, 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 pula.
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
.
Sistem virtual machine
Sistem mesin maya mempunyai pembagian dasar sumber daya mesin phisik antar mesin maya berbeda, masing-masing menjalankan sistem operasi sendiri. Lapisan Perangkat lunak yang menyediakan virtualisasi disebut suatu monitor mesin maya atau hypervisor.







Proses mesin maya.
Suatu proses VM hubungi dengan aplikasi mesin maya sebagai aplikasi normal di dalam suatu operasi dan mendukung proses tunggal.dijalankan ketika proses dimulai dan dibinasakan ketika berakhir. Tujuannya adalah untuk menyediakan suatu platform-independent yang memprogram lingkungan yang memisahkan perangkat keras atau sistem operasi, dan mengijinkan suatu program untuk melaksanakan dengan cara yang sama manapun platform.

Suatu proses VM menyediakan suatu abstrak tingkat tinggi atau bahasa program tingkat tinggi ( dibandingkan dengan ISA abstrak yang low-level Proses VMS.diterapkan dengan menggunakan suatu interpreter; capaian yang dapat dibandingkan dengan bahasa program yang di-compile oleh penggunaan .VM jenis ini telah menjadi populer di antara Bahasa program java
Virtualisasi penuh
Virtualisasi penuh dalam ilmu komputer ialah teknik virtualisasi yang digunakan untuk implementasi pada berbagai macam lingkungan virtual machine: Salah satunya menyediakan simulasi lengkap yang mendasari suatu hardware. Hasilnya adalah sebuah system yang mampu mengeksekusi semua perangkat lunak pada perangkat keras yang bias dijalankan pada Virtual Machine(VM), termasuk semua sistem operasi.
Setiap user CP/CMS telah disediakan sebuah simulasi, komputer yang berdiri sendiri (stand-alone computer). Setiap mesin virtual serupa telah mempunyai kemampuan lengkap mesin yang mendasar, dan untuk user Virtual Machine (VM)telah tak dapat dibedakan dengan sistem privasi. Simulasi ini sangat luas, dan didasarkan pada prinsip operasi manual untuk perangkat keras. Jadi termasuk setiap elemen sebagai set instruksi, main memory, intrupsi, exceptions, dan akses peralatan. Hasilnya ialah sebuah mesin tunggal yang dapat menjadi multiplexed diantara banyak user. Virtualisasi penuh hanya mungkin diberikan pada kombinasi yang benar dari elemen hardware dan software. Sebagai contoh, tidak mungkin dengan kebanyakan system IBM pada seri 360, hanya dengan IBM sistem 360-67.
Tantangan utama pada virtualisasi penuh ada pada intersepsi dan simulasi dari operasi yang memiliki hak istimewa seperti instruksi I/O.Efek dari setiap operasi yang terbentuk dengan penggunaan Virtual Machine(VM) haruslah dirawat dalam Virtual Machine(VM) itu operasi virtual tidak diijinkan untuk diubah state dari virtual mesin lainnya, control program atau hardware. Beberapa instruksi mesin dapat di eksekusi secara langsung oleh hardware.



Semenjak itu efek sepenuhnya terkandung di dalam elemen yang dimanage oleh program kontrol, seperti lokasi memori dan register aritmatik. Tetapi instruksi lain yang dikenal dapat menembus mesin virtual tidak diijinkan untuk langsung di eksekusi, haruslah sebagai gantinya dikurung dan disimulasi.
Beberapa instruksi baik akses atau pengaruh state informasi berada di luar Virtual Machine(VM). Virtualisasi penuh telah terbukti sukses untuk sharing sistem diantara banyak user dan mengisolasi user dari user yang lainnya untuk reabilitas (kepercayaan) dan keamanan.

VMware

Pada GNU/Linux salah satu virtual machine yang terkenal adalah VMware. VMware memungkinkan beberapa sistem operasi dijalankan pada satu mesin PC tunggal secara bersamaan. Hal ini dapat dilakukan tanpa melakukan partisi ulang dan boot ulang. Pada Virtual Machine(VM) yang disediakan akan dijalankan sistem operasi sesuai dengan yang diinginkan. Dengan cara ini maka pengguna dapat memboot suatu sistem operasi (misal Linux) sebagai sistem operasi tuan rumah ( host) dan lalu menjalankan sistem operasi lainnya misal MS Windows. Sistem operasi yang dijalankan di dalam sistem operasi tuan rumah dikenal dengan istilah sistem operasi tamu ( guest).
Kebanyakan orang berpikir bahwa secara logisnya VMware diibaratkan sebagai software yang sering digunakan untuk keperluan percobaan game, aplikasi, untuk meng-install dua sistem operasi dan menjalankannya (misalnya Windows maupun Linux) pada harddisk yang sama tanpa memerlukan logout dari sistem operasi yang lainnya, secara gampang kita hanya tinggal menekan Alt + Tab untuk mengganti SO.
Akan tetapi pada dasarnya VMware bukanlah emulator, karena tidak mengemulasikan CPU dan perangkat keras di dalam suatu Virtual Machine(VM), tetapi hanya membolehkan sistem operasi lainnya dijalankan secara paralel dengan sistem operasi yang telah berjalan. Setiap Virtual Machine(VM) dapat memiliki alamat IP sendiri (jika mesin tersebut di suatu jaringan), dan pengguna dapat menganggapnya sebagai mesin terpisah

Xen VMM

Xen adalah open source virtual machine monitor, dikembangkan di University of Cambridge. Dibuat dengan tujuan untuk menjalankan sampai dengan seratus sistem operasi ber-fitur penuh ( full featured OSs) di hanya satu komputer.


Virtualisasi Xen menggunakan teknologi paravirtualisasi menyediakan isolasi yang aman, pengatur sumberdaya, garansi untuk quality-of-services dan live migration untuk sebuah mesin virtual.
Untuk menjalankan Xen, sistem operasi dasar harus dimodifikasi secara khusus untuk kebutuhan tersendiri dan dengan cara ini dicapai kinerja virtualisasi sangat tinggi tanpa hardware khusus.

Java VM

Program Java yang telah dikompilasi adalah platform-neutral bytecodes yang dieksekusi oleh Java Virtual Machine(JVM). JVM sendiri terdiri dari: class loader, class verification, runtime interpreter, Just In-Time(JIT) untuk meningkatkan kinerja kompilator.
Bahasa mesin terdiri dari sekumpulan instruksi yang sangat sederhana dan dapat dijalankan secara langsung oleh CPU dari suatu komputer. Sebuah program yang dibuat dengan bahasa tingkat tinggi tidak dapat dijalankan secara langsung pada komputer. Untuk dapat dijalankan, program tersebut harus ditranslasikan kedalam bahasa mesin. Proses translasi dilakukan oleh sebuah program yang disebut compiler.
Setelah proses translasi selesai, program bahasa-mesin tersebut dapat dijalankan, tetapi hanya dapat dijalankan pada satu jenis komputer. Hal ini disebabkan oleh setiap jenis komputer memiliki bahasa mesin yang berbeda-beda. Alternatif lain untuk mengkompilasi program bahasa tingkat tinggi selain menggunakan compiler, yaitu menggunakan interpreter. Perbedaan antara compiler dan interpreter adalah compiler mentranslasi program secara keseluruhan sekaligus, sedangkan interpreter menstranslasi program secara instruksi per instruksi. Java dibuat dengan mengkombinasikan antara compiler dan interpreter.
Program yang ditulis dengan java di- compile menjadi bahasa mesin. Tetapi bahasa mesin untuk komputer tersebut tidak benar-benar ada. Oleh karena itu disebut "Virtual" komputer, yang dikenal dengan Java Virtual Machine (JVM).
Bahasa mesin untuk JVM disebut Java bytecode. Salah satu keunggulan dari Java adalah dapat digunakan atau dijalankan pada semua jenis komputer. Untuk menjalankan program Java, komputer membutuhkan sebuah interpreter untuk Java bytecode.
Interpreter berfungsi untuk mensimulasikan JVM sama seperti virtual computer mensimulasikan PC komputer. Java bytecode yang dihasilkan oleh setiap


jenis komputer berbeda-beda, sehingga diperlukan interpreter yang berbeda pula untuk setiap jenis komputer. Tetapi program Java bytecode yang sama dapat dijalankan pada semua jenis komputer yang memiliki Java bytecode.

Tidak ada komentar:

Posting Komentar