Rust သည် platform ဖွံ့ဖြိုးတိုးတက်ရေးအတွက် အဓိကဘာသာစကားများထဲတွင် ပါဝင်သည်။ Android

Google က Rust programming language ကို သူ့ရဲ့ platform မှာ ထည့်သွင်းသွားမယ်လို့ ကြေညာလိုက်ပါတယ်။ AndroidRust ဘာသာစကား compiler ကို source tree တွင် ထည့်သွင်းထားသည်။ Android ၂၀၁၉ ခုနှစ်မှာတော့ ဒီဘာသာစကားအတွက် ပံ့ပိုးမှုကို စမ်းသပ်နေဆဲပါ။ ပထမဆုံး Rust အစိတ်အပိုင်းတွေထဲက တချို့ကို ဖြန့်ချိဖို့ စီစဉ်ထားပါတယ်။ Androidတို့သည် Binder interprocess ဆက်သွယ်ရေး ယန္တရားနှင့် Bluetooth stack ၏ အကောင်အထည်ဖော်မှုအသစ်များ ဖြစ်သည်။

Rust ကို အကောင်အထည်ဖော်ခြင်းသည် လုံခြုံရေးကို အားကောင်းစေရန်၊ လုံခြုံသော ပရိုဂရမ်းမင်း လုပ်ဆောင်မှုများကို မြှင့်တင်ရန်နှင့် မှတ်ဉာဏ်ပြဿနာများကို ဖော်ထုတ်ခြင်း၏ ထိရောက်မှုကို မြှင့်တင်ရန် စီမံကိန်း၏ တစ်စိတ်တစ်ပိုင်းဖြစ်သည်။ Androidအန္တရာယ်ရှိသော အားနည်းချက်အားလုံး၏ ၇၀% ခန့်ကို ဖော်ထုတ်တွေ့ရှိခဲ့ကြောင်း သတိပြုမိပါသည်။ Androidမှတ်ဉာဏ်အမှားများကြောင့် ဖြစ်ပေါ်လာသည်။ မှတ်ဉာဏ်ဘေးကင်းရေးကို အာရုံစိုက်ပြီး အလိုအလျောက် မှတ်ဉာဏ်စီမံခန့်ခွဲမှုကို ပေးစွမ်းသည့် Rust ဘာသာစကားကို အသုံးပြုခြင်းဖြင့် မှတ်ဉာဏ်ကို လွတ်မြောက်စေပြီးမှ ဝင်ရောက်ခြင်းနှင့် buffer overrun များကဲ့သို့သော မှတ်ဉာဏ်အမှားများကြောင့် ဖြစ်ပေါ်လာသော အားနည်းချက်များ၏ အန္တရာယ်ကို လျှော့ချပေးလိမ့်မည်။

ကိုးကားစစ်ဆေးခြင်း၊ အရာဝတ္တုပိုင်ဆိုင်မှုခြေရာခံခြင်းနှင့် အရာဝတ္ထုသက်တမ်း (scope) စာရင်းကိုင်ခြင်းအပြင် runtime memory access validation မှတဆင့် Memory safety ကို Rust တွင် ပေးထားပါသည်။ Rust သည် ကိန်းပြည့်ပြည့်လျှံမှုများကိုလည်း အကာအကွယ်ပေးသည်၊ အသုံးမပြုမီ ကိန်းရှင်များကို ကနဦးအစပြုရန် လိုအပ်သည်၊ စံဒစ်ဂျစ်တိုက်ရှိ အမှားများကို ပိုမိုကောင်းမွန်စွာကိုင်တွယ်ရန်၊ ပုံသေအားဖြင့် မပြောင်းလဲနိုင်သော အကိုးအကားများနှင့် ကိန်းရှင်များ၏ သဘောတရားကို အသုံးပြုကာ ယုတ္တိအမှားများကို အနည်းဆုံးဖြစ်စေရန်အတွက် ခိုင်လုံသော static typing ကို ပံ့ပိုးပေးပါသည်။

В Android Kotlin နှင့် Java ကဲ့သို့သော ပံ့ပိုးပေးပြီးသား ဘာသာစကားများက မန်မိုရီဘေးကင်းရေးကို ပံ့ပိုးပေးထားသော်လည်း၊ ၎င်းတို့သည် overhead မြင့်မားသောကြောင့် system components များ တီထွင်ရာတွင် မသင့်တော်ပါ။ Rust သည် C နှင့် C++ နီးပါး စွမ်းဆောင်ရည်ကို ပေးစွမ်းသောကြောင့် low-level platform components များနှင့် hardware interaction components များ တီထွင်ရာတွင် သင့်လျော်ပါသည်။

C နှင့် C++ ကုဒ်များ၏ လုံခြုံမှုကို သေချာစေရန်အတွက် Android Sandbox isolation၊ static analysis နှင့် fuzzing testing တို့ကို အသုံးပြုထားသည်။ Sandbox isolation စွမ်းရည်များသည် အကန့်အသတ်ရှိပြီး ၎င်းတို့၏ ကန့်သတ်ချက်များသို့ ရောက်ရှိနေပြီဖြစ်သည် (လုပ်ငန်းစဉ်များအတွင်း နောက်ထပ် fragmentation သည် resource consumption ရှုထောင့်မှကြည့်လျှင် လက်တွေ့မကျပါ)။ sandboxing ၏ ကန့်သတ်ချက်များတွင် overhead မြင့်မားခြင်းနှင့် လုပ်ငန်းစဉ်အသစ်များ spawn လုပ်ရန် လိုအပ်ချက်ကြောင့် မှတ်ဉာဏ်သုံးစွဲမှု မြင့်တက်လာခြင်းအပြင် IPC အသုံးပြုမှုနှင့် ဆက်စပ်နေသော နောက်ထပ် latency များ ပါဝင်သည်။

တစ်ချိန်တည်းမှာပင်၊ sandbox သည် ကုဒ်ရှိ အားနည်းချက်များကို ဖယ်ရှားပေးမည်မဟုတ်သော်လည်း အမြတ်ထုတ်ခြင်းသည် တစ်ခုမဟုတ်တစ်ခုမဟုတ်ဘဲ အားနည်းချက်များစွာကို ဖော်ထုတ်ရန် လိုအပ်သောကြောင့် အန္တရာယ်များကို လျှော့ချပေးပြီး တိုက်ခိုက်မှုကို ရှုပ်ထွေးစေပါသည်။ ကုဒ်စမ်းသပ်ခြင်းအပေါ် အခြေခံသည့် နည်းလမ်းများသည် အမှားအယွင်းများကို ဖော်ထုတ်နိုင်ရန်၊ ပြဿနာ၏ ထင်ရှားခြင်းအတွက် အခြေအနေများ ဖန်တီးရန် လိုအပ်သည်ဟူသော အချက်ဖြင့် ကန့်သတ်ထားသည်။ ဖြစ်နိုင်ချေရှိသော ရွေးချယ်မှုများအားလုံးကို ကာမိရန် မဖြစ်နိုင်သောကြောင့် အမှားအယွင်းများစွာကို သတိမပြုမိပါ။

စနစ်လုပ်ငန်းစဉ်များအတွက် Android Google သည် "နှစ်ခုစည်းမျဉ်း" ကို လိုက်နာသည်။ ၎င်းတွင် ထည့်သွင်းထားသော ကုဒ်တိုင်းသည် အခြေအနေသုံးခုအနက် နှစ်ခုထက် မပိုစေရဟု ဖော်ပြထားသည်- မယုံကြည်ရသော input ကို ကိုင်တွယ်ခြင်း၊ မလုံခြုံသော programming language (C/C++) ကို အသုံးပြုခြင်းနှင့် တင်းကျပ်သော sandboxing မပါဘဲ လုပ်ဆောင်ခြင်း (မြင့်မားသော privileges ရှိခြင်း) တို့ဖြစ်သည်။ ဤစည်းမျဉ်းသည် ပြင်ပဒေတာကို စီမံဆောင်ရွက်သော ကုဒ်ကို အနည်းဆုံး privileges များအထိ လျှော့ချခြင်း (သီးခြားထားခြင်း) သို့မဟုတ် ဘေးကင်းသော programming language ဖြင့် ရေးသားခြင်းတို့ကို ဆိုလိုသည်။

Google ဟာ Rust မှာ ရှိပြီးသား C/C++ ကုဒ်ကို ပြန်ရေးဖို့ ရည်ရွယ်မထားပေမယ့် ကုဒ်အသစ် တီထွင်ဖို့အတွက် ဘာသာစကားကို အသုံးပြုဖို့ စီစဉ်ထားပါတယ်။ စာရင်းအင်းအရ ကုဒ်အသစ် ဒါမှမဟုတ် မကြာသေးမီက ပြုပြင်ထားတဲ့ ကုဒ်တွေမှာ bug အများစု ပေါ်လာတတ်တာကြောင့် ကုဒ်အသစ်အတွက် Rust ကို အသုံးပြုတာက ကျိုးကြောင်းဆီလျော်ပါတယ်။ အထူးသဖြင့် မှတ်ဉာဏ်အမှားတွေရဲ့ ၅၀% လောက်ကို ... Android တစ်နှစ်အောက်က ရေးသားထားတဲ့ ကုဒ်တွေမှာ တွေ့ရှိနိုင်ပါတယ်။

Rust သည် platform ဖွံ့ဖြိုးတိုးတက်ရေးအတွက် အဓိကဘာသာစကားများထဲတွင် ပါဝင်သည်။ Android


source: opennet.ru
DDoS ကာကွယ်ရေး၊ VPS VDS ဆာဗာများပါသည့် ဆိုက်များအတွက် ယုံကြည်စိတ်ချရသော hosting ကို ဝယ်ယူပါ။ 🔥 DDoS ကာကွယ်မှု၊ VPS VDS ဆာဗာများပါရှိသော ယုံကြည်စိတ်ချရသော ဝဘ်ဆိုက် hosting ကို ဝယ်ယူပါ | ProHoster