1. Virtual Machine
Virtual machine (VM) adalah suatu environment, biasanya sebuah program atau sistem operasi, yang tidak ada secara fisik tetapi dijalankan dalam environment lain. Dalam konteks ini, VM disebut “guest” sementara environment yang menjalankannya disebut “host”. Ide dasar dari virtual machine adalah mengabtraksi perangkat keras dari satu komputer (CPU, memori, disk, dst) ke beberapa environment eksekusi, sehingga menciptakan illusi bahwa masing-masing environment menjalankan komputernya (terpisah) sendiri. VM muncul karena pada satu komputer. Virtual Machine (VM) sendiri mulai dikenalkan oleh IBM ketika meluncurkansistem operasi mainframenya pada tahun 1965-an. Diperkenalkan untuk sistem S/370 dan S/390 dan disebut sebagai sistem operasi VM/ESA (Enterprise System Architecture).
Teknologi virtual machine memiliki banyak kegunaan seperti memungkinkan konsolidasi perangkat keras, memudahkan recovery sistem, dan menjalankan perangkat lunak terdahulu. 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.
KEKURANGAN VIRTUAL MACHINE. Beberapa kesulitan utama dari konsep VM, diantaranya adalah:
- 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. - Pengimplementasian sulit.
Meski konsep VM cukup baik, namun VM sulit diimplementasikan.
Contoh virtual machine : Vmware, Xen VMM , Java VM
Jenis-jenis dari VM adalah:
- VM sistem di mana sebuah VM dapat menjalankan sebuah sistem operasinya sendiri.
- VM proses di mana VM hanya menjalankan sebuah proses saja.
Kemudian VM juga dibagi berdasarkan tingkat virtualisasinya:
- Virtualisasi penuh yang mensimulasikan seluruh fitur perangkat keras sehingga memungkinkan perangkat lunak berjalan pada VM tanpa modifikasi.
- Virtualisasi paruh, di mana tidak semua fitur perangkat keras disimulasikan.
- Virtualisasi asli, yang mana merupakan virtualisasi penuh yang digabungkan dengan bantuan perangkat keras yang mendukung virtualisasi.
2. APIs
API (Application Programming Interface) adalah sekumpulan perintah, fungsi, komponen, dan protokol yang disediakan oleh sistem operasi ataupun bahasa pemrograman tertentu yang dapat digunakan oleh programmer saat membangun perangkat lunak.
Keuntungan menggunakan API:
- Probabilitas
API dapat digunakan untuk bahasa pemrograman ataupun untuk sistem operasi mana saja asalkan paket-paket API sudah terpasang. - Lebih Mudah Dimengerti
API menggunakan bahasa yang lebih terstruktur dan mudah dimengerti daripada bahasa system call. Hal ini sangat penting dalam hal editing dan pengembangan. - Mudah Dikembangkan
Dengan adanya API, memudahkan programmer untuk mengembangkan suatu system.
Cara Memakai API :
– Dilakukan dengan mengimpor package/kelas import java.util.Stack;
– Ada beberapa kelas bernama sama dipackage yang berbeda, yaitu :
– import salah satu dan gunakan nama lengkap untuk yang lain, atau
– gunakan nama lengkap semua kelas
Ada tiga jenis Bahasa Pemrograman Java Application Programming Interface (API):
* inti resmi Java API, yang terdapat dalam JDK atau JRE, dari salah satu edisi dari Java Platform. Tiga edisi dari Java Platform adalah Java ME (Micro edition), Java SE (Standard edition), dan Java EE (Enterprise edition).
* Resmi opsional API yang dapat didownload secara terpisah. Spesifikasi API ini didefinisikan sesuai dengan Spesifikasi Jawa Request (JSR), dan kadang-kadang beberapa API ini kemudian dimasukkan dalam API inti dari platform (contoh yang paling terkenal dari jenis ini adalah swing).
* API tidak resmi, yang dikembangkan oleh pihak ketiga, tetapi tidak berkaitan dengan JSRs apapun.
Contoh Terapan API :
-
Java Platform, Standard Edition (Java SE)
-
Bundled 1.1.1 API (bagian dari standar download)
-
Opsional 1.1.2 API (download terpisah)
-
Java Platform, Enterprise Edition (Java EE)
-
Bundled 1.2.1 API (bagian dari standar download)
-
Unofficial API (Dirilis oleh pihak ketiga)
-
Java Platform, Micro Edition (Java ME)
-
Opsional 1.2.2 API (download terpisah)
-
Kelas Java dan API
-
JavaBeans
-
C + + kelas dan API
-
DB2 Content Manager aturan sistem konektor
-
Tabel kontrol sistem
-
Perpustakaan pengguna server keluar
Referensi :
- http://java-virtual-machine.net/download.html
- http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/2008/240/08._Virtual_Machine_VM_.pdf
- http://en.wikipedia.org/wiki/Java_Virtual_Machine
- http://en.wikipedia.org/wiki/Partial_virtualization
- https://id.wikipedia.org/wiki/Antarmuka_pemrograman_aplikasi
- http://www.pengertianku.net/2015/04/pengertian-protokol-dan-jenisnya-pada-jaringan- komputer.html
- https://www.utopicomputers.com/perbedaan-jaringan-komputer-peer-to-peer-dan-client- server/