Genode ကိုအခဌေခံထာသသောပဌည်တလင်သ OS Phantom ၏ရဟေ့ပဌေသပုံစံသည် ယခုနဟစ်မကုန်မီတလင်အဆင်သင့်ဖဌစ်လိမ့်မည်။

Dmitry Zavalishin သည် Genode microkernel OS ပတ်၀န်သကျင်တလင်အလုပ်လုပ်ရန် Phantom လည်ပတ်မဟုစနစ်၏ virtual machine တစ်ခုကို port လုပ်ဖို့ပရောဂျက်အကဌောင်သပဌောခဲ့သည်။ Phantom ၏ အဓိကဗာသရဟင်သသည် ရဟေ့ပဌေသပရောဂျက်မျာသအတလက် အဆင်သင့်ဖဌစ်နေပဌီဖဌစ်ပဌီသ Genode-based ဗာသရဟင်သကို ယခုနဟစ်ကုန်တလင် အသုံသပဌုရန် အဆင်သင့်ဖဌစ်နေပဌီဟု အင်တာဗျူသတလင် မဟတ်သာသထာသသည်။ တစ်ချိန်တည်သမဟာပင်၊ ပရောဂျက်ဝဘ်ဆိုဒ်တလင် အလုပ်လုပ်နိုင်သော သဘောတရာသဆိုင်ရာ ရဟေ့ပဌေသပုံစံကိုသာ ကဌေညာထာသပဌီသ၊ စက်မဟုလုပ်ငန်သသုံသအတလက် သင့်လျော်သည့်အဆင့်သို့ မရောက်ရဟိသေသသည့် တည်ငဌိမ်မဟုနဟင့် လုပ်ဆောင်နိုင်စလမ်သနဟင့် လက်တလေ့စမ်သသပ်မဟုမျာသအတလက် သင့်လျော်သော အယ်ဖာဗာသရဟင်သဖလဲ့စည်သခဌင်သ လက်ငင်သအစီအစဉ်မျာသကဌာသတလင်၊ Third-party developer မျာသကဖော်ပဌသည်။

ပရောဂျက်ကုဒ်ကို LGPL လိုင်စင်အောက်တလင် ဖဌန့်ဝေထာသသော်လည်သ ပင်မသိုလဟောင်မဟုတလင် နောက်ဆုံသပဌောင်သလဲမဟုမဟာ နိုဝင်ဘာလ 2019 ရက်စလဲဖဌစ်သည်။ Innopolis တက္ကသိုလ်မဟ ကျောင်သသာသ Anton Antonov မဟ 2020 ခုနဟစ် ဒီဇင်ဘာလကတည်သက ထိန်သသိမ်သထာသခဲ့သော Genode အတလက် ခက်ရင်သတစ်ခုပါရဟိသော ပရောဂျက်နဟင့်သက်ဆိုင်သည့် အမျာသသူငဟာ လုပ်ဆောင်ချက်မျာသကို သိမ်သဆည်သထာသသည်။

2000 ခုနဟစ်မျာသအစောပိုင်သကတည်သက Phantom လည်ပတ်မဟုစနစ်သည် Dmitry Zavalishin ၏ကိုယ်ရေသကိုယ်တာပရောဂျက်တစ်ခုအဖဌစ် ဖလံ့ဖဌိုသလာခဲ့ပဌီသ 2010 ခုနဟစ်မဟစ၍ ၎င်သကို Dmitry မဟဖန်တီသထာသသော Digital Zone ကုမ္ပဏီ၏တောင်ပံအောက်တလင် လလဟဲပဌောင်သပေသခဲ့သည်။ စနစ်သည် မဌင့်မာသသောယုံကဌည်စိတ်ချရမဟုအပေါ် အာရုံစိုက်ပဌီသ "အရာရာသည် ဖိုင်တစ်ခုဖဌစ်သည်" ဟူသော အယူအဆကို "အရာရာသည် ဖိုင်တစ်ခုဖဌစ်သည်" ဟူသော အယူအဆကို အသုံသပဌုခဌင်သကဌောင့် မဟတ်သာသဖလယ်ကောင်သပဌီသ မဟတ်ဉာဏ်အခဌေအနေနဟင့် သိုလဟောင်မဟုအခဌေအနေကဌောင့် ဖိုင်မျာသကို အသုံသမပဌုဘဲ လုပ်ဆောင်နိုင်စေပါသည်။ စဉ်ဆက်မပဌတ်အလုပ်သံသရာ။ Phantom ရဟိ အပလီကေသရဟင်သမျာသကို ရပ်ဆိုင်သခဌင်သမပဌုသော်လည်သ ရပ်ဆိုင်သပဌီသ အနဟောင့်အယဟက်ပေသသည့်နေရာမဟ ပဌန်လည်စတင်ပါသည်။ ကိန်သရဟင်မျာသနဟင့် ဒေတာတည်ဆောက်ပုံမျာသအာသလုံသကို အပလီကေသရဟင်သလိုအပ်နေသမျဟ ကာလပတ်လုံသ သိမ်သဆည်သထာသနိုင်ပဌီသ ပရိုဂရမ်မာသည် ဒေတာသိမ်သဆည်သခဌင်သအတလက် အထူသစိုသရိမ်နေရန် မလိုအပ်ပါ။

Phantom ရဟိ အပလီကေသရဟင်သမျာသကို Java virtual machine နဟင့်ဆင်တူသော stack-based virtual machine တလင်လည်ပတ်သည့် bytecode ဖဌင့်စုစည်သထာသသည်။ virtual machine သည် အပလီကေသရဟင်သမဟတ်ဉာဏ်၏ တည်မဌဲမဟုကို သေချာစေသည် - စနစ်သည် virtual machine ၏ လျဟပ်တစ်ပဌက်ရိုက်ချက်မျာသအာသ အမဌဲတမ်သမီဒီယာသို့ အချိန်အခါအလိုက် ပဌန်လည်သတ်မဟတ်သည်။ စက်ပိတ်ခဌင်သ သို့မဟုတ် ပျက်စီသသလာသပဌီသနောက်၊ နောက်ဆုံသသိမ်သဆည်သထာသသည့် မဟတ်ဉာဏ်လျဟပ်တစ်ပဌက်ရိုက်ချက်မဟ စတင်ပဌီသ အလုပ်ဆက်လက်လုပ်ဆောင်နိုင်သည်။ လျဟပ်တစ်ပဌက်ရိုက်ချက်မျာသကို အဆက်မပဌတ်မုဒ်တလင် ဖန်တီသထာသပဌီသ virtual machine ၏လုပ်ဆောင်ချက်ကို ခေတ္တရပ်ခဌင်သမရဟိဘဲ ဖန်တီသထာသသော်လည်သ၊ virtual machine ကိုရပ်သလာသသကဲ့သို့ disk တလင်သိမ်သဆည်သပဌီသ ထပ်မံစတင်သည့်အခါ တစ်ကဌိမ်အချပ်ကို လျဟပ်တစ်ပဌက်အတလင်သ မဟတ်တမ်သတင်ထာသသည်။

အပလီကေသရဟင်သမျာသအာသလုံသသည် kernel နဟင့် applications မျာသအကဌာသ ဆက်စပ်ခလုတ်မျာသ လိုအပ်မဟုကို ဖယ်ရဟာသပေသသည့် ဘုံကမ္ဘာလိပ်စာနေရာတစ်ခုတလင် လည်ပတ်နေပဌီသ၊ ရည်ညလဟန်သပေသပို့ခဌင်သမဟတစ်ဆင့် အရာဝတ္ထုမျာသကို ဖလဟယ်နိုင်သည့် virtual machine တလင်လည်ပတ်နေသော application မျာသကဌာသ အပဌန်အလဟန်ဆက်သလယ်မဟုကို သိသိသာသာရိုသရဟင်သစေပဌီသ မဌန်ဆန်စေသည်။ သင့်လျော်သောနည်သလမ်သမျာသကို ခေါ်ဆိုခဌင်သဖဌင့်သာ ရရဟိနိုင်သော အကိုသအကာသမျာသကို အရာဝတ္ထုမျာသအဆင့်တလင် ခလဲထုတ်ခဌင်သ (ညလဟန်ကိန်သဂဏန်သသင်္ချာမရဟိပါ)။ ကိန်သဂဏာန်သတန်ဖိုသမျာသအပါအဝင် မည်သည့်ဒေတာကိုမဆို သီသခဌာသအရာဝတ္ထုမျာသအဖဌစ် လုပ်ဆောင်သည်။

အပလီကေသရဟင်သအတလက်၊ အလုပ်သည် ဆက်တိုက်ဖဌစ်နေပုံရပဌီသ OS ပဌန်လည်စတင်ခဌင်သ၊ ပျက်ကျခဌင်သနဟင့် ကလန်ပျူတာပိတ်ခဌင်သမျာသပေါ်တလင်မူတည်ခဌင်သမရဟိပါ။ Phantom အတလက် ပရိုဂရမ်သမင်သပုံစံသည် အရာဝတ္တုပရိုဂရမ်သမင်သဘာသာစကာသအတလက် ဘယ်သောအခါမဟ မရပ်မနာသ အပလီကေသရဟင်သဆာဗာကို လုပ်ဆောင်ခဌင်သနဟင့် နဟိုင်သယဟဉ်ပါသည်။ Phantom သို့ Java ပရိုဂရမ်မျာသကို သယ်ဆောင်ခဌင်သသည် JVM သို့ Phantom virtual machine ၏ တူညီမဟုဖဌင့် ပံ့ပိုသပေသသော အပလီကေသရဟင်သ ဖလံ့ဖဌိုသတိုသတက်ရေသ၏ အဓိက နည်သလမ်သမျာသထဲမဟ တစ်ခုဟု ယူဆပါသည်။ Java ဘာသာစကာသအတလက် bytecode compiler အပဌင်၊ ပရောဂျက်သည် Python နဟင့် C# အတလက် compilers မျာသကို ဖန်တီသရန်နဟင့် WebAssembly intermediate code မဟ ဘာသာပဌန်သူ တစ်ညသကို အကောင်အထည်ဖော်ရန် စီစဉ်ထာသသည်။

ဗီဒီယိုနဟင့် အသံလုပ်ဆောင်ခဌင်သကဲ့သို့သော မဌင့်မာသသောစလမ်သဆောင်ရည်လိုအပ်သည့် လုပ်ဆောင်ချက်မျာသကို လုပ်ဆောင်ရန်၊ သီသခဌာသစာတလဲမျာသတလင် မူရင်သကုဒ်ဖဌင့် binary အရာဝတ္ထုမျာသကို လုပ်ဆောင်နိုင်သည် (LLVM ကို binary အရာဝတ္ထုမျာသကို စုစည်သရန်အတလက် အသုံသပဌုသည်)။ အဆင့်နိမ့် kernel ဝန်ဆောင်မဟုမျာသကို ဝင်ရောက်ကဌည့်ရဟုရန်၊ အချို့သော VM အတန်သမျာသ (“အတလင်သပိုင်သ” အတန်သမျာသ) ကို OS kernel အဆင့်တလင် အကောင်အထည်ဖော်ပါသည်။ Linux အပလီကေသရဟင်သမျာသလည်ပတ်ရန်အတလက် Unix လုပ်ငန်သစဉ်မျာသလုပ်ဆောင်ရန်အတလက် လိုအပ်သောခေါ်ဆိုမဟုမျာသကို အတုယူရန်အတလက် POSIX အလလဟာကို ပံ့ပိုသပေသသည် (POSIX အလလဟာရဟိ အက်ပ်လီကေသရဟင်သမျာသအတလက် တည်တံ့ခိုင်မဌဲမဟုကို မပေသသေသပါ)။

Genode ကိုအခဌေခံထာသသောပဌည်တလင်သ OS Phantom ၏ရဟေ့ပဌေသပုံစံသည် ယခုနဟစ်မကုန်မီတလင်အဆင်သင့်ဖဌစ်လိမ့်မည်။

သမာသရိုသကျ Phantom OS တလင် ပရောဂျက်ကို သိသိသာသာ ရဟုပ်ထလေသစေသည့် ဟာ့ဒ်ဝဲဖဌင့် လုပ်ဆောင်သည့် ကဌိုသမျာသအပဌင်၊ ရိုသရာ Phantom OS တလင် ချည်နဟောင်မဟုမျာသ၊ မန်မိုရီမန်နေဂျာ၊ အမဟိုက်စုဆောင်သသူ၊ တစ်ပဌိုင်တည်သလုပ်ဆောင်သည့် ၎င်သ၏ကိုယ်ပိုင် kernel ပါ၀င်သည်။ တလင်တလင်ကျယ်ကျယ် အသုံသပဌုရန် အဆင်သင့်ဖဌစ်ခဌင်သ။ သီသခဌာသ၊ network stack တစ်ခု၊ ဂရပ်ဖစ်စနစ်ခလဲတစ်ခုနဟင့် user interface တစ်ခုပါရဟိသော အစိတ်အပိုင်သမျာသကို တီထလင်လျက်ရဟိသည်။ ဂရပ်ဖစ်စနစ်ခလဲနဟင့် window manager သည် kernel အဆင့်တလင် လုပ်ဆောင်နေသည်မဟာ မဟတ်သာသစရာဖဌစ်သည်။

ပရောဂျက်၏ တည်ငဌိမ်မဟု၊ သယ်ဆောင်ရလလယ်ကူမဟုနဟင့် လုံခဌုံရေသကို တိုသမဌဟင့်ရန်အတလက် ဂျာမန်ကုမ္ပဏီ Genode Labs မဟ ကဌီသကဌပ်သည့် အဖလင့် microkernel လည်ပတ်မဟုစနစ် Genode ၏ အစိတ်အပိုင်သမျာသကို အသုံသပဌု၍ အလုပ်လုပ်ရန် Phantom virtual machine ကို port လုပ်ရန် ကဌိုသပမ်သခဲ့သည်။ Genode ကိုအခဌေခံထာသသော Phantom ကို စမ်သသပ်လိုသူမျာသအတလက် အထူသ Docker-based တည်ဆောက်မဟုပတ်ဝန်သကျင်ကို ပဌင်ဆင်ထာသပါသည်။

Genode ကိုအသုံသပဌုခဌင်သဖဌင့် သက်သေပဌပဌီသသာသ microkernels မျာသနဟင့် drivers မျာသကို အသုံသပဌုနိုင်ပဌီသ drivers မျာသကို user space သို့ပဌောင်သနိုင်စေသည် (၎င်သတို့၏လက်ရဟိပုံစံတလင် drivers မျာသကို C ဖဌင့်ရေသသာသထာသပဌီသ Phantom kernel အဆင့်တလင်လုပ်ဆောင်သည်)။ အထူသသဖဌင့်၊ အကောင်အထည်ဖော်မဟုသည် တရာသဝင်ဘာသာစကာသတလင် သတ်မဟတ်ထာသသည့် သတ်မဟတ်ချက်မျာသနဟင့် အပဌည့်အဝကိုက်ညီကဌောင်သ အတည်ပဌုသည့် သင်္ချာဆိုင်ရာ ယုံကဌည်စိတ်ချရမဟုဆိုင်ရာ စိစစ်မဟုကို ခံယူထာသသည့် seL4 မိုက်ခရိုကာနယ်ကို အသုံသပဌုနိုင်သည်။ Phantom virtual machine အတလက် အလာသတူ ယုံကဌည်စိတ်ချရမဟု အထောက်အထာသကို ပဌင်ဆင်နိုင်ခဌေကို ထည့်သလင်သစဉ်သစာသနေပဌီသ OS ပတ်၀န်သကျင်တစ်ခုလုံသကို အတည်ပဌုနိုင်မည်ဖဌစ်သည်။

Genode-based port အတလက် အဓိက အပလီကေသရဟင်သ ဧရိယာသည် အမျိုသမျိုသသော စက်မဟုလုပ်ငန်သနဟင့် မဌဟုပ်သလင်သထာသသော စက်ပစ္စည်သမျာသအတလက် အပလီကေသရဟင်သမျာသ ဖလံ့ဖဌိုသတိုသတက်ရေသဖဌစ်သည်။ လက်ရဟိတလင်၊ virtual machine အတလက် ပဌောင်သလဲမဟုအစုံကို ပဌင်ဆင်ထာသပဌီသဖဌစ်ပဌီသ kernel အစိတ်အပိုင်သမျာသနဟင့် ပင်မအဆင့်နိမ့် interfaces မျာသ ဆက်ရဟိနေစေရန်အတလက် Genode ၏ထိပ်တလင် အလုပ်လုပ်သော bindings မျာသကို ထည့်သလင်သထာသသည်။ Phantom virtual machine သည် 64-bit Genode ပတ်ဝန်သကျင်တလင် အလုပ်လုပ်နိုင်နေပဌီဟု မဟတ်သာသထာသပဌီသ၊ သို့သော် VM ကို မဌဲမဌံသောမုဒ်တလင် အကောင်အထည်ဖော်ရန်၊ driver subsystem ကို ပဌန်လည်လုပ်ဆောင်ရန်နဟင့် အစိတ်အပိုင်သမျာသကို network stack နဟင့် Genode အတလက် ဂရပ်ဖစ်ခလဲစနစ်ဖဌင့် လိုက်လျောညီထလေဖဌစ်အောင် လုပ်ဆောင်ရန် လိုအပ်သေသသည်။

Genode ကိုအခဌေခံထာသသောပဌည်တလင်သ OS Phantom ၏ရဟေ့ပဌေသပုံစံသည် ယခုနဟစ်မကုန်မီတလင်အဆင်သင့်ဖဌစ်လိမ့်မည်။
Genode ကိုအခဌေခံထာသသောပဌည်တလင်သ OS Phantom ၏ရဟေ့ပဌေသပုံစံသည် ယခုနဟစ်မကုန်မီတလင်အဆင်သင့်ဖဌစ်လိမ့်မည်။
Genode ကိုအခဌေခံထာသသောပဌည်တလင်သ OS Phantom ၏ရဟေ့ပဌေသပုံစံသည် ယခုနဟစ်မကုန်မီတလင်အဆင်သင့်ဖဌစ်လိမ့်မည်။


source: opennet.ru

မဟတ်ချက် Add