SISTEM OPERASI
Virtual
Machine(VM) adalah sebuah mesin yang mempunyai dasar logika yang menggunakan pendekatan
lapisan-lapisan (layers) dari sistem komputer. Sehingga sistem komputer dengan
tersendiri dibangun atas lapisan-lapisan tersebut, dengan urutan lapisannya
mulai dari lapisan terendah sampai lapisan teratas adalah sebagai berikut:
- Perangkat keras (semua bagian fisik komputer).
- Kernel (program untuk mengontrol disk dan sistem file, multi-tasking, load-balancing, networking dan security).
- Sistem program (program yang membantu general user).
Kernel
yang berada pada lapisan kedua ini, menggunakan instruksi perangkat keras untuk
menciptakan seperangkat system call yang dapat digunakan oleh komponen-komponen
pada level sistem program.
Sistem
program kemudian dapat menggunakan system call dan perangkat keras lainnya
seolah-olah pada level yang sama. Meskipun sistem program berada di level tertinggi
, namun program aplikasi bisa melihat segala sesuatu pada tingkatan dibawahnya
seakan-akan mereka adalah bagian dari mesin.
Pendekatan
dengan lapisan-lapisan inilah yang kemudian menjadi kesimpulan logis pada
konsep Virtual Machine(VM).
Saat
ini, teknologi terbaru sistem operasi yang cukup populer adalah virtualisasi.
Secara harfiah, virtual berarti tidak nyata tapi seolah-olah nyata. Jadi
pengertian virtualisasi adalah sebuah teknik atau cara untuk membuat sistem
operasi dalam bentuk virtual, tidak seperti kenyataan yang ada. Virtualisasi
juga digunakan untuk mengemulasikan perangkat fisik komputer, dengan cara
membuatnya seolah-olah perangkat tersebut tidak ada (disembunyikan) atau bahkan
menciptakan perangkat yang tidak ada menjadi ada. Kita bisa menggunakan
beberapa sistem operasi yang berbeda dalam satu komputer dengan teknologi ini.
Misal saat ini kita menggunakan komputer dengan sistem operasi Windows 7.
Dengan
virtualisasi, kita dapat menggunakan sistem operasi yang lain (misalnya :
Linux, Windows XP, dll) dalam komputer yang sama. Untuk melakukan virtualisasi,
membutuhkan perangkat lunak yang memiliki kemampuan untuk membuat sebuah
komputer secara virtual. Salah satunya dengan menggunakan virtual machine
(mesin virtual). Virtual Machine atau mesin virtual adalah sistem operasi yang
bersifat interaktif dan multiuser. Yang dimaksud dengan interaktif adalah bahwa
antara pengguna dan VM terdapat komunikasi dua arah, sedangkan yang dimaksud
dengan multiuser adalah bahwa beberapa orang pengguna dapat memakai VM pada
saat yang bersamaan. Ini menunjukkan bahwa penggunaan VM secara efektif dapat
memberikan keuntungan bagi user karena dengan demikian sistem komputasi menjadi
lebih produktif. 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). Keunggulannya
bagi desainer sistem operasi atau arsitektur virtual machine adalah karena sistem
ini mudah untuk debug, dan masalah keamanan yang mudah untuk dipecahkan. Mesin
virtual juga menyediakan platform yang
baik untuk operasi
penelitian sistem karena banyak sistem operasi yang berbeda dapat berjalan pada satu sistem fisik.
Kekurangan
Virtual Machine(VM)
Ada
beberapa kesulitan utama dari konsep VM, diantaranya adalah:
- Dalam 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 substansi 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 underlying bare hardware.
- Dalam hal pengimplementasian. Meski konsep VM cukup baik, namun VM sulit diimplementasikan.
Kelebihan
Virtual Machine(VM)
Terlepas
dari segala kekurangannya, VM memiliki beberapa keunggulan, antara lain :
- Dalam hal keamanan. VM memiliki perlindungan yang lengkap pada berbagai sistem sumber daya, yaitu dengan meniadakan pembagian resources 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.
Contoh Virtual Machine
IBM VM
Istilah
Virtual Machine(VM) sendiri mulai dikenalkan oleh IBM ketika meluncurkan sistem
operasi mainframenya pada tahun 1965-an. Diperkenalkan untuk sistem S/370 dan
S/390 dan disebut sebagai sistem operasi VM/ESA (Enterprise System
Architecture). Sehingga sering menimbulkan kebingungan antara penamaan produk
atau penamaan mekanisme. Banyak orang yang menyebut, walau memiliki mekanisme
Virtual Machine(VM) tetapi bila bukan dari sistem IBM tersebut, maka tidak
disebut dengan Virtual Machine.
Pada
penjelasan ini, istilah Virtual Machine(VM) adalah suatu jenis mekanisme
virtualisasi suatu mesin di atas mesin lainnya. Jadi bukan jenis produk dari
salah satu vendor dengan nama Virtual Machine. Terdapat beberapa kegunaan dari
Virtual Machine(VM), pada umumnya tampak untuk
menggambarkan
program yang bertindak selayaknya mesin.
VMware
Pada
GNU/Linux salah satu virtual machine yang terkenal adalah VMware http://www.vmware.com. 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).
Gambar
8.1. Contoh skema penggunaan pada VMware versi ESX Servers
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.
.NET Framework
.NET
Framework merupakan suatu komponen Windows yang terintegrasi yang dibuat dengan
tujuan pengembangan berbagai macam aplikasi serta menjalankan aplikasi generasi
mendatang termasuk pengembangan aplikasi XML Web Services.
Keuntungan
Menggunakan .NET Framework
- Mudah. Yang dimaksud mudah di sini adalah kemudahan developer untuk membuat aplikasi yang dijalankan di .NET Framework. Mendukung lebih dari 20 bahasa pemrograman : VB.NET, C#, J#, C++, Pascal, Phyton (IronPhyton), PHP (PhLager.
- Efisien. Kemudahan pada saat proses pembuatan aplikasi, akan berimplikasi terhadap efisiensi dari suatu proses produktivitas, baik efisien dalam hal waktu pembuatan aplikasi atau juga efisien dalam hal lain, seperti biaya (cost.
- Konsisten. Kemudahan-kemudahan pada saat proses pembuatan aplikasi, juga bisa berimplikasi terhadap konsistensi pada aplikasi yang kita buat. Misalnya, dengan adanya Base Class Library, maka kita bisa menggunakan objek atau Class yang dibuat untuk aplikasi berbasis windows pada aplikasi berbasis web. Dengan adanya kode yang bisa dintegrasikan ke dalam berbagai macam aplikasi ini, maka konsistensi kode-kode aplikasi kita dapat terjaga.
- Produktivitas. Semua kemudahan-kemudahan di atas, pada akhirnya akan membuat produktivitas menjadi lebih baik. Produktivitas naik, terutama produktivitas para developer, akan berdampak pada meningkatnya produktivitas suatu perusahaan atau project.
0 komentar :
Posting Komentar