การเปิดตัวไฮเปอร์ไวเซอร์ Bareflank 3.0

ไฮเปอร์ไวเซอร์ Bareflank 3.0 เปิดตัวแล้ว ซึ่งเป็นชุดเครื่องมือสำหรับการพัฒนาไฮเปอร์ไวเซอร์เฉพาะทางอย่างรวดเร็ว Bareflank เขียนด้วย C++ และรองรับ C++ STL สถาปัตยกรรมโมดูลาร์ของ Bareflank ทำให้ง่ายต่อการขยายความสามารถของไฮเปอร์ไวเซอร์ที่มีอยู่ และสร้างตัวเลือกไฮเปอร์ไวเซอร์ของคุณเอง ทั้งการทำงานบนฮาร์ดแวร์ (เช่น Xen) และการทำงานในสภาพแวดล้อมซอฟต์แวร์ที่มีอยู่ (เช่น VirtualBox) เป็นไปได้ที่จะเรียกใช้ระบบปฏิบัติการของสภาพแวดล้อมโฮสต์ในเครื่องเสมือนแยกต่างหาก รหัสโครงการแจกจ่ายภายใต้ใบอนุญาต LGPL 2.1

Bareflank รองรับ Linux, Windows และ UEFI บนซีพียู Intel และ AMD แบบ 64 บิต เทคโนโลยี Intel VT-x ใช้สำหรับการแบ่งพาร์ติชันฮาร์ดแวร์ของทรัพยากรเครื่องเสมือน มีการวางแผนรองรับระบบ macOS และ BSD ในอนาคต รวมถึงความสามารถในการทำงานบนแพลตฟอร์ม ARM64 นอกจากนี้ โครงการยังพัฒนาไดรเวอร์ของตัวเองสำหรับการโหลด VMM (Virtual Machine Manager) ตัวโหลด ELF สำหรับการโหลดโมดูล VVM และแอปพลิเคชัน bfm สำหรับควบคุมไฮเปอร์ไวเซอร์จากพื้นที่ผู้ใช้ ชุดเครื่องมือมีไว้สำหรับเขียนส่วนขยายโดยใช้องค์ประกอบที่กำหนดไว้ในข้อกำหนดเฉพาะของ C++ 11/14 ไลบรารีการคลายสแต็กข้อยกเว้น (คลาย) รวมถึงไลบรารีรันไทม์ของตัวเองเพื่อรองรับการใช้ตัวสร้าง/ตัวทำลาย และการลงทะเบียนตัวจัดการข้อยกเว้น

บนพื้นฐานของ Bareflank การพัฒนาระบบเสมือนจริงของ Boxy กำลังอยู่ในระหว่างดำเนินการ ซึ่งรองรับการเปิดตัวระบบแขก และอนุญาตให้ใช้เครื่องเสมือนน้ำหนักเบากับ Linux และ Unikernel เพื่อเรียกใช้บริการหรือแอปพลิเคชันพิเศษ ในรูปแบบของบริการแยก คุณสามารถเรียกใช้ทั้งบริการเว็บและแอปพลิเคชันทั่วไปที่มีข้อกำหนดพิเศษสำหรับความน่าเชื่อถือและความปลอดภัย โดยปราศจากอิทธิพลของสภาพแวดล้อมโฮสต์ (สภาพแวดล้อมโฮสต์ถูกแยกออกจากเครื่องเสมือนแยกต่างหาก) Bareflank ยังเป็นหัวใจสำคัญของไฮเปอร์ไวเซอร์ MicroV ซึ่งออกแบบมาเพื่อรันเครื่องเสมือนที่เรียบง่าย (เครื่องเสมือนแอปพลิเคชันเดียว) ที่ใช้ KVM API และเหมาะสำหรับการสร้างระบบที่มีความสำคัญต่อภารกิจ

นวัตกรรมหลักของ Bareflank 3.0:

  • เปลี่ยนไปใช้แนวคิดไมโครเคอร์เนล ก่อนหน้านี้ไฮเปอร์ไวเซอร์มีสถาปัตยกรรมแบบเสาหินซึ่งในการขยายการทำงานจำเป็นต้องใช้ API พิเศษสำหรับการลงทะเบียนการโทรกลับซึ่งทำให้การพัฒนาส่วนขยายทำได้ยากเนื่องจากเชื่อมโยงกับภาษา C ++ และ internals . สถาปัตยกรรมที่ใช้ไมโครเคอร์เนลใหม่จะแบ่งไฮเปอร์ไวเซอร์ออกเป็นส่วนประกอบเคอร์เนลที่ทำงานบนวงแหวนการป้องกันศูนย์ และส่วนขยายที่ทำงานบนวงแหวนที่สาม (พื้นที่ผู้ใช้) ทั้งสองส่วนทำงานในโหมดรูท VMX และส่วนอื่นๆ ทั้งหมด รวมถึงสภาพแวดล้อมโฮสต์ในโหมด VMX ที่ไม่ใช่รูท ส่วนขยายพื้นที่ผู้ใช้ใช้ฟังก์ชัน Virtual Machine Manager (VMM) และโต้ตอบกับเคอร์เนลไฮเปอร์ไวเซอร์ผ่านการเรียกระบบที่เข้ากันได้ย้อนหลัง สามารถสร้างส่วนขยายในภาษาการเขียนโปรแกรมใดๆ รวมถึงการใช้ภาษา Rust
  • เราเปลี่ยนไปใช้ไลบรารี BSL ของเราเองโดยรองรับ Rust และ C++ ซึ่งแทนที่ไลบรารีภายนอก libc++ และ newlib การลบการอ้างอิงภายนอกทำให้ Bareflank ใช้การสนับสนุนการคอมไพล์ Windows ดั้งเดิมเพื่อลดความซับซ้อนของการพัฒนาบนแพลตฟอร์มนี้
  • เพิ่มการรองรับสำหรับโปรเซสเซอร์ AMD ยิ่งไปกว่านั้น การพัฒนา Bareflank นั้นดำเนินการบนระบบที่มี CPU ของ AMD และจากนั้นจึงพอร์ตไปยัง CPU ของ Intel เท่านั้น
  • เพิ่มการรองรับสถาปัตยกรรม ARMv8 ลงใน bootloader ซึ่งการปรับไฮเปอร์ไวเซอร์จะเสร็จสมบูรณ์ในรุ่นถัดไป
  • บรรลุการปฏิบัติตามข้อกำหนดสำหรับการพัฒนาระบบที่สำคัญที่กำหนดโดยองค์กร AUTOSAR และ MISRA

ที่มา: opennet.ru

เพิ่มความคิดเห็น