Mozilla မှ ကျွမ်းကျင်သူများသည် ဘရောက်ဆာအပြင်ဘက်တွင် အလုပ်လုပ်သော ပုံမှန်အပလီကေးရှင်းများကို ဖန်တီးရန်အတွက် API ဖွံ့ဖြိုးတိုးတက်မှုပါ၀င်သည့် WASI (WebAssembly System Interface) ပရောဂျက်ကို တင်ပြခဲ့သည်။ တစ်ချိန်တည်းမှာပင်၊ ကျွန်ုပ်တို့သည် ထိုကဲ့သို့သော အပလီကေးရှင်းများ၏ ဖြတ်ကျော်ပလပ်ဖောင်းနှင့် လုံခြုံရေးအဆင့်မြင့်ခြင်းအကြောင်း ကနဦးပြောနေပါသည်။
မှတ်သားထားသည့်အတိုင်း၊ ၎င်းတို့သည် အထူး "sandbox" တွင်လည်ပတ်ပြီး ဖိုင်များ၊ ဖိုင်စနစ်၊ ကွန်ရက်ခြေပေါက်များ၊ အချိန်တိုင်းကိရိယာများနှင့် အခြားအရာများကို ဝင်ရောက်ကြည့်ရှုနိုင်သည်။ ဤကိစ္စတွင်၊ ပရိုဂရမ်သည် ခွင့်မပြုကြောင်း သိရှိထားသည့် လုပ်ဆောင်ချက်များကိုသာ လုပ်ဆောင်နိုင်သည်။
WebAssembly pseudocode သည် Assembler language ၏ ပလတ်ဖောင်း-အမှီအခိုကင်းသော မူကွဲတစ်ခုဖြစ်ကြောင်း ထည့်သွင်းစဉ်းစားခြင်းဖြင့် JIT ကိုအသုံးပြုခြင်းဖြင့် သင့်အား မူရင်းအပလီကေးရှင်းအဆင့်တွင် မြင့်မားသောကုဒ်စွမ်းဆောင်ရည်ကို ရရှိစေမည်ဖြစ်သည်။ လောလောဆယ်တွင် အခြေခံ POSIX APIs (ဖိုင်များ၊ ဆော့ဖ်ဝဲများ စသည်ဖြင့်) ကို အကောင်အထည်ဖော်ရန် ပံ့ပိုးပေးထားပြီးဖြစ်သော်လည်း သော့ခတ်မှုများနှင့် အပြိုင်အဆိုင် I/O များကို မပံ့ပိုးနိုင်သေးပါ။ အနာဂတ်တွင်၊ cryptography၊ 3D ဂရပ်ဖစ်၊ အာရုံခံကိရိယာများနှင့် မာလ်တီမီဒီယာများအတွက် မော်ဂျူးများ ပေါ်လာမည်ဟု မျှော်လင့်ရသည်။
Fastly ပရောဂျက်သည် WebAssembly အပလီကေးရှင်းများအတွက် Lucet compiler ကို မိတ်ဆက်ခဲ့ကြောင်းလည်း သတိပြုသင့်သည်။ ၎င်းသည် ပြင်ပကုမ္ပဏီ WebAssembly ပရိုဂရမ်များကို ပလပ်အင်များကဲ့သို့သော အခြားသော အပလီကေးရှင်းများအတွင်း ဘေးကင်းစွာ လုပ်ဆောင်နိုင်စေပါသည်။ compiler ကိုယ်တိုင်က Rust ဘာသာစကားဖြင့် ရေးသားထားပြီး C၊ Rust နှင့် TypeScript တွင် ကုဒ်ကို ပံ့ပိုးပေးပါသည်။
ဟုတ်ပါတယ်၊ ဒီချဉ်းကပ်မှုရဲ့ ဘေးကင်းရေးနဲ့ ပတ်သက်တဲ့ မေးခွန်းများစွာ ရှိပါသေးသည်။ sandbox တွင် ကုဒ်ကို အကောင်အထည်ဖော်ခြင်းသည် ပင်မစနစ်၏ လုပ်ဆောင်ချက်များကို ဝင်ရောက်ခြင်းနှင့်အတူ အလွန်ထူးခြားစွာ ပေါင်းစပ်ထားသောကြောင့် ဤပြဿနာသည် ရှင်းလင်းချက် လိုအပ်နေသေးသည်။ ထို့အပြင်၊ ဤမုဒ်တွင် မည်သည့်ပရိုဂရမ်များ လုပ်ဆောင်သင့်ပြီး ၎င်းတို့၏ အပြုအမူကို စောင့်ကြည့်ရမည်ကို ရှင်းရှင်းလင်းလင်း မသိရပါ။
source: 3dnews.ru