Perbedaan antara Mesin Virtual dan Hypervisor

29

Jika Anda Google istilah "hypervisor" Anda mendapatkan definisi tak berujung yang menyatakan hypervisor juga dikenal sebagai monitor mesin virtual atau manajer mesin virtual , dan bahwa itu adalah bentuk virtualisasi perangkat keras. Tapi, sebagai merek baru untuk VM dan konsep mereka, ini adalah definisi fuzzy bagi saya.

Jadi, apa perbedaan - dan / atau hubungan antara - mesin virtual dan hypervisornya? Adakah yang bisa memberi contoh nyata?

pnongrata
sumber
Lihat artikel wikipedia tentang hypervisors. Ada beberapa tipe berbeda, yang mungkin menjadi alasan mengapa Anda bingung. en.wikipedia.org/wiki/Hypervisor
Zoredache

Jawaban:

17

Hypervisor adalah perangkat atau perangkat lunak yang menjalankan mesin virtual. Biasanya bertanggung jawab untuk mengalokasikan sumber daya, menyediakan antarmuka antara mesin virtual ("tamu") dan sistem host serta perangkat lunak manajemen apa pun.

Jadi jika Anda menggunakan VMware Workstation untuk menjalankan mesin virtual Windows 7, VMware Workstation adalah hypervisor.

Coding Gorilla
sumber
5
Mengapa mereka tidak bisa mengatakan itu dalam dokumentasi referensi?!? Terima kasih!
pnongrata
10
Mereka tidak ingin membuatnya terlalu mudah bagi Anda, atau Anda tidak akan membayar untuk kontrak dukungan. ;)
Coding Gorilla
Jadi ... Apa perbedaan antara VMM dan Hypervisor?
allyourcode
@allyourcode Tergantung pada "VMM" yang Anda bicarakan dan dalam konteks apa.
Pengkodean Gorilla
Jawaban luar biasa, terangkat. Tetapi bagaimana dengan emulator perangkat lunak ? Bisakah kita mengatakan bahwa emulator (DOSBox) adalah perangkat lunak yang menjalankan mesin virtual?
john cj
5

Periksa tautan ini. http://blogs.msdn.com/b/virtual_pc_guy/archive/2006/07/10/661958.aspx

Jawabannya dari Blog Virtualisasi Ben Armstrong

di sini sebenarnya ada dua arti untuk 'VMM'. Yang pertama adalah 'manajer memori virtual' - ini adalah bagian dari sistem operasi Windows dan tidak ada hubungannya dengan virtualisasi komputer - dan semuanya berkaitan dengan manajemen memori sistem operasi. Ini bukan yang saya bahas hari ini :-)

Arti kedua adalah 'Monitor Mesin Virtual'. Ada sejumlah program dan implementasi yang menggunakan moniker 'Virtual Machine Monitor'. Dalam istilah yang paling sederhana - VMM adalah perangkat lunak yang bertanggung jawab untuk memantau dan menegakkan kebijakan pada mesin virtual yang menjadi tanggung jawabnya. Ini berarti bahwa VMM melacak segala sesuatu yang terjadi di dalam mesin virtual, dan bila perlu menyediakan sumber daya, mengalihkan mesin virtual ke sumber daya, atau menolak akses ke sumber daya (implementasi yang berbeda dari VMM menyediakan atau mengarahkan sumber daya ke berbagai tingkat - tetapi itu adalah topik diskusi untuk hari lain).

Secara klasik ada dua jenis VMM.

VMM tipe II adalah yang berjalan di atas sistem operasi hosting dan kemudian memunculkan mesin virtual tingkat tinggi. Contoh VMM tipe II termasuk lingkungan JavaVM dan .Net. VMM ini memantau mesin virtual mereka dan mengarahkan permintaan sumber daya ke API yang sesuai di lingkungan hosting (dengan beberapa tingkat pemrosesan di antaranya).

Tipe I VMM adalah yang berjalan langsung pada perangkat keras tanpa perlu sistem operasi hosting. Tipe I VMM juga dikenal sebagai 'hypervisors' - jadi satu-satunya perbedaan nyata antara VMM dan hypervisor adalah di mana ia berjalan. Fungsionalitas yang disediakan oleh keduanya adil. Contoh VMM tipe I termasuk solusi virtualisasi mainframe yang ditawarkan oleh perusahaan seperti Amdahl dan IBM, dan pada komputer modern dengan solusi seperti VMware ESX, Xen dan virtualisasi Windows.

Rajind Ruparathna
sumber
3

Ini adalah perpanjangan dari terminologi sistem operasi yang ada - yang merupakan salah satu dari beberapa alternatif metafora benih / kacang . program pengguna dikendalikan oleh program penyelia , dan dalam sistem non-virtual di situlah segalanya berhenti. Dengan virtualisasi, supervisor , pada gilirannya, dikendalikan (atau dipantau, atau dikelola) oleh program hypervisor .

Semua program ini adalah perangkat lunak. The mesin virtual adalah kepura-puraan dari mesin yang supervisor dan user program mengalami sendiri berjalan pada. Sepertinya perangkat keras dari dalam.

JdeBP
sumber
3
Ironisnya, dan ini di luar topik, dan jika saya ingat dengan benar, bahasa Latin "super" dan "hyper" Yunani berasal dari kata asli yang sama dan berarti hal yang sama. Bahasa Jerman "ueber" adalah saudara kandung yang lain. Jadi "pengawas" dan "hypervisor" sebenarnya adalah kata yang sama, kecuali bahwa satu semuanya Latin sedangkan yang lain setengah Latin, setengah Yunani. :-)
Andrew J. Brehm
2
Tetapi pada kenyataannya, terminologi itu semua adalah bahasa Yunani bagi kebanyakan dari kita.
Daniel R Hicks
1

Don Skiba tentang riwayat Hypervisor :

Saya bersama IBM pada tahun 1966, ketika kami mencoba untuk menginstal System 360s yang baru. Seperti yang Anda bayangkan, mengubah semua "kode lama" dari model 1401, 1440, 1410, 7080, 7090 yang lama adalah kekacauan terbesar yang ingin Anda lihat. Pada model 360 65, ada sebuah emulator untuk beberapa mesin yang lebih tua. Sebenarnya, semua model 360, kecuali model 75, adalah emulator dari set instruksi 360. Salah satu yang populer untuk model 65 adalah emulator untuk IBM 7080. Namun, Anda harus mendedikasikan mesin untuk mode 360 ​​atau mode 7080. Itu tidak membuat pelanggan kami sangat senang.

Ternyata ada beberapa register khusus pada model 65 yang tidak aktif, tetapi aktif pada model 67 yang digunakan untuk berbagi waktu dan akhirnya sistem operasi virtual, CMS. Saya meyakinkan insinyur pada model 65 bahwa kita bisa menggunakan register itu untuk bertukar antara program yang berjalan di memori bagian bawah ke program yang berjalan di bagian atas dan setengahnya bisa beroperasi dalam mode 360 ​​atau 7080. Kami hanya membutuhkan kode "kecil" untuk melakukan pertukaran, pengaturan mode, dan alokasi sumber daya (I / O). Saya meyakinkan seorang insinyur sistem di Philadelphia, yang memiliki pelanggan yang sangat membutuhkan fungsi ini, untuk menulis kode. Kami melemparkan banyak nama untuk kode pada saat itu. Saya menyarankan bahwa "hypervisor" mungkin tepat, karena, sebelum 360, tidak ada "sistem operasi" dan sistem sebelumnya semua memiliki "pengawas". Jadi, "hypervisor" sepertinya cocok dan namanya macet.

Artru
sumber