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

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

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

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

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

  • เพิ่มการรองรับสำหรับการเปิดตัว Bareflank โดยตรงจาก UEFI สำหรับการดำเนินการระบบปฏิบัติการในเครื่องเสมือนในภายหลัง
  • มีการใช้งานตัวจัดการหน่วยความจำใหม่ ซึ่งออกแบบคล้ายกับตัวจัดการหน่วยความจำ SLAB/Buddy ใน Linux ตัวจัดการหน่วยความจำใหม่แสดงให้เห็นถึงการกระจายตัวที่ลดลง ช่วยให้มีประสิทธิภาพสูงขึ้น และรองรับการจัดสรรหน่วยความจำแบบไดนามิกให้กับไฮเปอร์ไวเซอร์ผ่าน เป็นแฟนไดรเวอร์ซึ่งช่วยให้คุณลดขนาดเริ่มต้นของไฮเปอร์ไวเซอร์และปรับขนาดให้เหมาะสมที่สุดขึ้นอยู่กับจำนวนคอร์ CPU
  • ระบบบิลด์ใหม่ที่ใช้ CMake เป็นอิสระจากการแปลคำสั่ง ช่วยให้สามารถเร่งการคอมไพล์ไฮเปอร์ไวเซอร์ได้อย่างมีนัยสำคัญ และทำให้การสนับสนุนในอนาคตสำหรับสถาปัตยกรรมเพิ่มเติม เช่น ARM ง่ายขึ้น
  • โค้ดได้รับการจัดระเบียบใหม่และโครงสร้างของข้อความต้นฉบับถูกทำให้ง่ายขึ้น ปรับปรุงการรองรับโปรเจ็กต์ที่เกี่ยวข้อง เช่น ไฮเปอร์เคอร์เนล โดยไม่จำเป็นต้องทำสำเนาโค้ด รหัสแยกที่ชัดเจนมากขึ้น ไฮเปอร์ไวเซอร์, ผ่อนคลายไลบรารี, รันไทม์, เครื่องมือควบคุม, bootloader และ SDK;
  • API ส่วนใหญ่ แทนที่จะใช้กลไกการสืบทอดที่ใช้ก่อนหน้านี้ใน C++ ได้ถูกเปลี่ยนไปใช้แล้ว การมอบหมายซึ่งทำให้ API ง่ายขึ้น เพิ่มประสิทธิภาพและลดการใช้ทรัพยากร

ที่มา: opennet.ru

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