Referensi:
Java Community Process
atau JCP, didirikan pada tahun 1998, merupakan sebuah proses formal yang
memungkinkan pihak-pihak yang tertarik untuk terlibat dalam definisi versi dan
fitur dari platform Java. Java dikembangkan mengacu pada standar yang
ditentukan oleh komite didalam JCP (Java Community Process). Spesifikasi Java
tidak sekedar fondasi VMnya, tetapi menyangkut hampir semua aspek, mulai dari
mekanisme mengakses devices I/O, komponen pertukaran objek, sampai pengembangan
container. JCP merupakan badan yang bertanggung jawab terhadap standar
teknologi Java.
Virtual
Machine
Sebuah mesin virtual (VM) adalah sebuah perangkat lunak
implementasi sebuah mesin (misalnya komputer) yang melaksanakan program-program
seperti mesin fisik. Sebuah mesin virtual pada awalnya ditentukan oleh Popek
dan Goldberg sebagai "yang efisien, terisolasi duplikat dari mesin yang
nyata". Saat menggunakan mesin virtual yang mencakup tidak memiliki
surat-menyurat langsung ke perangkat keras yang nyata.
Mesin virtual dipisahkan ke dalam dua kategori utama, berdasarkan
tingkat penggunaan dan korespondensi untuk mesin nyata. Sebuah sistem mesin
virtual yang lengkap menyediakan platform sistem yang mendukung pelaksanaan
lengkap sistem operasi (OS). Sebaliknya, mesin virtual sebuah proses yang
dirancang untuk menjalankan sebuah program, yang berarti bahwa ia mendukung
satu proses. Karakteristik penting dari sebuah mesin virtual yang berjalan di
dalam perangkat lunak adalah terbatas pada sumber daya dan abstraksi yang
disediakan oleh mesin virtual tidak dapat keluar dari dunia virtual.
Contoh:
Suatu
program yang ditulis dalam Java menerima jasa dari Java Runtime Environment
(JRE) perangkat lunak dengan mengeluarkan perintah untuk, dan menerima hasil
yang diharapkan dari, perangkat lunak Java. Dengan memberikan layanan ini untuk
program tersebut, perangkat lunak Java bertindak sebagai "mesin
virtual", menggantikan sistem operasi atau hardware untuk program yang
biasanya akan disesuaikan.
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.
Kelebihan
Virtual Machine (VM)
- Hal keamanan.
VM memiliki perlindungan yang lengkap pada berbagai sistem sumber
daya, yaitu dengan meniadakan pembagian sumber daya secara langsung, sehingga
tidak ada masalah proteksi dalam VM.
- Memungkinkan untuk mendefinisikan suatu jaringan dari Virtual Machine (VM).
Tiap-tiap bagian mengirim
informasi melalui jaringan komunikasi virtual. Sekali lagi, jaringan dimodelkan
setelah komunikasi fisik jaringan diimplementasikan pada perangkat lunak.
Kekurangan
Virtual Machine (VM):
- Sistem penyimpanan.
Sebagai contoh kesulitan dalam sistem penyimpanan adalah sebagai
berikut: Andaikan kita mempunyai suatu mesin yang memiliki 3 disk drive namun
ingin mendukung 7 VM. Keadaan ini jelas tidak memungkinkan bagi kita untuk
dapat mengalokasikan setiap disk drive untuk tiap VM, karena perangkat lunak
untuk mesin virtual sendiri akan membutuhkan ruang disk secara substansial
untuk menyediakan memori virtual dan spooling.
- Pengimplementasian sulit.
Meski konsep VM cukup baik, namun VM sulit diimplementasikan.
No comments:
Post a Comment