ZeroVM

ZeroVM هي تقنية مفتوحة المصدر وخفيفة الوزن للمحاكاة الافتراضية والعزل . تقوم بمحاكاة عملية واحدة باستخدام منصة Google Native Client . وبما أنه يتم محاكاة عملية واحدة فقط (بدلاً من نظام تشغيل كامل)، فإن وقت بدء التشغيل لا يتجاوز 5 مللي ثانية. [ 2 ]

وضع الحماية

تُنشئ ZeroVM بيئة معزولة حول عملية واحدة، [ 3 ] باستخدام تقنية تعتمد على Google Native Client (NaCl). تضمن هذه البيئة المعزولة عدم قدرة التطبيق المُشغَّل على الوصول إلى البيانات في نظام التشغيل المضيف، مما يجعل تنفيذ التعليمات البرمجية غير الموثوقة آمنًا. يجب أولًا ترجمة البرامج المُشغَّلة في ZeroVM إلى منصة NaCl. لا تستطيع ZeroVM تشغيل سوى تعليمات NaCl البرمجية المُترجمة لمنصة x86-64 ، وليس بتنسيق Portable Native Client (PNaCl).

لا يمكن للتعليمات البرمجية المنفذة في ZeroVM استدعاء وظائف النظام العادية ، ولا يمكنها التفاعل مع بيئة النظام المضيف في البداية. يتم التواصل مع العالم الخارجي عبر قنوات ، والتي يجب تعريفها قبل بدء تشغيل البرنامج. خارج بيئة ZeroVM المعزولة، يمكن ربط القناة بملف محلي، أو بأنبوب، أو بنسخة أخرى من ZeroVM. [ 4 ] داخل بيئة ZeroVM المعزولة، يرى البرنامج القناة كمعرّف ملف . يمكن للبرنامج داخل البيئة المعزولة قراءة/كتابة البيانات من/إلى القناة، ولكنه لا يعرف مكان اتصال القناة في النظام المضيف.

يمكن للبرامج المُجمَّعة لـ ZeroVM استخدام مكتبة وقت تشغيل ZeroVM المسماة ZRT. تهدف هذه المكتبة إلى تزويد البرنامج ببيئة POSIX . [ 5 ] ويتم ذلك عن طريق استبدال أجزاء من مكتبة C القياسية . على وجه الخصوص، تستبدل ZRT دوال إدخال/إخراج الملفات في C، مثل ` input` و`output`، fopenبإصدارات opendirتعمل على نظام ملفات في الذاكرة. يتم توفير نظام الملفات الجذر كملف مضغوط (tarball). يتيح هذا للبرنامج رؤية بيئة Unix عادية.

يستبدل ZRT أيضًا دوال التاريخ والوقت في لغة C، مما timeيوفر للبرامج بيئة ثابتة ومحددة . مع المدخلات الثابتة، يُضمن أن كل عملية تنفيذ تعطي نفس النتيجة. حتى البرامج غير الوظيفية تصبح محددة في هذه البيئة المقيدة. [ 6 ] وهذا يُسهّل تصحيح أخطاء البرامج نظرًا لثبات سلوكها.

التكامل مع لغة Swift

تم دمج ZeroVM مع Swift ، وهو مكون تخزين الكائنات الموزعة في OpenStack . [ 7 ] عند تثبيت برنامج ZeroCloud الوسيط في Swift، يمكن للعميل إرسال طلب إلى Swift يحتوي على برنامج ZeroVM. ثم يُنفذ البرنامج مباشرةً على عُقد التخزين، مما يعني أن البرنامج يتمتع بوصول مباشر إلى البيانات.

تاريخ

طُوِّرَت ZeroVM بواسطة LiteStack، وهي شركة ناشئة إسرائيلية. أُضيفَ أول تحديث إلى مستودع zerovmGit في نوفمبر 2011. [ 8 ] استحوذت Rackspace على LiteStack في أكتوبر 2013. [ 2 ] [ 9 ] [ 10 ] شاركت ZeroVM في برنامج حاضنة Techstars Cloud 2013 وحصلت على تمويل تأسيسي بقيمة 500,000 دولار أمريكي. [ 11 ] [ 12 ] عُقِدَت أول قمة تصميم لـ ZeroVM في يناير 2014 في جامعة تكساس في سان أنطونيو . [ 13 ]

انظر أيضاً

مراجع

  1. "الإصدار 1.0" . 20 مارس 2014. تم الاطلاع عليه بتاريخ 23 يوليو 2018 .
  2. 1 2 ليندبرغ، فان. "ZeroVM: أصغر حجمًا، وأخف وزنًا، وأسرع" . مدونة راك سبيس . مؤرشف من الأصل في 19 سبتمبر 2015. تم الاطلاع عليه في 14 أبريل 2014 .
  3. يغولالب، سردار (23 أكتوبر 2013). "ZeroVM تُحاكي التطبيقات، لا الأجهزة" . إنفوورلد . تم الاطلاع عليه بتاريخ 14 أبريل 2014 .
  4. "قنوات ZeroVM" . GitHub . تم الاطلاع عليه بتاريخ 14 أبريل 2014 .
  5. "ZRT Readme" . GitHub . تم الاطلاع عليه بتاريخ 14 أبريل 2014 .
  6. "بنية ZeroVM" . مؤرشف من الأصل في 8 فبراير 2014. تم الاطلاع عليه في 14 أبريل 2014 .
  7. "ZeroCloud" . GitHub . تم الاطلاع عليه بتاريخ 14 أبريل 2014 .
  8. جيليادوف، كامويل. "التغيير الأول" . جيت هاب . تم الاطلاع عليه بتاريخ 18 أبريل 2014 .
  9. شاما، ديفيد (24 أكتوبر 2013). "راك سبيس تستحوذ على برنامج ZeroVM المُصمم خصيصًا للحوسبة السحابية" . ZDNet . تم الاطلاع عليه بتاريخ 14 أبريل 2014 .
  10. كلارك، جاك (25 أكتوبر 2013). "راك سبيس تتجه إلى إسرائيل، وتحصل على سلاح جديد متطور لحروب الحوسبة السحابية" . ذا ريجستر . تم الاطلاع عليه بتاريخ 14 أبريل 2014 .
  11. إيدان، هين (3 نوفمبر 2013). "استحواذ راك سبيس على شركة زيرو في إم الإسرائيلية" . جيك تايم . مؤرشف من الأصل في 30 مارس 2014. تم الاطلاع عليه في 14 أبريل 2014 .
  12. لوريك، لورا (19 أبريل 2013). "شركة ZeroVM تُطوّر برمجيات للحوسبة السحابية" . أخبار سيليكون هيلز . تم الاطلاع عليه بتاريخ 14 أبريل 2014 .
  13. راك سبيس. "قمة تصميم ZeroVM" . يوتيوب . تم الاطلاع عليه بتاريخ 18 أبريل 2014 .