ความแตกต่างระหว่าง Virtual Machine กับ Hypervisor


29

หากคุณใช้ Google คำว่า "ไฮเปอร์ไวเซอร์" คุณจะได้คำจำกัดความที่ไม่รู้จบซึ่งระบุว่าไฮเปอร์ไวเซอร์นั้นรู้จักกันในชื่อเครื่องตรวจสอบเครื่องเสมือนหรือผู้จัดการเครื่องเสมือนและเป็นรูปแบบของการจำลองเสมือนสำหรับฮาร์ดแวร์ แต่เป็นแบรนด์ใหม่สำหรับ VMs และแนวคิดของพวกเขานี่คือคำจำกัดความคลุมเครือสำหรับฉัน

ดังนั้นอะไรคือความแตกต่าง - และ / หรือความสัมพันธ์ระหว่าง - เครื่องเสมือนและไฮเปอร์ไวเซอร์ ใครสามารถยกตัวอย่างที่เป็นรูปธรรมได้บ้าง


ดูบทความวิกิพีเดียเกี่ยวกับไฮเปอร์ไวเซอร์ มีสองประเภทที่แตกต่างกันซึ่งอาจเป็นส่วนหนึ่งที่ทำให้คุณสับสน en.wikipedia.org/wiki/Hypervisor
Zoredache

คำตอบ:


17

ไฮเปอร์ไวเซอร์คืออุปกรณ์หรือซอฟต์แวร์ที่รันเครื่องเสมือน โดยทั่วไปจะรับผิดชอบในการจัดสรรทรัพยากรโดยจัดหาอินเทอร์เฟซระหว่างเครื่องเสมือน ("แขก") และระบบโฮสต์รวมถึงซอฟต์แวร์การจัดการใด ๆ

ดังนั้นหากคุณใช้ VMware Workstation เพื่อเรียกใช้เครื่องเสมือน Windows 7 VMware Workstation คือไฮเปอร์ไวเซอร์


5
ทำไมพวกเขาถึงพูดแบบนั้นไม่ได้ในเอกสารอ้างอิง?!? ขอบคุณ!
pnongrata

10
พวกเขาไม่ต้องการทำให้ง่ายเกินไปสำหรับคุณหรือคุณจะไม่จ่ายเงินสำหรับสัญญาการสนับสนุน ;)
เข้ารหัส Gorilla

ดังนั้น ... อะไรคือความแตกต่างระหว่าง VMM และไฮเปอร์ไวเซอร์?
allyourcode

@allyourcode ขึ้นอยู่กับ "VMM" ที่คุณกำลังพูดถึงและในบริบทใด
เข้ารหัส Gorilla

คำตอบที่ยอดเยี่ยม upvoted แต่ผู้เลียนแบบซอฟต์แวร์ล่ะ? เราสามารถพูดได้ว่าอีมูเลเตอร์ (DOSBox) เป็นซอฟต์แวร์ที่รันเครื่องเสมือนหรือไม่?
john cj

5

ตรวจสอบลิงค์นี้ http://blogs.msdn.com/b/virtual_pc_guy/archive/2006/07/10/661958.aspx

คำตอบมาจากบล็อกการจำลองเสมือนของ Ben Armstrong

นี่คือความหมายสองประการสำหรับ 'VMM' สิ่งแรกคือ 'ตัวจัดการหน่วยความจำเสมือน' - นี่เป็นส่วนหนึ่งของระบบปฏิบัติการ Windows และไม่มีส่วนเกี่ยวข้องกับการจำลองเสมือนของคอมพิวเตอร์ - และทุกอย่างที่เกี่ยวกับการจัดการหน่วยความจำระบบปฏิบัติการ นี่ไม่ใช่สิ่งที่ฉันกำลังพูดถึงในวันนี้ :-)

ความหมายที่สองคือ 'การตรวจสอบเครื่องเสมือน' มีโปรแกรมและการใช้งานที่แตกต่างกันจำนวนมากซึ่งใช้ชื่อเล่นว่า 'Virtual Machine Monitor' ในเงื่อนไขที่ง่ายที่สุด - VMM คือชิ้นส่วนของซอฟต์แวร์ที่รับผิดชอบในการตรวจสอบและบังคับใช้นโยบายบนเครื่องเสมือนที่รับผิดชอบ ซึ่งหมายความว่า VMM ติดตามทุกสิ่งที่เกิดขึ้นภายในเครื่องเสมือนและเมื่อจำเป็นต้องจัดหาทรัพยากรเปลี่ยนเส้นทางเครื่องเสมือนไปยังทรัพยากรหรือปฏิเสธการเข้าถึงทรัพยากร (การใช้งานที่แตกต่างกันของ VMM ให้หรือเปลี่ยนเส้นทางทรัพยากรไปในระดับที่แตกต่างกัน หัวข้อการอภิปรายอีกวัน)

คลาสสิกมี VMM สองประเภท

ประเภท II VMM เป็นหนึ่งเดียวที่ทำงานอยู่ด้านบนของระบบปฏิบัติการโฮสติ้งแล้ววางไข่เครื่องเสมือนระดับสูงกว่า ตัวอย่างของ type II VMMs ประกอบด้วยสภาพแวดล้อม JavaVM และ. Net VMMs เหล่านี้จะตรวจสอบเครื่องเสมือนของพวกเขาและเปลี่ยนเส้นทางคำขอทรัพยากรไปยัง API ที่เหมาะสมในสภาพแวดล้อมการโฮสต์ (ด้วยการประมวลผลบางระดับในระหว่างนั้น)

Type I VMM เป็นอุปกรณ์ที่ทำงานโดยตรงบนฮาร์ดแวร์โดยไม่จำเป็นต้องใช้ระบบปฏิบัติการโฮสติ้ง Type I VMM เรียกอีกอย่างว่า 'hypervisors' - ดังนั้นความแตกต่างที่แท้จริงระหว่าง VMM และไฮเปอร์ไวเซอร์จึงเป็นที่ที่มันทำงาน ฟังก์ชั่นที่จัดทำโดยทั้งสองมีความเท่าเทียมกัน ตัวอย่างของ Type I VMMs รวมถึงโซลูชันการจำลองเสมือนของเมนเฟรมที่นำเสนอโดย บริษัท เช่น Amdahl และ IBM และบนคอมพิวเตอร์ที่ทันสมัยโดยโซลูชันเช่น VMware ESX, Xen และ Windows virtualization


3

นี้เป็นส่วนขยายของคำศัพท์ที่มีอยู่ในระบบปฏิบัติการ - หนึ่งที่เป็นหนึ่งในหลายทางเลือกที่จะเมล็ด / ถั่วอุปมา โปรแกรมผู้ใช้ถูกควบคุมโดยโปรแกรมผู้ดูแลและในระบบที่ไม่ใช่เสมือนซึ่งเป็นสิ่งที่หยุด ด้วย virtualization หัวหน้างานจะกลับควบคุม (หรือตรวจสอบหรือจัดการ) โดยโปรแกรม ไฮเปอร์ไวเซอร์

โปรแกรมเหล่านี้ทั้งหมดเป็นโปรแกรม เครื่องเสมือนเป็นข้ออ้างของเครื่องที่ผู้บังคับบัญชาและผู้ใช้โปรแกรมได้สัมผัสกับตัวเองที่ทำงานบน ดูเหมือนว่าฮาร์ดแวร์จากภายใน


3
แดกดันและนี่คือนอกหัวข้อและถ้าฉันจำได้อย่างถูกต้องละติน "สุดยอด" และ "ไฮเปอร์" กรีก "สืบทอดมาจากคำเดิมและหมายถึงสิ่งเดียวกัน ภาษาเยอรมัน "ueber" เป็นพี่น้องอีกคนหนึ่ง ดังนั้น "ผู้ควบคุม" และ "ไฮเปอร์ไวเซอร์" จึงเป็นคำเดียวกันยกเว้นภาษาละตินทั้งหมดในขณะที่อีกภาษาหนึ่งเป็นภาษาละตินครึ่งภาษากรีกครึ่ง :-)
Andrew J. Brehm

2
แต่ในความเป็นจริงแล้วคำศัพท์นั้นเป็นภาษากรีกทั้งหมดสำหรับพวกเราส่วนใหญ่
Daniel R Hicks

1

Don Skiba เกี่ยวกับประวัติ Hypervisor :

ฉันอยู่กับ IBM ในปี 1966 เมื่อเราพยายามติดตั้ง System 360s ใหม่ อย่างที่คุณอาจจินตนาการว่าการแปลง "รหัสเก่า" ทั้งหมดจากรุ่น 1401, 1440, 1410, 7080, 7090 เป็นระเบียบที่ยิ่งใหญ่ที่สุดที่คุณอยากเห็น ในรุ่น 360 65 มีเครื่องจำลองสำหรับเครื่องเก่าสองเครื่อง ที่จริงแล้วโมเดล 360 ทั้งหมดยกเว้นรุ่น 75 เป็นอีมูเลเตอร์ของชุดคำสั่ง 360 สิ่งที่ได้รับความนิยมสำหรับรุ่น 65 คืออีมูเลเตอร์สำหรับ IBM 7080 อย่างไรก็ตามคุณต้องอุทิศเครื่องเป็นโหมด 360 หรือโหมด 7080 นั่นไม่ได้ทำให้ลูกค้าของเรามีความสุขมาก

ปรากฎว่ามีการลงทะเบียนพิเศษในรุ่น 65 ที่ไม่ได้ใช้งาน แต่ใช้งานในรุ่น 67 ที่ใช้สำหรับการแบ่งปันเวลาและในที่สุดก็เป็นระบบปฏิบัติการเสมือน CMS ฉันโน้มน้าววิศวกรของรุ่น 65 ว่าเราสามารถใช้รีจิสเตอร์เหล่านั้นเพื่อสลับระหว่างโปรแกรมที่ทำงานในหน่วยความจำครึ่งล่างของโปรแกรมที่ทำงานในครึ่งบนและครึ่งหนึ่งสามารถทำงานในโหมด 360 หรือ 7080 เราต้องการรหัส "น้อย" เพื่อทำการสลับการตั้งค่าโหมดและการจัดสรรทรัพยากร (I / O) ฉันเชื่อว่าวิศวกรระบบในฟิลาเดลเฟียซึ่งมีลูกค้าที่ต้องการฟังก์ชั่นนี้อย่างยิ่งยวดในการเขียนรหัส เราโยนชื่อไปหลายรหัสในเวลานั้น ฉันแนะนำว่า "ไฮเปอร์ไวเซอร์" อาจเหมาะสมเพราะก่อนยุค 360 ไม่มี "ระบบปฏิบัติการ" และระบบก่อนหน้านี้ทุกคนมี "ผู้บังคับบัญชา" ดังนั้น "ไฮเปอร์ไวเซอร์" จึงดูเหมาะสมและมีชื่อติดอยู่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.