Nama : Septi Arnita
NPM : 16110450
Kelas : 4KA24
Proses Komunitas Java (Java Community Process)
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.
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. Dengan teknologi VM, sistem operasi yang bersih dan konfigurasinya dapat disediakan secara cepat.
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. Sistem VM adalah kendaraan yang sempurna untuk penelitian dan pengembangan sistem operasi. Dengan VM, jika terdapat suatu perubahan pada satu bagian dari mesin, maka dijamin tidak akan mengubah komponen lainnya.
- 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.
- Beberapa OS lingkungan dapat hidup berdampingan pada komputer yang sama, dalam isolasi kuat satu sama lain
- Mesin virtual dapat memberikan set instruksi arsitektur (ISA) yang agak berbeda dari mesin yang sebenarnya
- Aplikasi provisioning, pemeliharaan, tingkat ketersediaan dan pemulihan bencana
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. Solusinya adalah dengan menyediakan disk virtual atau yang dikenal pula dengan minidisk, dimana ukuran daya penyimpanannya identik dengan ukuran sebenarnya. Dengan demikian, pendekatan VM juga menyediakan sebuah antarmuka yang identik dengan perangkat keras yang mendasari.
- Mesin virtual kurang efisien daripada mesin nyata karena secara tidak langsung mengakses perangkat keras
Sebuah proses VM, kadang-kadang disebut aplikasi mesin
virtual, berjalan sebagai aplikasi biasa di dalam sebuah OS dan mendukung
proses tunggal. Hal ini tercipta ketika proses itu dimulai dan hancur ketika
keluar. Tujuannya adalah untuk menyediakan sebuah platform-independen
lingkungan pemrograman yang abstrak pergi rincian perangkat keras yang
mendasarinya atau sistem operasi, dan memungkinkan sebuah program untuk
mengeksekusi dengan cara yang sama pada platform apapun.
Sebuah proses VM memberikan abstraksi tingkat tinggi - yaitu
yang tinggi tingkat bahasa pemrograman (dibandingkan dengan tingkat rendah ISA
abstraksi dari sistem VM). VMS proses diimplementasikan menggunakan interpreter;
kinerja yang sebanding dengan bahasa pemrograman terkompilasi dicapai dengan
menggunakan just-in-time compilation .
Jenis VM ini telah menjadi populer dengan bahasa pemrograman
Java, yang diimplementasikan menggunakan mesin virtual Java. Contoh lain
termasuk Bayan mesin virtual, yang berfungsi sebagai lapisan abstraksi selama
beberapa ditafsirkan lanugages, dan. NET Framework, yang berjalan pada sebuah
VM yang disebut Common Language Runtime.
Suatu kasus khusus VMS adalah proses sistem yang abstrak atas
mekanisme komunikasi yang (berpotensi heterogen) komputer cluster. Seperti VM
tidak terdiri dari sebuah proses tunggal, tetapi satu proses per mesin fisik di
cluster. Mereka dirancang untuk memudahkan tugas pemrograman aplikasi paralel
dengan membiarkan programmer fokus pada algoritma daripada mekanisme komunikasi
yang disediakan oleh interkoneksi dan OS. Mereka tidak menyembunyikan fakta
bahwa terjadi komunikasi, dan dengan demikian tidak berusaha untuk menyajikan
cluster sebagai satu mesin paralel.
Tidak seperti proses lain VMS, sistem ini tidak menyediakan
bahasa pemrograman tertentu, tetapi tertanam dalam bahasa yang ada; biasanya
sistem seperti menyediakan binding untuk beberapa bahasa (misalnya, C dan
FORTRAN). Examples are PVM ( Parallel Virtual Machine ) and MPI ( Message
Passing Interface ). Contohnya adalah PVM (Paralel Virtual Machine) dan MPI
(Message Passing Interface). Mereka tidak ketat mesin virtual, sebagai aplikasi
yang berjalan di atas masih memiliki akses ke semua layanan OS, dan karena itu
tidak terbatas pada model sistem yang disediakan oleh "VM".