อ่าน 3 นาที
ไฮเปอร์ไวเซอร์แบบฝังตัว
ไฮ เปอร์ไวเซอร์แบบฝังตัว (Embedded hypervisor) คือ ไฮ เปอร์ไวเซอร์ ที่รองรับความต้องการของ ระบบฝังตัว
ไฮเปอร์ไวเซอร์แบบฝังตัว
ไฮเปอร์ไวเซอร์แบบฝังตัว (Embedded hypervisor)คือ ไฮเปอร์ไวเซอร์ที่รองรับความต้องการของระบบฝังตัว
ข้อกำหนดสำหรับไฮเปอร์ไวเซอร์แบบฝังตัวนั้นแตกต่างจากไฮเปอร์ไวเซอร์ที่มุ่งเป้าไปที่แอปพลิเคชันเซิร์ฟเวอร์และเดสก์ท็อป ไฮเปอร์ไวเซอร์แบบฝังตัวได้รับการออกแบบให้รวมอยู่ในอุปกรณ์ฝังตัวตั้งแต่เริ่มต้น ไม่ใช่ถูกโหลดภายหลังจากการติดตั้งอุปกรณ์ ในขณะที่สภาพแวดล้อมเดสก์ท็อปและองค์กรใช้ไฮเปอร์ไวเซอร์เพื่อรวมฮาร์ดแวร์และแยกสภาพแวดล้อมการประมวลผลออกจากกัน ในระบบฝังตัว ส่วนประกอบต่างๆ มักจะทำงานร่วมกันเพื่อให้ฟังก์ชันการทำงานของอุปกรณ์การจำลองเสมือนบนมือถือมีความทับซ้อนกับการจำลองเสมือนในระบบฝังตัว และมีกรณีการใช้งานบางอย่างที่เหมือนกัน
คุณลักษณะทั่วไปของการจำลองเสมือนแบบฝังตัว ได้แก่ ประสิทธิภาพ ความปลอดภัย การสื่อสาร การแยก และความสามารถแบบเรียลไทม์[ 1 ]
พื้นหลัง
การจำลองเสมือนซอฟต์แวร์เป็นหัวข้อสำคัญในแวดวงธุรกิจมาตั้งแต่ปลายทศวรรษ 1960 แต่เพิ่งมีการนำมาใช้ในระบบฝังตัวตั้งแต่ต้นทศวรรษ 2000 การใช้การจำลองเสมือนและการนำไปใช้ในรูปแบบของไฮเปอร์ไวเซอร์ในระบบฝังตัวนั้นแตกต่างจากแอปพลิเคชันระดับองค์กรมาก การนำไฮเปอร์ไวเซอร์แบบฝังตัวไปใช้อย่างมีประสิทธิภาพต้องจัดการกับประเด็นต่างๆ ที่เฉพาะเจาะจงสำหรับแอปพลิเคชันดังกล่าว ประเด็นเหล่านี้รวมถึงลักษณะการบูรณาการสูงของระบบฝังตัว ความต้องการให้บล็อกการทำงานที่แยกจากกันภายในระบบสื่อสารกันได้อย่างรวดเร็ว ความต้องการประสิทธิภาพแบบเรียลไทม์/กำหนดได้ สภาพแวดล้อมเป้าหมายที่มีทรัพยากรจำกัด และข้อกำหนดด้านความปลอดภัยและความน่าเชื่อถือที่หลากหลาย
ไฮเปอร์ไวเซอร์
ไฮเปอร์ไวเซอร์ (Hypervisor)คืออุปกรณ์ที่สร้างสภาพแวดล้อมเสมือนจริงของซอฟต์แวร์อย่างน้อยหนึ่งแห่ง ซึ่งซอฟต์แวร์อื่นๆ รวมถึงระบบปฏิบัติการสามารถทำงานได้โดยดูเหมือนว่าสามารถเข้าถึงฮาร์ดแวร์ของระบบได้อย่างเต็มที่ แต่ในความเป็นจริงแล้ว การเข้าถึงนั้นอยู่ภายใต้การควบคุมของไฮเปอร์ไวเซอร์อย่างสมบูรณ์ สภาพแวดล้อมเสมือนจริงเหล่านี้เรียกว่าเครื่องเสมือน (Virtual Machine หรือ VM) และโดยทั่วไปแล้วไฮเปอร์ไวเซอร์จะรองรับ VM หลายเครื่องที่จัดการพร้อมกันได้
การจำแนกประเภท
โดยทั่วไปแล้ว ไฮเปอร์ไวเซอร์จะถูกแบ่งออกเป็นประเภทที่ 1 หรือประเภทที่ 2 ขึ้นอยู่กับว่าไฮเปอร์ไวเซอร์ทำงานเฉพาะในโหมดควบคุมดูแลหรือโหมดพิเศษ (ประเภทที่ 1) หรือทำงานอยู่ภายในระบบปฏิบัติการในฐานะแอปพลิเคชันทั่วไป (ประเภทที่ 2)
ไฮเปอร์ไวเซอร์ประเภทที่ 1 จัดการทรัพยากรระบบหลักที่จำเป็นต่อการควบคุมเครื่องเสมือน และอำนวยความสะดวกให้กับฐานการประมวลผลที่เชื่อถือได้ ขั้นต่ำ (TCB) ไฮเปอร์ไวเซอร์ประเภทที่ 2 โดยทั่วไปจะทำงานเป็นแอปพลิเคชันภายในระบบปฏิบัติการที่มีวัตถุประสงค์ทั่วไปมากกว่า โดยอาศัยบริการของระบบปฏิบัติการในการจัดการทรัพยากรระบบ ปัจจุบันมักมีการโหลดส่วนขยายเคอร์เนลเพื่อใช้ประโยชน์จากฮาร์ดแวร์ที่รองรับการจำลองเสมือน
ไฮเปอร์ไวเซอร์แบบฝังตัว
ไฮเปอร์ไวเซอร์แบบฝังตัวส่วนใหญ่มักเป็นไฮเปอร์ไวเซอร์ประเภท 1 ซึ่งรองรับความต้องการของ การพัฒนา ระบบฝังตัวดูเอกสารอ้างอิง[ 2 ]และ[ 3 ]สำหรับการอภิปรายโดยละเอียดเพิ่มเติม
ข้อกำหนดเหล่านี้สรุปได้ดังต่อไปนี้
- ไฮเปอร์ไวเซอร์ขนาดเล็กและรวดเร็ว พร้อมรองรับ VM ที่แยกจากกันหลายเครื่อง
- รองรับการห่อหุ้มส่วนประกอบระบบย่อยขนาดกลางที่มีปฏิสัมพันธ์กันอย่างมากด้วยวัสดุที่มีน้ำหนักเบาแต่ปลอดภัย
- การสื่อสารที่มีแบนด์วิดท์สูงและมีความหน่วงต่ำระหว่างส่วนประกอบของระบบ โดยอยู่ภายใต้นโยบายความปลอดภัยที่สามารถกำหนดค่าได้ทั่วทั้งระบบ
- ใช้ทรัพยากรระบบน้อยที่สุดและรับประกันความหน่วงเวลาแบบเรียลไทม์
- ความสามารถในการนำนโยบายการจัดตารางเวลามาใช้ระหว่างเครื่องเสมือน (VM) และให้การสนับสนุนส่วนประกอบระบบแบบเรียลไทม์
การดำเนินการ
โดยทั่วไปแล้ว ไฮเปอร์ไวเซอร์แบบฝังตัวจะให้เครื่องเสมือน (VM) หลายเครื่อง ซึ่งแต่ละเครื่องจะจำลองแพลตฟอร์มฮาร์ดแวร์ที่ซอฟต์แวร์เสมือนทำงานอยู่ เครื่องเสมือนอาจจำลองฮาร์ดแวร์ดั้งเดิม ซึ่งในกรณีนี้ โค้ดฝังตัวที่ทำงานบนเครื่องจริงจะทำงานบนเครื่องเสมือน และในทางกลับกัน การจำลองฮาร์ดแวร์ดั้งเดิมนั้นไม่สามารถทำได้เสมอไป หรืออาจไม่เป็นที่ต้องการเสมอไป และ อาจมีการกำหนด แพลตฟอร์มเสมือนแทน
เมื่อ VM ให้บริการแพลตฟอร์มเสมือน ซอฟต์แวร์ของระบบปฏิบัติการแขกจะต้องได้รับการดัดแปลงให้ทำงานในสภาพแวดล้อมนั้น อย่างไรก็ตาม เนื่องจากสามารถกำหนดแพลตฟอร์มเสมือนได้โดยไม่ต้องพึ่งพาฮาร์ดแวร์ดั้งเดิม ซอฟต์แวร์ของระบบปฏิบัติการแขกที่รองรับแพลตฟอร์มเสมือนจึงสามารถทำงานได้โดยไม่ต้องแก้ไขใดๆ บนแพลตฟอร์มฮาร์ดแวร์ต่างๆ ที่ไฮเปอร์ไวเซอร์รองรับ
ไฮเปอร์ไวเซอร์แบบฝังตัวใช้การจำลองเสมือนแบบพาราเวอร์ชวลไลเซชัน หรือใช้คุณสมบัติการจำลองเสมือนของซีพียูพื้นฐาน การจำลองเสมือนแบบพาราเวอร์ชวลไลเซชันจำเป็นในกรณีที่ฮาร์ดแวร์ไม่รองรับ และมักเกี่ยวข้องกับการดัดแปลงสถาปัตยกรรมหลักอย่างกว้างขวางเพื่อรองรับแกนหลักของเคอร์เนลของระบบปฏิบัติการแขก การจำลองฮาร์ดแวร์ในระดับรีจิสเตอร์นั้นพบได้น้อยในไฮเปอร์ไวเซอร์แบบฝังตัว เนื่องจากมีความซับซ้อนและช้ามาก ลักษณะเฉพาะของระบบฝังตัวหมายความว่าความจำเป็นในการรองรับซอฟต์แวร์แขกแบบไบนารีเท่านั้นที่ไม่ได้รับการดัดแปลง ซึ่งต้องใช้เทคนิคเหล่านี้ มีน้อยมาก
ขนาดและประสิทธิภาพของการใช้งานก็เป็นประเด็นสำคัญสำหรับไฮเปอร์ไวเซอร์แบบฝังตัวเช่นกัน เนื่องจากระบบฝังตัวมักมีข้อจำกัดด้านทรัพยากรมากกว่าแพลตฟอร์มเดสก์ท็อปและเซิร์ฟเวอร์ นอกจากนี้ ไฮเปอร์ไวเซอร์ควรคงไว้ซึ่งความเร็ว การตอบสนองแบบเรียลไทม์ ความแม่นยำ และประสิทธิภาพการใช้พลังงานของแพลตฟอร์มฮาร์ดแวร์พื้นฐานให้ใกล้เคียงที่สุดเท่าที่จะเป็นไปได้
การออกแบบไฮเปอร์ไวเซอร์
การใช้งานแอปพลิเคชันระบบฝังตัวส่วนใหญ่มักใช้ไมโครเคอร์เนล ขนาดเล็ก และเคอร์เนลแยกส่วนโดยมีเวอร์ชวลไลเซชันเป็นความสามารถในตัว วิธีการนี้ถูกนำมาใช้กับPikeOSในปี 2548 [ 4 ]ตัวอย่างของแนวทางเหล่านี้ผลิตโดยบริษัทต่างๆ เช่น Open Kernel Labs (ไมโครเคอร์เนลตามด้วยเคอร์เนลแยกส่วน) และLynuxWorks (เคอร์เนลแยกส่วน) VirtualLogix ดูเหมือนจะยึดถือแนวทางที่ว่าการใช้Virtual Machine Monitor (VMM) เฉพาะจะทำให้มีขนาดเล็กกว่าและมีประสิทธิภาพมากกว่า ประเด็นนี้เป็นหัวข้อของการถกเถียงกันอย่างต่อเนื่อง[ 5 ] [ 6 ] [ 7 ] อย่างไรก็ตาม ประเด็นหลักที่ถกเถียงกันนั้นเหมือนกันในทุกฝ่าย คือ ความเร็วและขนาดของการใช้งาน (สำหรับระดับฟังก์ชันการทำงานที่กำหนด) มีความสำคัญอย่างยิ่ง ตัวอย่างเช่น: "...ไฮเปอร์ไวเซอร์สำหรับการใช้งานแบบฝังตัวต้องสามารถทำงานแบบเรียลไทม์ได้ รวมถึงประหยัดทรัพยากรด้วย"
ความต้องการทรัพยากร
ระบบฝังตัวมักมีข้อจำกัดด้านทรัพยากรอย่างมากเนื่องจากต้นทุนและข้อจำกัดทางเทคนิคของฮาร์ดแวร์ ดังนั้นจึงเป็นสิ่งสำคัญที่ไฮเปอร์ไวเซอร์สำหรับระบบฝังตัวจะต้องมีประสิทธิภาพมากที่สุดเท่าที่จะเป็นไปได้ การออกแบบโดยใช้ไมโครเคอร์เนลและเคอร์เนลแยกส่วนช่วยให้สามารถสร้างไฮเปอร์ไวเซอร์ขนาดเล็กและมีประสิทธิภาพได้ ดังนั้นไฮเปอร์ไวเซอร์สำหรับระบบฝังตัวจึงมักใช้หน่วยความจำตั้งแต่หลายสิบกิโลไบต์ไปจนถึงหลายร้อยกิโลไบต์ ขึ้นอยู่กับประสิทธิภาพของการใช้งานและระดับของฟังก์ชันการทำงานที่ให้มา การใช้งานที่ต้องการหน่วยความจำหลายเมกะไบต์ (หรือมากกว่านั้น) โดยทั่วไปแล้วไม่เป็นที่ยอมรับ
ด้วย TCB ขนาดเล็กของไฮเปอร์ไวเซอร์แบบฝังตัวประเภท 1 ระบบจึงสามารถทำให้มีความปลอดภัยและเชื่อถือได้สูง[ 8 ]เทคนิควิศวกรรมซอฟต์แวร์มาตรฐาน เช่น การตรวจสอบโค้ดและการทดสอบอย่างเป็นระบบ สามารถใช้เพื่อลดจำนวนบั๊กในฐานโค้ดขนาดเล็กดังกล่าวให้เหลือเพียงเศษเสี้ยวเล็กน้อยของข้อบกพร่องที่ต้องคาดหวังสำหรับไฮเปอร์ไวเซอร์และระบบปฏิบัติการแขกที่อาจมีทั้งหมด 100,000–300,000 บรรทัด[ 9 ]
การสื่อสาร VM
หนึ่งในฟังก์ชันที่สำคัญที่สุดที่จำเป็นในไฮเปอร์ไวเซอร์แบบฝังตัวคือกลไกการส่งข้อความที่ปลอดภัย ซึ่งจำเป็นต่อการสนับสนุนการสื่อสารแบบเรียลไทม์ระหว่างกระบวนการต่างๆ ในสภาพแวดล้อมแบบฝังตัว ระบบมักจะมีงานที่เชื่อมโยงกันอย่างใกล้ชิดจำนวนมาก ซึ่งบางงานอาจต้องการการแยกออกจากกันอย่างปลอดภัย ในสภาพแวดล้อมเสมือน ไฮเปอร์ไวเซอร์แบบฝังตัวจะสนับสนุนและบังคับใช้การแยกนี้ระหว่าง VM หลายตัว ดังนั้น VM เหล่านี้จึงจำเป็นต้องเข้าถึงกลไกที่ให้การสื่อสารที่มีความหน่วงต่ำระหว่างงานต่างๆ
กลไกการสื่อสารระหว่างกระบวนการ (IPC) สามารถใช้เพื่อจัดหาฟังก์ชันเหล่านี้ รวมถึงการเรียกใช้บริการระบบทั้งหมด และนำไปใช้ในลักษณะที่รับประกันว่าระดับการแยก VM ที่ต้องการจะได้รับการรักษาไว้ นอกจากนี้ เนื่องจากมีผลกระทบอย่างมากต่อประสิทธิภาพของระบบ กลไก IPC ดังกล่าวจึงควรได้รับการปรับให้เหมาะสมอย่างมากเพื่อลดความหน่วงให้น้อยที่สุด[ 10 ]
ข้อกำหนดด้านฮาร์ดแวร์
ไฮเปอร์ไวเซอร์แบบฝังตัวจำเป็นต้องควบคุมทรัพยากรระบบอย่างสมบูรณ์ รวมถึงการเข้าถึงหน่วยความจำ เพื่อให้แน่ใจว่าซอฟต์แวร์ไม่สามารถหลุดออกจากเครื่องเสมือนได้ ดังนั้น ไฮเปอร์ไวเซอร์จึงต้องการให้ซีพียู เป้าหมาย ให้ การสนับสนุน การจัดการหน่วยความจำ (โดยทั่วไปใช้MMU ) โปรเซสเซอร์แบบฝังตัวจำนวนมาก เช่นARM , MIPSและPowerPCได้ปฏิบัติตามผู้ผลิตชิปเดสก์ท็อปและเซิร์ฟเวอร์ในการเพิ่มการสนับสนุนฮาร์ดแวร์สำหรับเวอร์ชวลไลเซชัน อย่างไรก็ตาม ยังคงมีโปรเซสเซอร์แบบฝังตัวจำนวนมากที่ไม่ให้การสนับสนุนดังกล่าว และจำเป็นต้องใช้ ไฮเปอร์ไวเซอร์ที่รองรับ พาราเวอร์ชวลไลเซชัน
โปรเซสเซอร์ ARM โดดเด่นตรงที่การออกแบบโปรเซสเซอร์ระดับแอปพลิเคชันส่วนใหญ่รองรับเทคโนโลยีที่เรียกว่า ARM TrustZone ซึ่งโดยพื้นฐานแล้วเป็นการให้การสนับสนุนฮาร์ดแวร์สำหรับ VM ที่มีสิทธิ์พิเศษและ VM ที่ไม่มีสิทธิ์พิเศษ โดยปกติแล้วระบบปฏิบัติการ Trusted Execution Environment (TEE) ที่มีขนาดเล็กที่สุดจะทำงานในโลกที่ปลอดภัย และเคอร์เนลแบบเนทีฟจะทำงานในโลกที่ไม่ปลอดภัย
กรณีศึกษา
กรณีการใช้งานทั่วไปบางส่วนสำหรับไฮเปอร์ไวเซอร์แบบฝังตัว ได้แก่: [ 11 ] [ 12 ]
1. ความเป็นอิสระจากระบบปฏิบัติการ
นักออกแบบระบบฝังตัวอาจมีไดรเวอร์ฮาร์ดแวร์และบริการระบบจำนวนมากที่เฉพาะเจาะจงสำหรับแพลตฟอร์มเป้าหมาย หากต้องการรองรับระบบปฏิบัติการมากกว่าหนึ่งระบบบนแพลตฟอร์ม ไม่ว่าจะพร้อมกันหรือต่อเนื่องกันโดยใช้การออกแบบฮาร์ดแวร์ทั่วไป ไฮเปอร์ไวเซอร์แบบฝังตัวสามารถช่วยลดความซับซ้อนของงานได้อย่างมาก ไดรเวอร์และบริการระบบดังกล่าวสามารถนำไปใช้งานเพียงครั้งเดียวสำหรับสภาพแวดล้อมเสมือนจริง จากนั้นบริการเหล่านี้จะพร้อมใช้งานสำหรับระบบปฏิบัติการใด ๆ ที่โฮสต์อยู่ ระดับของนามธรรมนี้ยังช่วยให้นักพัฒนาฝังตัวสามารถนำไปใช้งานหรือเปลี่ยนแปลงไดรเวอร์หรือบริการในฮาร์ดแวร์หรือซอฟต์แวร์ได้ทุกเมื่อ โดยที่ระบบปฏิบัติการที่โฮสต์อยู่จะไม่รับรู้ถึงการเปลี่ยนแปลงนั้น
2. รองรับระบบปฏิบัติการหลายระบบบนโปรเซสเซอร์ตัวเดียว
โดยทั่วไปแล้ว จะใช้เพื่อรันระบบปฏิบัติการแบบเรียลไทม์ (RTOS) สำหรับฟังก์ชันการทำงานแบบเรียลไทม์ระดับต่ำ (เช่น สแต็กการสื่อสาร) ในขณะเดียวกันก็รันระบบปฏิบัติการทั่วไป(GPOS)เช่นLinuxหรือWindowsเพื่อรองรับแอปพลิเคชันของผู้ใช้ เช่น เว็บเบราว์เซอร์หรือปฏิทิน วัตถุประสงค์อาจเป็นการอัปเกรดการออกแบบที่มีอยู่โดยไม่ต้องเพิ่มความซับซ้อนของโปรเซสเซอร์ตัวที่สอง หรือเพียงเพื่อลดต้นทุนวัสดุ (BoM)
3. ความปลอดภัยของระบบ
ไฮเปอร์ไวเซอร์แบบฝังตัวสามารถให้การห่อหุ้มที่ปลอดภัยสำหรับระบบย่อยใดๆ ที่นักพัฒนาได้กำหนดไว้ เพื่อป้องกันไม่ให้ระบบย่อยที่ถูกบุกรุกเข้าไปรบกวนระบบย่อยอื่นๆ ตัวอย่างเช่น ระบบย่อยการเข้ารหัสจำเป็นต้องได้รับการปกป้องอย่างเข้มงวดจากการโจมตี เพื่อป้องกันการรั่วไหลของข้อมูลที่การเข้ารหัสควรจะปกป้อง เนื่องจากไฮเปอร์ไวเซอร์แบบฝังตัวสามารถห่อหุ้มระบบย่อยไว้ในเครื่องเสมือนได้ จึงสามารถบังคับใช้นโยบายความปลอดภัยที่จำเป็นสำหรับการสื่อสารไปยังและจากระบบย่อยนั้นได้
4. ความน่าเชื่อถือของระบบ
การห่อหุ้มส่วนประกอบของระบบย่อยไว้ใน VM ช่วยให้มั่นใจได้ว่าความล้มเหลวของระบบย่อยใดๆ จะไม่ส่งผลกระทบต่อระบบย่อยอื่นๆ การห่อหุ้มนี้ช่วยป้องกันไม่ให้ความผิดพลาดแพร่กระจายจากระบบย่อยใน VM หนึ่งไปยังระบบย่อยใน VM อื่น ซึ่งช่วยเพิ่มความน่าเชื่อถือ นอกจากนี้ยังอาจช่วยให้สามารถปิดและเริ่มต้นระบบย่อยใหม่โดยอัตโนมัติเมื่อตรวจพบความผิดพลาด ซึ่งอาจมีความสำคัญอย่างยิ่งสำหรับไดรเวอร์อุปกรณ์ฝังตัว เนื่องจากเป็นจุดที่พบความผิดพลาดบ่อยที่สุด และเป็นสาเหตุที่พบบ่อยที่สุดของความล้มเหลวของระบบปฏิบัติการและความไม่เสถียรของระบบ นอกจากนี้ยังช่วยให้สามารถห่อหุ้มระบบปฏิบัติการที่ไม่ได้สร้างขึ้นตามมาตรฐานความน่าเชื่อถือที่ต้องการสำหรับการออกแบบระบบใหม่ได้อีกด้วย
5. การอัปเดตซอฟต์แวร์ระบบแบบไดนามิก
ซอฟต์แวร์หรือแอปพลิเคชันของระบบย่อยสามารถอัปเดตและทดสอบความสมบูรณ์ได้อย่างปลอดภัย โดยการดาวน์โหลดไปยังเครื่องเสมือน (VM) ที่ปลอดภัยก่อนที่จะ "ใช้งานจริง" ในระบบที่กำลังทำงานอยู่ แม้ว่ากระบวนการนี้จะล้มเหลว ระบบก็สามารถกลับคืนสู่สถานะเดิมได้โดยการรีสตาร์ทซอฟต์แวร์/แอปพลิเคชันระบบย่อยเดิม โดยไม่ต้องหยุดการทำงานของระบบ
6. การนำโค้ดเดิมกลับมาใช้ใหม่
การจำลองเสมือนช่วยให้สามารถใช้โค้ดฝังตัวแบบเดิมกับสภาพแวดล้อมระบบปฏิบัติการที่ใช้ในการพัฒนาและตรวจสอบความถูกต้องได้ ในขณะเดียวกันก็ช่วยให้นักพัฒนาสามารถใช้สภาพแวดล้อมระบบปฏิบัติการอื่นในเครื่องเสมือน (VM) แยกต่างหากสำหรับบริการและแอปพลิเคชันใหม่ๆ โค้ดฝังตัวแบบเดิมที่เขียนขึ้นสำหรับโครงสร้างระบบเฉพาะอาจควบคุมทรัพยากรระบบทั้งหมดแต่เพียงผู้เดียว ไม่ว่าจะเป็นหน่วยความจำ อินพุต/เอาต์พุต และโปรเซสเซอร์ โค้ดฐานนี้สามารถนำกลับมาใช้ใหม่ได้โดยไม่เปลี่ยนแปลงในโครงสร้างระบบอื่นๆ ของอินพุต/เอาต์พุตและหน่วยความจำ โดยใช้เครื่องเสมือน (VM) เพื่อแสดงแผนที่ทรัพยากรและฟังก์ชันการทำงานที่สอดคล้องกับโครงสร้างระบบเดิม ซึ่งเป็นการแยกโค้ดแบบเดิมออกจากรายละเอียดเฉพาะของการออกแบบฮาร์ดแวร์ใหม่หรือที่ได้รับการแก้ไขอย่างมีประสิทธิภาพ
ในกรณีที่สามารถเข้าถึงซอร์สโค้ดของระบบปฏิบัติการได้การจำลองเสมือนแบบพาราเวอร์ชวลไลเซชันมักถูกนำมาใช้เพื่อจำลองระบบปฏิบัติการบนโปรเซสเซอร์ที่ไม่มีการรองรับการจำลองเสมือนด้วยฮาร์ดแวร์ ดังนั้นแอปพลิเคชันที่ระบบปฏิบัติการรองรับจึงสามารถทำงานได้โดยไม่ต้องแก้ไขและไม่ต้องคอมไพล์ใหม่ในแพลตฟอร์มฮาร์ดแวร์รุ่นใหม่
แม้จะไม่สามารถเข้าถึงซอร์สโค้ดได้ โค้ดไบนารีแบบเก่าก็สามารถดำเนินการได้ในระบบที่ทำงานบนโปรเซสเซอร์ที่มีการสนับสนุนการจำลองเสมือนด้วยฮาร์ดแวร์ เช่น เทคโนโลยี AMD-V , Intel VT และโปรเซสเซอร์ ARMรุ่นล่าสุดที่มีการสนับสนุนการจำลองเสมือน[ 13 ] โค้ดไบนารีแบบเก่าสามารถทำงานได้อย่างสมบูรณ์โดยไม่ต้องแก้ไขใน VM โดยที่ไฮเปอร์ไวเซอร์แบบฝังตัวจะจัดการการแมปทรัพยากรทั้งหมด โดยสมมติว่าฮาร์ดแวร์ของระบบมีฟังก์ชันการทำงานที่เทียบเท่ากัน
7. การคุ้มครองทรัพย์สินทางปัญญา
ทรัพย์สินทางปัญญาที่มีค่าอาจจำเป็นต้องได้รับการปกป้องจากการโจรกรรมหรือการนำไปใช้ในทางที่ผิด เมื่อมีการจัดส่งแพลตฟอร์มฝังตัวเพื่อการพัฒนาเพิ่มเติมโดย (เช่น) ลูกค้า OEMไฮเปอร์ไวเซอร์แบบฝังตัวช่วยให้สามารถจำกัดการเข้าถึงของส่วนประกอบซอฟต์แวร์ระบบอื่นๆ ไปยังส่วนเฉพาะของระบบที่มีทรัพย์สินทางปัญญาที่ต้องได้รับการปกป้องได้
8. การแยกสิทธิ์การใช้งานซอฟต์แวร์
ซอฟต์แวร์ IP ที่ทำงานภายใต้รูปแบบการอนุญาตแบบหนึ่งสามารถแยกออกจากซอฟต์แวร์ IP อื่นที่ทำงานภายใต้รูปแบบที่แตกต่างกันได้ ตัวอย่างเช่น ไฮเปอร์ไวเซอร์แบบฝังตัวสามารถจัดเตรียมสภาพแวดล้อมการทำงานแบบแยกส่วนสำหรับซอฟต์แวร์ที่เป็นกรรมสิทธิ์ซึ่งใช้โปรเซสเซอร์ร่วมกับซอฟต์แวร์โอเพนซอร์สที่อยู่ภายใต้ GPL ได้[ 14 ]
9. การย้ายแอปพลิเคชันจากระบบแบบแกนเดี่ยวไปยังระบบแบบหลายแกน
เนื่องจากโปรเซสเซอร์รุ่นใหม่ใช้สถาปัตยกรรมแบบมัลติคอร์เพื่อเพิ่มประสิทธิภาพ ไฮเปอร์ไวเซอร์แบบฝังตัวจึงสามารถจัดการสถาปัตยกรรมพื้นฐานและนำเสนอสภาพแวดล้อมแบบโปรเซสเซอร์เดี่ยวให้กับแอปพลิเคชันและระบบปฏิบัติการรุ่นเก่า ในขณะเดียวกันก็ใช้ประโยชน์จากการออกแบบระบบมัลติโปรเซสเซอร์ใหม่ได้อย่างมีประสิทธิภาพ ด้วยวิธีนี้ การเปลี่ยนแปลงในสภาพแวดล้อมฮาร์ดแวร์จึงไม่จำเป็นต้องเปลี่ยนแปลงซอฟต์แวร์ที่มีอยู่
ผลิตภัณฑ์เชิงพาณิชย์
- Crucibleโดย Star Lab Corp. [ 15 ]
- ไฮเปอร์ไวเซอร์ข้ามระบบปฏิบัติการ - ช่วยให้แอปพลิเคชันทำงานได้อย่างราบรื่นบนแพลตฟอร์มระบบปฏิบัติการเดียว จาก MapuSoft Technologies, Inc.
- OKL4 Hypervisor - รองรับอุปกรณ์อัจฉริยะที่เชื่อมต่ออินเทอร์เน็ตได้บนพื้นฐานสถาปัตยกรรม ARM (อุปกรณ์ฝังตัว อุปกรณ์พกพา) ใช้ในแอปพลิเคชันที่เกี่ยวข้องกับการป้องกันประเทศและความปลอดภัย ได้รับการสนับสนุนเชิงพาณิชย์โดย Cog Systems
- INTEGRITY Multivisor [ 16 ] - บริการการจำลองเสมือนไมโครเคอร์เนลประเภท II ของ INTEGRITY RTOS ที่ได้รับการรับรองด้านความปลอดภัย/การรักษาความปลอดภัย