تعمل Mozilla و Fastly و Intel و Red Hat على الترويج لـ WebAssembly باعتباره نظامًا أساسيًا عالميًا

WebAssembly

تعاونت Mozilla و Fastly و Intel و Red Hat مع تطوير التقنيات التي تصنع WebAssembly منصة عالمية لتشغيل التعليمات البرمجية بأمان على أي بنية أساسيةونظام التشغيل والجهاز. من أجل التطوير المشترك لوقت التشغيل والمترجمين ، والذي يسمح باستخدام WebAssembly ليس فقط في متصفحات الويب ، تم تشكيل مجتمع Bytecode Alliance.

لإنشاء برامج محمولة يتم تسليمها بتنسيق WebAssembly يمكن تنفيذه خارج المتصفح ، يُقترح استخدام واجهة برمجة تطبيقات WASI (واجهة نظام WebAssembly) ، والتي توفر واجهات برامج للتفاعل المباشر مع نظام التشغيل (POSIX API للعمل مع الملفات والمآخذ وما إلى ذلك).

سمة مميزة لنموذج تنفيذ التطبيقات التي تستخدم WASأنا أبدأ في بيئة رمل للعزل عن النظام الرئيسي واستخدام آلية أمان تعتمد على إدارة السعة ، للإجراءات مع كل من الموارد (الملفات والأدلة والمقابس ومكالمات النظام وما إلى ذلك) ، يجب أن يكون للتطبيق التفويض المقابل (يتم توفير الوصول فقط للوظيفة المعلنة).

A من أهداف التحالف خلقت هو حل مشكلة انتشار التطبيقات المعيارية الحديثة مع الكثير من التبعيات. في مثل هذه التطبيقات ، يمكن أن تكون كل تبعية مصدرًا محتملاً للثغرات الأمنية أو الهجمات. يتيح لك التحكم في التبعية التحكم في جميع التطبيقات المرتبطة به.

يعتزم أعضاء تحالف Bytecode إعداد حل كامل من أجل التنفيذ الآمن لتطبيقات WebAssembly التي كانت في البداية غير موثوق بها.

للحماية، يقترح استخدام مفهوم المعالجة النانويةs ، حيث يتم فصل كل وحدة تبعية في وحدة WebAssembly المنفصلة، الذي تم تكوين سلطته للربط بهذه الوحدة فقط (على سبيل المثال ، لا يمكن لمكتبة معالجة السلاسل فتح مقبس أو ملف شبكة).

على عكس عملية الفصل ، تتميز معالجات WebAssembly بأنها خفيفة الوزن ولا تتطلب موارد إضافية تقريبًا بالإضافة إلى ذلك ، فإن التفاعل بين المعالجات ليس أبطأ بكثير من استدعاء الوظائف العادية.

من أجل التطوير المشترك ، تم نقل العديد من المشاريع المتعلقة بـ WebAssembly ، والتي تم تطويرها مسبقًا بشكل منفصل من قبل الشركات المؤسسة للتحالف ، تحت جناح Bytecode Alliance:

  • كان: A وقت التشغيل لتشغيل تطبيقات WebAssembly بامتدادات WASI كتطبيقات قائمة بذاتها عادية. وهو يدعم تشغيل WebAssembly bytecode باستخدام أداة مساعدة خاصة لسطر الأوامر وتصميم ملفات قابلة للتنفيذ جاهزة (تم تضمين wasmtime في التطبيق كمكتبة).
  • لوسيت: هو برنامج التحويل البرمجي ووقت تشغيل لتشغيل البرامج بتنسيق WebAssembly. الميزة المميزة لـ Lucet هي استخدام التجميع الوقائي الكامل (AOT ، مقدمًا) على رمز الجهاز المناسب للتنفيذ المباشر بدلاً من JIT. تم تطوير المشروع بواسطة Fastly وتم تحسينه لاستهلاك الحد الأدنى من الموارد وإطلاق مثيلات جديدة بسرعة. كجزء من مشروع مشترك ، من المخطط تغيير مترجم Lucet لاستخدام Wasmtime كقاعدة.
  • WAMR (وقت تشغيل مايكرو لتجميع الويب): es وقت تشغيل آخر لتشغيل WebAssembly ، تم تطويره في الأصل بواسطة Intel للاستخدام في أجهزة إنترنت الأشياء. WAMR تم تحسينه لأدنى حد من استهلاك الموارد ويمكن استخدامه على الأجهزة التي تحتوي على كمية صغيرة من ذاكرة الوصول العشوائي. يتضمن المشروع مترجمًا وجهازًا ظاهريًا لتشغيل WebAssembly bytecode وواجهة برمجة تطبيقات (مجموعة فرعية من Libc) وأدوات لإدارة التطبيقات ديناميكيًا.
  • رافعة: إس منشئ رمز يترجم التمثيل الوسيط المستقل عن الأجهزة إلى رمز الجهاز قابل للتنفيذ محسّن لمنصات أجهزة معينة. يدعم Cranelift موازاة تجميع الوظائف لتوليد إخراج سريع جدًا ، مما يسمح لك باستخدامه لإنشاء مترجمين JIT (يتم استخدام JIT المستندة إلى Cranelift في جهاز Wasmtime الظاهري).
  • هل كنت: ل تنفيذ مستقل لـ WASI API (واجهة نظام تجميع الويب) لتنظيم التفاعل مع نظام التشغيل.
  • البضائع- wasi: un وحدة لمدير حزمة البضائع الذي ينفذ أمرًا لترجمة كود Rust في WebAssembly bytecode باستخدام واجهة WASI لاستخدام WebAssembly خارج المستعرض.
  • وات و wasmparser: هي موزعي لتحليل النص (WAT، WAST) والتمثيلات الثنائية لرمز بايت WebAssembly.

اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: AB Internet Networks 2008 SL
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.

  1.   01101001b قال

    "بخلاف فصل العمليات ، تتميز معالجات WebAssembly بأنها خفيفة ولا تتطلب موارد إضافية تقريبًا" ...
    مع وجود Mozilla و Red Hat في المزيج ، فإن ملاحظة "الضوء ولا تتطلب موارد إضافية تقريبًا" في طريقها إلى أن تكون نكتة رائعة xD