การเปิดตัว Xen ไฮเปอร์ไวเซอร์ 4.17

หลังจากหนึ่งปีของการพัฒนา Xen 4.17 ไฮเปอร์ไวเซอร์ฟรีก็ได้เปิดตัวแล้ว บริษัทต่างๆ เช่น Amazon, Arm, Bitdefender, Citrix, EPAM Systems และ Xilinx (AMD) มีส่วนร่วมในการพัฒนารุ่นใหม่ การสร้างการอัปเดตสำหรับสาขา Xen 4.17 จะคงอยู่จนถึงวันที่ 12 มิถุนายน 2024 และการเผยแพร่การแก้ไขช่องโหว่จนถึงวันที่ 12 ธันวาคม 2025

การเปลี่ยนแปลงที่สำคัญใน Xen 4.17:

  • การปฏิบัติตามบางส่วนมีให้กับข้อกำหนดสำหรับการพัฒนาโปรแกรมที่ปลอดภัยและเชื่อถือได้ในภาษา C ซึ่งกำหนดไว้ในข้อกำหนด MISRA-C ที่ใช้ในการสร้างระบบที่มีความสำคัญต่อภารกิจ Xen ปรับใช้คำสั่ง 4 คำสั่งอย่างเป็นทางการและกฎ MISRA-C 24 กฎ (จากกฎ 143 กฎและคำสั่ง 16 คำสั่ง) และยังรวมเครื่องวิเคราะห์แบบคงที่ MISRA-C เข้ากับกระบวนการประกอบ ซึ่งตรวจสอบการปฏิบัติตามข้อกำหนดข้อกำหนดเฉพาะ
  • ให้ความสามารถในการกำหนดการกำหนดค่า Xen แบบคงที่สำหรับระบบ ARM ซึ่งจะฮาร์ดโค้ดทรัพยากรทั้งหมดที่จำเป็นสำหรับการบูตเกสต์ล่วงหน้า ทรัพยากรทั้งหมด เช่น หน่วยความจำที่ใช้ร่วมกัน ช่องทางการแจ้งเตือนเหตุการณ์ และพื้นที่ฮีปของไฮเปอร์ไวเซอร์ จะถูกจัดสรรไว้ล่วงหน้าเมื่อเริ่มต้นไฮเปอร์ไวเซอร์ แทนที่จะจัดสรรแบบไดนามิก ช่วยลดความล้มเหลวที่อาจเกิดขึ้นเนื่องจากการขาดแคลนทรัพยากรระหว่างการดำเนินการ
  • สำหรับระบบฝังตัวที่ใช้สถาปัตยกรรม ARM ได้มีการนำการสนับสนุนการทดลอง (ตัวอย่างเทคโนโลยี) สำหรับการจำลองเสมือน I/O โดยใช้โปรโตคอล VirtIO มาใช้ การขนส่ง virtio-mmio ใช้เพื่อแลกเปลี่ยนข้อมูลกับอุปกรณ์ I/O เสมือน ซึ่งช่วยให้มั่นใจถึงความเข้ากันได้กับอุปกรณ์ VirtIO หลากหลายประเภท มีการรองรับฟรอนต์เอนด์ Linux, ชุดเครื่องมือ (libxl/xl), โหมด dom0less และแบ็กเอนด์ที่ทำงานในพื้นที่ผู้ใช้แล้ว (แบ็กเอนด์ virtio-disk, virtio-net, i2c และ gpio ได้รับการทดสอบแล้ว)
  • การสนับสนุนที่ได้รับการปรับปรุงสำหรับโหมด dom0less ซึ่งช่วยให้คุณหลีกเลี่ยงการปรับใช้สภาพแวดล้อม dom0 เมื่อเริ่มต้นเครื่องเสมือนในช่วงเริ่มต้นของการบูตเซิร์ฟเวอร์ เป็นไปได้ที่จะกำหนด CPU Pools (CPUPOOL) ที่ขั้นตอนการบูต (ผ่านแผนผังอุปกรณ์) ซึ่งช่วยให้คุณใช้พูลในการกำหนดค่าที่ไม่มี dom0 ได้ เช่น เพื่อผูกแกน CPU ประเภทต่างๆ บนระบบ ARM โดยยึดตาม big.LITTLE สถาปัตยกรรมที่ผสมผสานคอร์ที่ทรงพลังแต่ใช้พลังงาน กับคอร์ที่มีประสิทธิผลน้อยลงแต่ประหยัดพลังงานมากกว่า นอกจากนี้ dom0less ยังให้ความสามารถในการผูกฟรอนต์เอนด์/แบ็กเอนด์พาราเวอร์ชวลไลเซชันกับระบบเกสต์ ซึ่งช่วยให้คุณสามารถบูตระบบเกสต์ด้วยอุปกรณ์พาราเวอร์ชวลไลซ์ที่จำเป็น
  • บนระบบ ARM โครงสร้างการจำลองเสมือนของหน่วยความจำ (P2M, ทางกายภาพไปยังเครื่อง) จะถูกจัดสรรจากพูลหน่วยความจำที่สร้างขึ้นเมื่อสร้างโดเมน ซึ่งช่วยให้แยกระหว่างแขกได้ดีขึ้นเมื่อเกิดความล้มเหลวที่เกี่ยวข้องกับหน่วยความจำ
  • สำหรับระบบ ARM มีการเพิ่มการป้องกันช่องโหว่ Spectre-BHB ในโครงสร้างไมโครสถาปัตยกรรมของโปรเซสเซอร์
  • บนระบบ ARM คุณสามารถรันระบบปฏิบัติการ Zephyr ในสภาพแวดล้อมรูท Dom0 ได้
  • มีความเป็นไปได้ของชุดไฮเปอร์ไวเซอร์แยกต่างหาก (นอกแผนผัง)
  • บนระบบ x86 หน้า IOMMU ขนาดใหญ่ (ซุปเปอร์เพจ) ได้รับการสนับสนุนสำหรับระบบเกสต์ทุกประเภท ซึ่งช่วยเพิ่มปริมาณงานเมื่อส่งต่ออุปกรณ์ PCI เพิ่มการรองรับโฮสต์ที่มี RAM สูงสุด 12 TB ในขั้นตอนการบูต ความสามารถในการตั้งค่าพารามิเตอร์ cpuid สำหรับ dom0 ได้ถูกนำมาใช้แล้ว เพื่อควบคุมมาตรการป้องกันที่ใช้ในระดับไฮเปอร์ไวเซอร์ต่อการโจมตี CPU ในระบบเกสต์ พารามิเตอร์ VIRT_SSBD และ MSR_SPEC_CTRL จะถูกเสนอ
  • การขนส่ง VirtIO-Grant ได้รับการพัฒนาแยกกัน แตกต่างจาก VirtIO-MMIO ในเรื่องระดับความปลอดภัยที่สูงกว่า และความสามารถในการรันตัวจัดการในโดเมนแยกที่แยกต่างหากสำหรับไดรเวอร์ VirtIO-Grant แทนที่จะใช้การแมปหน่วยความจำโดยตรง ใช้การแปลที่อยู่ทางกายภาพของระบบเกสต์เป็นลิงก์อนุญาต ซึ่งอนุญาตให้ใช้พื้นที่ที่ตกลงไว้ล่วงหน้าของหน่วยความจำที่ใช้ร่วมกันสำหรับการแลกเปลี่ยนข้อมูลระหว่างระบบเกสต์และแบ็กเอนด์ VirtIO โดยไม่มีการอนุญาต สิทธิ์แบ็กเอนด์ในการทำแผนที่หน่วยความจำ รองรับ VirtIO-Grant แล้วในเคอร์เนล Linux แต่ยังไม่รวมอยู่ในแบ็กเอนด์ QEMU ใน virtio-vhost และในชุดเครื่องมือ (libxl/xl)
  • ความคิดริเริ่ม Hyperlaunch ยังคงพัฒนาอย่างต่อเนื่อง โดยมีเป้าหมายเพื่อมอบเครื่องมือที่ยืดหยุ่นสำหรับการกำหนดค่าการเปิดตัวเครื่องเสมือนระหว่างการบูตระบบ ปัจจุบัน ชุดแพตช์ชุดแรกได้ถูกจัดเตรียมไว้แล้วซึ่งช่วยให้คุณสามารถตรวจจับโดเมน PV และถ่ายโอนรูปภาพไปยังไฮเปอร์ไวเซอร์เมื่อทำการโหลด ทุกสิ่งที่จำเป็นในการรันโดเมนพาราเวอร์ชวลไลซ์ดังกล่าวก็ถูกนำมาใช้เช่นกัน รวมถึงส่วนประกอบ Xenstore สำหรับไดรเวอร์ PV เมื่อแพทช์ได้รับการยอมรับ งานจะเริ่มเพื่อรองรับอุปกรณ์ PVH และ HVM เช่นเดียวกับการใช้งานโดเมน domB ที่แยกจากกัน (โดเมนตัวสร้าง) ซึ่งเหมาะสำหรับการจัดระเบียบการบู๊ตที่วัดได้ เพื่อยืนยันความถูกต้องของส่วนประกอบที่โหลดทั้งหมด
  • งานยังคงดำเนินต่อไปในการสร้างพอร์ตของ Xen สำหรับสถาปัตยกรรม RISC-V

ที่มา: opennet.ru

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