Virtual Machine
mesin virtual sistem adalah perangkat yang berupa platform sistem yang lengkap dan dapat menjalankan sebuah sistem operasi yang lengkap. 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.
Virtual Machine Monitor
Virtual machine monitor (VMM) atau hypervisor merupakan bagian dari
perangkat lunak yang membuat/mensimulasikan virtual machine. Hypervisor
merupakan istilah industri untuk menjelaskan tentang VMM. Abstraksi
mesin yang dibuat oleh VMM disebut virtual machine (VM).
VMM membuat platform virtual sehingga sistem operasi dapat berjalan
di atasnya. VMM juga berperan sebagai manajer untuk menjalankan sistem
operasi yang berjalan di atasnya. VMM merupakan teknik yang berguna
dalam menambah fungsionalitas dibawah layer OS dan layer aplikasi.
Sebagai manajer VM, VMM turut mengatur eksekusi yang berjalan di sistem
operasi yang disimulasikannya. Abstraksi VMM disebut dengan virtual
machine (VM). Perangkat keras yang di simulasikan dapat di atur sehingga
mempunyai spesifikasi yang identik dengan perangkat keras dimana VMM
diimplementasikan.VMM juga dapat meng-enkapsulasi suatu aplikasi yang
berjalan di atasnya sehingga memudahkan manajemen dan kontrol terhadap
sistem komputer.
Dengan adanya VMM maka Virtual machine yang diimplementasikan pada
sistem komputer dapat membuat abstraksi dari layer yang ada di bawahnya
sehingga dapat membuat/mensimulasikan layer aplikasi dari suatu sistem
komputer yang di inginkan.
Jenis-jenis virtual machine
Terdapat beberapa pendekatan dalam mengklarifikasi virtual machine,
dan salah satunya adalah mendefinisikannya menjadi 2 type (Type I dan
type II). Klarifikasi ini didasarkan oleh fakta bahwa kedua type virtual
machine ini bekerja dengan lower level platform yang mirip. Type I VMM
tidak menggunakan host operating system, sedangkan type II VMM
menggunakan host operating system. Type II disebut juga dengan
paravirtual machine. Karena type II VMM menggunakan host operating sytem
maka kinerjanya lebih buruk dibandingkan type I VMM.
Virtualisasi di tingkat sistem operasi
Type II melakukan virtualisasi di tingkat sistem operasi. Type II
membutuhkan host operating system untuk melakukan virtualisasi. Ketika
dilakukan inisiasi VM, pertama-tama VMM membuat komponen hardware
virtual yang memetakan abstraksi di host OS. Kemudian terjadi degradasi
performansi akibat bottlenect ketika menjalankan VM. Bottlenect yang
terjadi merupakan proses untuk menginisiasi VM. Setelah itu maka VM akan
berjalan di sistem komputer.
Terdapat tiga bottleneck penyebab virtualization overhead. Pertama,
struktur yang memisahkan dua host procesess yang menyebabkan inordinate
number dari context switches di host. Kedua, perubahan antara guest
kernel dan guest user yang menghasilkan banyaknya operasi untuk
melindungi memory (memory protection operation). Ketiga, perubahan
antara dua guest application process (atau lebih dari dua) yang
menghasilkan banyaknya operasi memory mapping.
Proses inisiasi VM yang telah dijalankan oleh VMM mempunyai
functional process untuk melakukan hal-hal tersebut. VMMM functional
process berada di host kernel. Methode untuk melakukan intercept key
events (system call and signals) di eksekusi di host kernel. Hal ini
menyebabkan VMM kernel module mempunyai control yang baik terhadap guest
machine process. Sebagai contoh kelebihannya, modul kernel VMM dapat
mengubah address guest machine process secara langsung.
Guest machine process berubah secara periodik antara guest user mode
dengan guest kernel mode. Guest kernel harus dilibatkan untuk melakukan
system call dan exception yang dilakukan oleh guest application process
dan mengolah data yang dikirim oleh virtual I/O device. Setiap kali
guest machine memproses perpindahan dari guest kernel mode ke guest user
mode maka address space guest kernel [0x7000000, 0xc0000000] harus
dilindungi dari akses yang tidak diinginkan. Sebaliknya, setiap kali
perpindahan antara guest machine memproses perpindahan antara user mode
ke guest kernel maka address space harus disediakan. Guest machine
process dapat melakukan address space manipulation karena membuat host
system calls mmap, munmap dan mprotect.
Perpindahan address space antara guest application process Dilakukan
di dalam proses virtualisasi. Perpidahan address space milik guest harus
mengubah mapping antara guest virtual pages dan page di memory file
physical tempat mesin melakukan virtualisasi. Perubahan mapping
dilakukan dengan memanggil munmap untuk mengirim address space milik
guest application process. Kemudian mmap dipanggil setiap residen di
virtual page untuk menerima guess application process.
Daftar perangkat keras dengan dukungan mesin maya
- AMD-V (sebelumnya dengan kode nama Pacifica)
- ARM TrustZone
- Boston Circuits gCore (grid-on-chip) dengan 16 inti ARC 750D dan modul virtualisasi perangkat keras mesin-waktu.
- Freescale PowerPC MPC8572 dan MPC8641D
- Kerangka induk (mainframe) IBM System/370, System/390, dan zSeries
- Intel VT (sebelumnya dengan kode nama Vanderpool)
- Sun Microsystems sun4v (UltraSPARC T1 dan T2) -- digunakan oleh Logical Domains
- HP vPAR dan nPAR berbasis sel
- Sistem Honeywell Multics
- Sistem Liberator Honeywell 200/2000 menggantikan sistem IBM 14xx, Level 62/64/66 GCOS
- IBM System/360 Model 145, perangkat keras emulator untuk sstem Honeywell 200/2000
- RCA Spectra/70 Series mengemulasikan IBM System/360
- CPU NAS mengemulasikan mesin-mesin IBM and Amdahl
- Komputer mini Honeywell Level 6 mengemulasikan pendahulunya, minikomputer 316/516/716
- CPU Xerox Sigma 6 yang dimodifikasi untuk mengemulasikan sistem GE/Honeywell 600/6000
Out Of Topic Show Konversi KodeHide Konversi Kode Show EmoticonHide Emoticon