Beberapa saat yang lalu saya sudah membahas tentang Cloud Computing, Ring, vCPU dan virtualisasi, mungkin disini hanya menegaskan sedikit jenis virtualisasi yang biasa ditemukan pada hardware.  :o

Saya akan mengulang sedikit membahas tentang virtualiasi sendiri. Istilah  Virtualisasi  dalam  ilmu  komputasi  adalah  suatu kemampuan untuk  menciptakan versi virtual dari sesuatu.  Dalam pembahasan kali  ini (Cloud Computing) Virtualisasi   dilakukan untuk   membagi   sebuah   komputer menjadi   beberapa mesin   independen  dengan kemampuan  untuk  menjalankan OS dan Aplikasi layaknya komputer asli. Mesin  independen ini  disebut virtual  machine, sedangkan  komponen yang menjalankan dan mengatur virtual machine adalah hypervisor :travel

Nah, sekarang kita menuju pada intinya, pada dasarnya, teknik virtualisasi dibagi menjadi 3 jenis :  :nerd

1.  Full VirtualizationVMware adalah pioneer dari metode ini dengan mengkombinasikan teknik  binary translation  dan  direct  execution.  Seperti  yang terlihat pada gambar dibawah,  menterjemahkan kode kernel untuk menggantikan instruksi yang tidak bisa  divirtualisasikan dengan beberapa instruksi baru yang akan membantu virtual hardware. Sedangkan user level code mengakses   langsung  ke  processor untuk  menciptakan  virtualisasi dengan performa yang  baik. Setiap Virtual Machine Monitor (VMM) memberikan semua servis sistem  fisik, seperti  virtual BIOS, virtual devices   dan   virtualized   memory   management.   Kombinasi   binary translation dan direct execution menciptakan virtualisasi penuh dimana guest OS benar-benar terpisah dengan hardware. Meskipun pendekatan ini lebih kompleks untuk diterapkan, performansi yang dihasilkan lebih baik dibanding teknik virtualisasi awal.

2.  ParavirtualizationPara” berasal dari bahasa Yunani yang berarti “disamping” atau “dengan”.   Jika   diartikan   “dengan   virtualisasi” paravirtualization mengacu kepada  komunikasi antara guest OS dan hypervisor untuk meningkatkan  performansi  dan  efesiensi.  Seperti  pada  gambar , hypercalls  melalukan komunikasi  langsung  dengan  virtualization layer hypervisor untuk memodifikasi kernel OS  untuk menggantikan instruksi yang    tidak bisa   divirtualisasikan. Dalam teknik paravirtualization digunakan teknik yg           disebut hypercalls. Dibandingkan  dengan  full  virtualization,  overhead  teknik  ini  lebih kecil.  Paravirtualization tidak bisa  digunakan  pada  OS  yang  tidak dimodifikasi (unmodified OS) seperti windows 2000 atau XP.

Akan    lebih    sulit    untuk    membuat    sebuah    instruksi    binary translation  yang  digunakan  untuk  full  virtualization dibandingkan dengan memodifikasi guest OS untuk menjalankan paravirtualization.

3. Hardware Assisted Virtuallization Vendor perangkat keras melihat perkembangan virtualisasi dan mengembangkan fitur baru untuk mempermudah teknik virtualisasi. Sebagai  contoh Intel Virtualization Technology (VT-x) dan AMD-V dimana keduannya membidik privileged instruction dengan mode fitur eksekusi  CPU  yang  baru   dimana  memperbolehkan  VMM  untuk berjalan di layer dibawah ring 0 (new root mode). Seperti terlihat pada gambar  privileged  dan  sensitive  call  secara  otomatis  diisolasi dalam  hypervisor,  tidak  membutuhkan instruksi  binary  translation atau paravirtualisasi.

Nah, demikian sedikit pengetahuan tentang jenis-jenis virtualisasi. Teknik-teknik virtualisasi ini sebenarnya ada kaitannya dengan hypervisor. Kalau misalnya ada sedikit pertanyaan atau masih bingung, bisa bertanya dengan saya, siapa tahu saya bisa bantu, hehe :D

Semoga membantu :beer: