การเปิดตัว Muen 1.0 ซึ่งเป็นไมโครเคอร์เนลโอเพ่นซอร์สสำหรับการสร้างระบบที่มีความน่าเชื่อถือสูง

หลังจากแปดปีของการพัฒนาโครงการ Muen 1.0 ได้เปิดตัวโดยพัฒนาเคอร์เนลการแยกโดยไม่มีข้อผิดพลาดในซอร์สโค้ดซึ่งได้รับการยืนยันโดยใช้วิธีการทางคณิตศาสตร์ของการตรวจสอบความน่าเชื่อถืออย่างเป็นทางการ เคอร์เนลพร้อมใช้งานสำหรับสถาปัตยกรรม x86_64 และสามารถใช้ในระบบที่มีภารกิจสำคัญซึ่งต้องการระดับความน่าเชื่อถือที่เพิ่มขึ้นและการรับประกันว่าจะไม่เกิดข้อผิดพลาด ซอร์สโค้ดของโครงการเขียนด้วยภาษา Ada และภาษาถิ่นที่ตรวจสอบได้ SPARK 2014 รหัสนี้เผยแพร่ภายใต้ใบอนุญาต GPLv3

เคอร์เนลการแยกเป็นไมโครเคอร์เนลที่จัดให้มีสภาพแวดล้อมสำหรับการดำเนินการส่วนประกอบที่แยกออกจากกัน ปฏิสัมพันธ์ซึ่งได้รับการควบคุมอย่างเคร่งครัดตามกฎที่กำหนด การแยกขึ้นอยู่กับการใช้ส่วนขยายการจำลองเสมือนของ Intel VT-x และรวมถึงกลไกความปลอดภัยเพื่อบล็อกองค์กรของช่องทางการสื่อสารที่ซ่อนอยู่ เคอร์เนลการแบ่งพาร์ติชันมีความเรียบง่ายและคงที่มากกว่าไมโครเคอร์เนลอื่นๆ ซึ่งช่วยลดจำนวนสถานการณ์ที่อาจทำให้เกิดความล้มเหลวได้

เคอร์เนลทำงานในโหมดรูทของ VMX ซึ่งคล้ายกับไฮเปอร์ไวเซอร์ และส่วนประกอบอื่นๆ ทั้งหมดทำงานในโหมดที่ไม่ใช่รูทของ VMX ซึ่งคล้ายกับระบบของแขก การเข้าถึงอุปกรณ์ทำได้โดยใช้ส่วนขยาย Intel VT-d DMA และการขัดจังหวะการแมปใหม่ ซึ่งทำให้สามารถใช้การเชื่อมโยงอุปกรณ์ PCI อย่างปลอดภัยกับส่วนประกอบที่ทำงานภายใต้ Muen

การเปิดตัว Muen 1.0 ซึ่งเป็นไมโครเคอร์เนลโอเพ่นซอร์สสำหรับการสร้างระบบที่มีความน่าเชื่อถือสูง

ความสามารถของ Muen รวมถึงการสนับสนุนระบบมัลติคอร์, เพจหน่วยความจำแบบซ้อน (EPT, Extended Page Tables), MSI (การขัดจังหวะสัญญาณข้อความ) และตารางแอตทริบิวต์ของเพจหน่วยความจำ (PAT, Page Attribute Table) นอกจากนี้ Muen ยังมีตัวกำหนดเวลาแบบ Round-Robin แบบคงที่ซึ่งอิงตามตัวจับเวลาล่วงหน้า Intel VMX, รันไทม์ขนาดกะทัดรัดที่ไม่ส่งผลกระทบต่อประสิทธิภาพ, ระบบตรวจสอบข้อขัดข้อง, กลไกการกำหนดทรัพยากรแบบคงที่ตามกฎ, ระบบจัดการเหตุการณ์ และช่องหน่วยความจำที่ใช้ร่วมกันสำหรับ การสื่อสารภายในส่วนประกอบที่ทำงานอยู่

รองรับการรันส่วนประกอบด้วยรหัสเครื่อง 64 บิต, เครื่องเสมือน 32 หรือ 64 บิต, แอปพลิเคชัน 64 บิตในภาษา Ada และ SPARK 2014, เครื่องเสมือน Linux และ “unikernels” ที่มีอยู่ในตัวเองซึ่งใช้ MirageOS ที่ด้านบนของ Muen

นวัตกรรมหลักที่นำเสนอในการเปิดตัว Muen 1.0:

  • มีการเผยแพร่เอกสารพร้อมข้อกำหนดสำหรับเคอร์เนล (อุปกรณ์และสถาปัตยกรรม) ระบบ (นโยบายระบบ Tau0 และชุดเครื่องมือ) และส่วนประกอบ ซึ่งบันทึกทุกแง่มุมของโครงการ
  • มีการเพิ่มชุดเครื่องมือ Tau0 (Muen System Composer) ซึ่งรวมถึงชุดส่วนประกอบที่ผ่านการตรวจสอบแล้วสำหรับการเขียนอิมเมจระบบและพัฒนาบริการมาตรฐานที่ทำงานบน Muen ส่วนประกอบที่มีให้ ได้แก่ ไดรเวอร์ AHCI (SATA), ตัวจัดการอุปกรณ์ (DM), ตัวโหลดบูต, ตัวจัดการระบบ, เทอร์มินัลเสมือน ฯลฯ
  • ไดรเวอร์ muenblock Linux (การใช้งานอุปกรณ์บล็อกที่ทำงานบนหน่วยความจำที่ใช้ร่วมกันของ Muen) ได้รับการแปลงให้ใช้ blockdev 2.0 API
  • เครื่องมือที่ใช้สำหรับการจัดการวงจรชีวิตของส่วนประกอบดั้งเดิม
  • อิมเมจระบบได้รับการแปลงเพื่อใช้ SBS (Signed Block Stream) และ CSL (Command Stream Loader) เพื่อปกป้องความสมบูรณ์
  • มีการนำไดรเวอร์ AHCI-DRV ที่ผ่านการตรวจสอบแล้วมาใช้ ซึ่งเขียนด้วยภาษา SPARK 2014 และอนุญาตให้คุณเชื่อมต่อไดรฟ์ที่รองรับอินเทอร์เฟซ ATA หรือพาร์ติชันดิสก์แต่ละตัวกับส่วนประกอบต่างๆ
  • ปรับปรุงการรองรับ Unikernel จากโครงการ MirageOS และ Solo5
  • ชุดเครื่องมือภาษา Ada ได้รับการอัปเดตสำหรับการเปิดตัว GNAT Community 2021
  • ระบบบูรณาการอย่างต่อเนื่องได้รับการถ่ายโอนจากโปรแกรมจำลอง Bochs ไปยังสภาพแวดล้อมที่ซ้อนกันของ QEMU/KVM
  • อิมเมจคอมโพเนนต์ Linux ใช้เคอร์เนล Linux 5.4.66

ที่มา: opennet.ru

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