Bareflank 2.0 hypervisor ထွက်ရှိမှု

နေရာယူခဲ့သည်။ hypervisor လွှတ်ပေးရန် Bareflank 2.0အထူးပြု hypervisors များ၏ လျင်မြန်စွာ ဖွံ့ဖြိုးတိုးတက်မှုအတွက် ကိရိယာများ ပံ့ပိုးပေးသော၊ Bareflank သည် C++ ဖြင့်ရေးသားထားပြီး C++ STL ကို ထောက်ပံ့ပေးသည်။ Bareflank ၏ မော်ဂျူလာဗိသုကာသည် သင့်အား hypervisor ၏ လက်ရှိလုပ်ဆောင်နိုင်စွမ်းများကို အလွယ်တကူ ချဲ့ထွင်နိုင်ပြီး ဟာ့ဒ်ဝဲ၏ထိပ်တွင် လုပ်ဆောင်နေသည့် (Xen ကဲ့သို့) နှင့် ရှိပြီးသားဆော့ဖ်ဝဲလ်ပတ်ဝန်းကျင် (VirtualBox ကဲ့သို့) နှစ်ခုစလုံးတွင် သင်၏ကိုယ်ပိုင် hypervisors ဗားရှင်းများကို ဖန်တီးနိုင်စေမည်ဖြစ်သည်။ သီးခြား virtual machine တစ်ခုတွင် host ပတ်ဝန်းကျင်၏ လည်ပတ်မှုစနစ်ကို လုပ်ဆောင်ရန် ဖြစ်နိုင်သည်။ ပရောဂျက်ကုဒ် ဖြန့်ဝေသည် LGPL 2.1 အောက်တွင် လိုင်စင်ရထားသည်။

Bareflank သည် 64-bit Intel CPU များတွင် Linux၊ Windows နှင့် UEFI တို့ကို ပံ့ပိုးပေးသည်။ Intel VT-x နည်းပညာကို ဟာ့ဒ်ဝဲ မျှဝေခြင်းအတွက် virtual machine အရင်းအမြစ်များကို အသုံးပြုပါသည်။ macOS နှင့် BSD စနစ်များအတွက် ပံ့ပိုးမှုအား အနာဂတ်အတွက် စီစဉ်ထားသည့်အပြင် ARM64 နှင့် AMD ပလပ်ဖောင်းများတွင် လုပ်ဆောင်နိုင်စွမ်းရှိသည်။ ထို့အပြင်၊ ပရောဂျက်သည် VMM (Virtual Machine Manager)၊ VVM modules များကိုတင်ရန်အတွက် ELF loader နှင့် user space မှ hypervisor ကို ထိန်းချုပ်ရန်အတွက် bfm application ကို loading အတွက် ၎င်း၏ကိုယ်ပိုင် driver ကို တီထွင်နေပါသည်။ ၎င်းသည် C++ 11/14 သတ်မှတ်ချက်များတွင် သတ်မှတ်ထားသော အစိတ်အပိုင်းများကို အသုံးပြု၍ extension များရေးသားခြင်းအတွက် tools များ၊ exception stack (unwind) နှင့် constructors/destructors များအသုံးပြုမှုနှင့် exception handlers များကို မှတ်ပုံတင်ခြင်းအတွက် ၎င်း၏ကိုယ်ပိုင် runtime library ကို ပံ့ပိုးပေးပါသည်။

Bareflank ကို အခြေခံ၍ virtualization စနစ်တစ်ခုကို တီထွင်နေပါသည်။ ဘိုဧည့်သည်စနစ်များလည်ပတ်ခြင်းကို ပံ့ပိုးပေးပြီး Linux နှင့် Unikernel တို့ဖြင့် ပေါ့ပါးသော virtual machines များကို အသုံးပြုခွင့်ပေးသော၊ အထူးပြုဝန်ဆောင်မှုများ သို့မဟုတ် အက်ပ်လီကေးရှင်းများကို လုပ်ဆောင်နိုင်စေပါသည်။ သီးခြားဝန်ဆောင်မှုများပုံစံတွင်၊ ယုံကြည်စိတ်ချရမှုနှင့် လုံခြုံရေးအတွက် အထူးလိုအပ်ချက်များပါရှိသော ပုံမှန်ဝဘ်ဝန်ဆောင်မှုများနှင့် အပလီကေးရှင်းများ နှစ်ခုလုံးကို လက်ခံနိုင်သည် (အိမ်ရှင်ပတ်ဝန်းကျင်၏ လွှမ်းမိုးမှုမှ ကင်းလွတ်သည် (အိမ်ရှင်ပတ်ဝန်းကျင်ကို သီးခြား virtual machine တွင် သီးခြားခွဲထားသည်))။

Bareflank 2.0 ၏ အဓိက တီထွင်ဆန်းသစ်မှုများ

  • virtual machine တွင် operating system ၏နောက်ဆက်တွဲလုပ်ဆောင်မှုအတွက် Bareflank ကို UEFI မှတိုက်ရိုက်ဖွင့်ခြင်းအတွက် ပံ့ပိုးမှု ထပ်လောင်းထည့်သွင်းထားသည်။
  • Linux ရှိ SLAB/Buddy memory managers များနှင့် အလားတူ ဒီဇိုင်းထုတ်ထားသော memory manager အသစ်ကို အကောင်အထည်ဖော်ထားပါသည်။ မမ်မိုရီ မန်နေဂျာအသစ်သည် အကွဲကွဲအပြားပြား လျှော့ချခြင်းကို သရုပ်ပြပြီး ပိုမိုမြင့်မားသော စွမ်းဆောင်ရည်ကို ခွင့်ပြုပေးပြီး hypervisor မှတဆင့် တက်ကြွသော မှတ်ဉာဏ်ခွဲဝေမှုကို ပံ့ပိုးပေးသည်။ bfdriverHypervisor ၏ ကနဦးအရွယ်အစားကို လျှော့ချနိုင်ပြီး CPU cores အရေအတွက်ပေါ်မူတည်၍ အကောင်းဆုံးစကေးကို လျှော့ချနိုင်စေပါသည်။
  • အမိန့်ပေးစကားပြန်မပါဘဲ CMake ကိုအခြေခံထားသော တည်ဆောက်မှုစနစ်အသစ်သည် hypervisor စုစည်းမှုကို သိသာထင်ရှားစွာ အရှိန်မြှင့်နိုင်စေပြီး ARM ကဲ့သို့သော အပိုဗိသုကာများအတွက် အနာဂတ်ပံ့ပိုးမှုကို ရိုးရှင်းစေသည်။
  • ကုဒ်ကို ပြန်လည်ဖွဲ့စည်းပြီး အရင်းအမြစ်စာသားများ၏ ဖွဲ့စည်းပုံကို ရိုးရှင်းအောင် ပြုလုပ်ထားသည်။ ကုဒ်ပွားခြင်းမလိုအပ်ဘဲ ဟိုက်ပါကာနယ်ကဲ့သို့သော ဆက်စပ်ပရောဂျက်များအတွက် ပိုမိုကောင်းမွန်သော ပံ့ပိုးမှု။ ပိုပြီး ပြတ်သားစွာ ခွဲထားတဲ့ ကုဒ် hypervisor၊ စာကြည့်တိုက်ကိုဖြေလျှော့ပါ၊ runtime၊ ထိန်းချုပ်ရေးကိရိယာများ၊ bootloader နှင့် SDK၊
  • API အများစုကို C++ တွင် ယခင်ကအသုံးပြုခဲ့သော အမွေဆက်ခံမှုယန္တရားများအစား၊ အသုံးပြုမှုသို့ ပြောင်းထားသည်။ ကိုယ်စားလှယ်အဖွဲ့API ကို ရိုးရှင်းစေသော၊ စွမ်းဆောင်ရည် တိုးမြင့်လာပြီး အရင်းအမြစ်သုံးစွဲမှုကို လျှော့ချပေးသည်။

source: opennet.ru

မှတ်ချက် Add