موزیلا، ګړندی، انټیل او ریډ هیټ د نړیوال کارونې لپاره د پلیټ فارم په توګه WebAssembly ته وده ورکوي

موزیلا، چټک، انټیل او ریډ هټ متحد د ټیکنالوژیو په پراختیا کې د هغې هڅې چې په هر زیربنا، عملیاتي سیسټم، یا وسیله کې د خوندي کوډ اجرا کولو لپاره د WebAssembly یو نړیوال پلیټ فارم جوړولو کې مرسته کوي. د رن ټایم او تالیف کونکو ګډ پرمختګ لپاره یوه ټولنه رامینځته شوې چې نه یوازې په ویب براوزرونو کې د WebAssembly کارولو ته اجازه ورکوي. د بایټکوډ اتحاد.

د پورټ ایبل برنامو رامینځته کولو لپاره چې د ویب اسمبلي په شکل کې وړاندې شوي چې د براوزر څخه بهر اجرا کیدی شي ، موږ د API کارولو وړاندیز کوو واسي (WebAssembly System Interface)، کوم چې د عملیاتي سیسټم سره د مستقیم تعامل لپاره سافټویر انٹرفیس چمتو کوي (د فایلونو، ساکټونو او نورو سره کار کولو لپاره POSIX API). د WASI په کارولو سره د غوښتنلیکونو د اجرا کولو ماډل یوه ځانګړې ځانګړتیا دا ده چې دوی د اصلي سیسټم څخه د جلا کولو لپاره د سینڈ باکس چاپیریال کې پرمخ ځي او د هرې سرچینې (فایلونو، لارښودونو، ساکټونو، سیسټم کالونو) سره د کړنو لپاره د وړتیا مدیریت پر بنسټ د امنیت میکانیزم کاروي. ، او داسې نور) غوښتنلیک ته باید مناسب اجازې ورکړل شي (یوازې اعلان شوي فعالیت ته لاسرسی چمتو شوی).

یو له اهداف رامینځته شوی اتحاد د لوی شمیر انحصارونو سره د عصري ماډلر غوښتنلیکونو توزیع کولو ستونزې حل دی. په داسې غوښتنلیکونو کې، هر انحصار ممکن د زیان منونکو یا بریدونو احتمالي سرچینه وي. د انحصار کنټرول تاسو ته اجازه درکوي چې د دې سره تړلي ټولو غوښتنلیکونو کنټرول ترلاسه کړئ. په غوښتنلیک کې باور په اوتومات ډول په ټولو انحصارونو باندې باور رامینځته کوي ، مګر انحصار اکثرا د دریمې ډلې ټیمونو لخوا رامینځته کیږي او ساتل کیږي چې فعالیتونه یې نشي کنټرول کیدی. د بایټ کوډ اتحادیې غړي اراده لري چې د ویب اسمبلي غوښتنلیکونو خوندي اجرا کولو لپاره هولیسټیک حل چمتو کړي چې په طبیعي ډول د باور وړ ندي.

د محافظت لپاره، دا وړاندیز شوی چې د نانو پروسس مفکوره وکاروئ، په کوم کې چې د انحصار هر ماډل په جلا جلا جلا جلا WebAssembly ماډل کې ویشل شوی، چې واکونه یې یوازې د دې ماډل سره تړاو لري (د بیلګې په توګه، د پروسس تارونو لپاره کتابتون به نه وي. د دې وړتیا ولرئ چې د شبکې ساکټ یا فایل خلاص کړئ). د پروسې د جلا کولو برعکس، د ویب اسسمبلي سمبالونکي لږ وزن لري او تقریبا هیڅ اضافي سرچینو ته اړتیا نلري - د سمبالونکو تر مینځ تعامل د عادي فعالیتونو غږولو په پرتله خورا ورو نه دی. جلا کول نه یوازې د انفرادي ماډلونو په کچه ترسره کیدی شي ، بلکه د ماډلونو ګروپونو په کچه هم ترسره کیدی شي چې د مثال په توګه ، د عام حافظې ساحو سره کار کولو ته اړتیا لري.

غوښتل شوي واکونه پخپله د انحصار په کچه ټاکل کیدی شي، او د اصلي ماډلونو لخوا د سلسلې په اوږدو کې انحصارونو ته سپارل کیدی شي (په WASI کې سرچینې د یو ځانګړي ډول فایل تشریح کونکي - وړتیا سره تړاو لري). د مثال په توګه، یو ماډل کولی شي د ځانګړي لارښود او سیسټم تلیفونونو ته د لاسرسي وړتیا واستول شي، او که چیرې د ماډل پراختیایي زیربنا جوړه شوې وي یا یو زیانمنونکي پیژندل کیږي، د برید په جریان کې، لاسرسی به یوازې دې سرچینو ته محدود وي. د ماډل جوړونکو لخوا د سرچینو اعلامیه د شکمن فعالیت شاخص کیدی شي، لکه کله چې د متن پروسس کولو ماډل د شبکې اتصال خلاصولو لپاره د اجازې غوښتنه کوي. په پیل کې ټاکل شوي اجازې چک شوي او که دوی بدل شي، د انحصار بار کول رد کیږي تر هغه چې د محلي ماډل لاسلیک تازه نشي.

د بایټکوډ اتحاد د وزر لاندې د ګډ پرمختګ لپاره ژباړه څو د WebAssembly پورې اړه لري پروژې، پخوا د اتحاد د بنسټ ایښودونکو شرکتونو لخوا په جلا توګه رامینځته شوی:

  • واسکټ - د منظم سټنډرډ غوښتنلیکونو په توګه د WASI توسیعونو سره د WebAssembly غوښتنلیکونو چلولو لپاره د وخت وخت. دا دواړه د ځانګړي کمانډ لاین افادیت په کارولو سره د WebAssembly بایټکوډ پیل کولو او د چمتو شوي اجرایوي فایلونو سره لینک کولو ملاتړ کوي (واسم وخت په غوښتنلیک کې د کتابتون په توګه رامینځته شوی). Wasmtime یو انعطاف منونکی ماډلر جوړښت لري چې تاسو ته اجازه درکوي د مختلف غوښتنلیکونو لپاره د چلولو وخت اندازه کړئ، د بیلګې په توګه، تاسو کولی شئ د محدودو سرچینو سره د وسیلو لپاره یو پټ شوی نسخه جوړه کړئ؛
  • لوکټ - د WebAssembly بڼه کې د پروګرامونو اجرا کولو لپاره کمپیلر او چلولو وخت. ځانګړی ځانګړتیا لوسیټ د JIT پرځای د مستقیم اجرا کولو لپاره مناسب ماشین کوډ کې د بشپړ وړاندوینې تالیف (AOT، مخکې وخت) کارول دي. پروژه د فاسټلي لخوا رامینځته شوې او د لږترلږه سرچینو مصرفولو او خورا ګړندي نوي مثالونو پیل کولو لپاره مطلوبه ده (په چټکۍ سره د کلاوډ ایج کمپیوټري انجن کې لوسیټ کاروي چې د هرې غوښتنې په اړه پیل شوي هینډلرانو لپاره WebAssembly کاروي). د ګډې پروژې د یوې برخې په توګه، د Lucet کمپیلر پلان شوی چې د Wasmtime د اساس په توګه کارولو لپاره بدل شي؛
  • WAMR (WebAssembly Micro Runtime) د WebAssembly اجرا کولو لپاره بل وخت دی، په اصل کې د انټیل لخوا د شیانو په انټرنیټ کې د کارولو لپاره رامینځته شوی. WAMR د لږترلږه سرچینو مصرف لپاره مطلوب دی او د لږ مقدار رام سره په وسیلو کې کارول کیدی شي. په پروژه کې د WebAssembly بایټکوډ اجرا کولو لپاره یو ترجمان او مجازی ماشین شامل دی، یو API (د Libc یوه فرعي سیټ) او د متحرک غوښتنلیک مدیریت لپاره اوزار؛
  • کرینیلفټ - د کوډ جنریټر چې د هارډویر جوړښتونو څخه خپلواک منځمهاله نمایش د اجرا وړ ماشین کوډ ته ژباړي چې د ځانګړي هارډویر پلیټ فارمونو لپاره مطلوب دی. کرین لیفټ د خورا ګړندي پایلې تولید لپاره د فنکشن تالیف موازي کولو ملاتړ کوي ، کوم چې دې ته اجازه ورکوي چې د JIT کمپیلرونو رامینځته کولو لپاره وکارول شي (د کرین لیفټ میشته JIT د Wasmtime مجازی ماشین کې کارول کیږي)؛
  • WASI عام - د عملیاتي سیسټم سره د تعامل تنظیم کولو لپاره د WASI (WebAssembly System Interface) API جلا پلي کول؛
  • cargo-wasi - د کارګو کڅوړې مدیر لپاره یو ماډل چې د ویب اسسمبلي بایټکوډ کې د زنګ کوډ د راټولولو لپاره کمانډ پلي کوي د WASI انٹرفیس په کارولو سره د براوزر څخه بهر د WebAssembly کارولو لپاره؛
  • واټ и wasmparser - د پارس کولو متن (WAT، WAST) او د WebAssembly بایټکوډ بائنری نمایش لپاره پارسر.

د بیاکتنې لپاره، WebAssembly د Asm.js په څیر ډیر دی، مګر مختلف په دې کې دا یو بائنری بڼه ده چې له جاواسکریپټ سره تړلې نه ده او اجازه ورکوي د ټیټې کچې منځمهاله کوډ چې د مختلف پروګرامینګ ژبو څخه ترتیب شوي په براوزر کې اجرا شي. WebAssembly د کثافاتو راټولونکي ته اړتیا نلري ځکه چې دا د واضح حافظې مدیریت کاروي. د WebAssembly لپاره د JIT په کارولو سره، تاسو کولی شئ د اصلي کوډ سره نږدې د فعالیت کچه ​​​​ترلاسه کړئ. د WebAssembly اصلي اهدافو څخه د پورټ وړتیا، د وړاندوینې وړ چلند او په مختلف پلیټ فارمونو کې د ورته کوډ اجرا کول ډاډمن کول دي.

سرچینه: opennet.ru

Add a comment