ယုံကြည်စိတ်ချရသောစနစ်များတည်ဆောက်ရန်အတွက် Muen 1.0၊ ပွင့်လင်းသောအရင်းအမြစ် မိုက်ခရိုကာနယ်ကို ဖြန့်ချိသည်။

ရှစ်နှစ်ကြာ ဖွံ့ဖြိုးတိုးတက်ပြီးနောက် Muen 1.0 ပရောဂျက်သည် တရားဝင်ယုံကြည်စိတ်ချရမှုအတည်ပြုခြင်း၏သင်္ချာနည်းလမ်းများကိုအသုံးပြု၍ အတည်ပြုထားသည့် အရင်းအမြစ်ကုဒ်တွင် အမှားအယွင်းများမရှိခြင်း ခွဲထွက်ခြင်း kernel ကို တီထွင်ထုတ်လုပ်ခဲ့သည်။ kernel ကို x86_64 ဗိသုကာအတွက် ရနိုင်ပြီး ယုံကြည်စိတ်ချရမှုအဆင့် တိုးမြင့်လာပြီး ကျရှုံးမှုမရှိကြောင်း အာမခံချက်လိုအပ်သော mission-critical systems များတွင် အသုံးပြုနိုင်ပါသည်။ ပရောဂျက်၏ အရင်းအမြစ်ကုဒ်ကို Ada ဘာသာစကားနှင့် ၎င်း၏ အတည်ပြုနိုင်သော ဒေသိယစကား SPARK 2014 ဖြင့် ရေးသားထားသည်။ ကုဒ်ကို GPLv3 လိုင်စင်အောက်တွင် ဖြန့်ဝေထားသည်။

သီးခြား kernel သည် တစ်ခုနှင့်တစ်ခု ခွဲထုတ်ထားသော အစိတ်အပိုင်းများကို လုပ်ဆောင်ရန်အတွက် ပတ်ဝန်းကျင်ကို ပံ့ပိုးပေးသည့် မိုက်ခရိုကာနယ်တစ်ခုဖြစ်ပြီး၊ ပေးထားသော စည်းမျဉ်းများဖြင့် တင်းကြပ်စွာ ထိန်းညှိထားသည့် အပြန်အလှန်တုံ့ပြန်မှုဖြစ်သည်။ Isolation သည် Intel VT-x virtualization extensions များကိုအသုံးပြုခြင်းအပေါ်အခြေခံပြီး လျှို့ဝှက်ဆက်သွယ်ရေးလမ်းကြောင်းများ၏အဖွဲ့အစည်းကိုပိတ်ဆို့ရန်အတွက်လုံခြုံရေးယန္တရားများပါဝင်သည်။ partitioning kernel သည် အခြား microkernel များထက် အနည်းငယ်သာ၍ တည်ငြိမ်ပြီး ပျက်ကွက်မှုကို ဖြစ်စေနိုင်သော အခြေအနေများ အရေအတွက်ကို လျှော့ချပေးသည်။

kernel သည် hypervisor နှင့်ဆင်တူသော VMX အမြစ်မုဒ်တွင်အလုပ်လုပ်ပြီး ဧည့်သည်စနစ်များနှင့်ဆင်တူသော VMX မဟုတ်သော root မုဒ်တွင်အလုပ်လုပ်သောအခြားအစိတ်အပိုင်းများအားလုံး။ စက်ပစ္စည်းများကို အသုံးပြုခွင့်သည် Intel VT-d DMA တိုးချဲ့မှုများနှင့် အနှောင့်အယှက်ဖြစ်စေသော ပြန်လည်ပုံဖော်ခြင်းတို့ကို အသုံးပြု၍ ပြုလုပ်ထားခြင်းဖြစ်ပြီး Muen အောက်တွင် လုပ်ဆောင်နေသော အစိတ်အပိုင်းများနှင့် PCI စက်ပစ္စည်းများ၏ လုံခြုံသောစည်းနှောင်မှုကို အကောင်အထည်ဖော်နိုင်စေပါသည်။

ယုံကြည်စိတ်ချရသောစနစ်များတည်ဆောက်ရန်အတွက် Muen 1.0၊ ပွင့်လင်းသောအရင်းအမြစ် မိုက်ခရိုကာနယ်ကို ဖြန့်ချိသည်။

Muen ၏စွမ်းရည်များတွင် multi-core စနစ်များ၊ nested memory စာမျက်နှာများ (EPT၊ Extended Page Tables)၊ MSI (Message Signaled Interrupts) နှင့် memory page attribute tables (PAT၊ Page Attribute Table) တို့ ပါဝင်ပါသည်။ Muen သည် Intel VMX preemptive timer ကိုအခြေခံ၍ ပုံသေအလှည့်ကျအချိန်ဇယား၊ စွမ်းဆောင်ရည်ကိုမထိခိုက်စေသောကျစ်လစ်သိပ်သည်းသော runtime၊ ပျက်စီးမှုစာရင်းစစ်စနစ်၊ စည်းကမ်းအခြေခံသည့် တည်ငြိမ်သောအရင်းအမြစ်တာဝန်ပေးမှုယန္တရား၊ ဖြစ်ရပ်ကိုင်တွယ်မှုစနစ်နှင့် မျှဝေထားသောမှတ်ဉာဏ်ချန်နယ်များအတွက် လည်ပတ်နေသော အစိတ်အပိုင်းများအတွင်း ဆက်သွယ်မှု။

၎င်းသည် 64-bit စက်ကုဒ်၊ 32- သို့မဟုတ် 64-bit virtual machines၊ Ada နှင့် SPARK 64 ဘာသာစကားများတွင် 2014-bit applications များ၊ Linux virtual machines နှင့် Muen ၏ထိပ်တွင် MirageOS ကိုအခြေခံထားသော ကိုယ်တိုင်ပါရှိသော "unikernels" တို့ဖြင့် လုပ်ဆောင်နေသော အစိတ်အပိုင်းများကို ပံ့ပိုးပေးပါသည်။

Muen 1.0 ထုတ်ဝေမှုတွင် ကမ်းလှမ်းထားသော အဓိက တီထွင်ဆန်းသစ်မှုများ-

  • စာရွက်စာတမ်းများကို kernel (စက်ပစ္စည်းနှင့် ဗိသုကာပညာ)၊ စနစ် (စနစ်မူဝါဒများ၊ Tau0 နှင့် toolkit) နှင့် ပရောဂျက်၏ ကဏ္ဍအားလုံးကို မှတ်တမ်းတင်ထားသည့် အစိတ်အပိုင်းများနှင့်အတူ စာရွက်စာတမ်းများကို ထုတ်ဝေထားပါသည်။
  • Tau0 (Muen System Composer) ကိရိယာအစုံကို ထည့်သွင်းထားပြီး၊ စနစ်ပုံများကို ရေးဖွဲ့ရန်နှင့် Muen ၏ထိပ်တွင် လုပ်ဆောင်သည့် စံဝန်ဆောင်မှုများကို ဖော်ဆောင်ရန်အတွက် အဆင်သင့်လုပ်ထားသော အစိတ်အပိုင်းများပါ၀င်သည်။ ပံ့ပိုးပေးထားသော အစိတ်အပိုင်းများတွင် AHCI (SATA) ဒရိုက်ဘာ၊ စက်ပစ္စည်းမန်နေဂျာ (DM)၊ boot loader၊ စနစ်မန်နေဂျာ၊ virtual terminal စသည်တို့ ပါဝင်သည်။
  • muenblock Linux ဒရိုက်ဘာ (Muen မျှဝေထားသည့် မှတ်ဉာဏ်၏ထိပ်တွင် လည်ပတ်နေသော ပိတ်ဆို့ကိရိယာကို အကောင်အထည်ဖော်မှုတစ်ခု) ကို blockdev 2.0 API ကို အသုံးပြုရန် အသွင်ပြောင်းထားသည်။
  • မူလအစိတ်အပိုင်းများ၏ ဘဝသံသရာကို စီမံခန့်ခွဲရန် ကိရိယာများကို အကောင်အထည်ဖော်ခဲ့သည်။
  • စနစ်ပုံများကို သမာဓိစောင့်ထိန်းရန် SBS (Signed Block Stream) နှင့် CSL (Command Stream Loader) ကို အသုံးပြုရန် အသွင်ပြောင်းထားပါသည်။
  • အတည်ပြုထားသော AHCI-DRV ဒရိုက်ဘာကို SPARK 2014 ဘာသာစကားဖြင့် ရေးသားထားပြီး ATA interface သို့မဟုတ် တစ်ဦးချင်းစီ disk partitions များကို အစိတ်အပိုင်းများသို့ ပံ့ပိုးပေးသည့် drive များကို ချိတ်ဆက်ခွင့်ပြုထားပါသည်။
  • MirageOS နှင့် Solo5 ပရောဂျက်များမှ unikernel ပံ့ပိုးမှု ပိုမိုကောင်းမွန်လာပါသည်။
  • Ada ဘာသာစကားကိရိယာအစုံကို GNAT Community 2021 ထုတ်ဝေမှုအတွက် အပ်ဒိတ်လုပ်ထားသည်။
  • စဉ်ဆက်မပြတ် ပေါင်းစည်းမှုစနစ်ကို Bochs emulator မှ QEMU/KVM nested environments သို့ လွှဲပြောင်းပေးခဲ့သည်။
  • Linux အစိတ်အပိုင်းပုံများသည် Linux 5.4.66 kernel ကိုအသုံးပြုသည်။

source: opennet.ru

မှတ်ချက် Add