MirageOS 4.0 جو رليز، هائپر ويزر جي چوٽي تي ايپليڪيشن هلائڻ لاءِ هڪ پليٽ فارم

ترقي جي اڌ سال کان پوء، MirageOS 4.0 پروجيڪٽ جاري ڪيو ويو آهي، هڪ ايپليڪيشن لاء آپريٽنگ سسٽم ٺاهڻ جي اجازت ڏني وئي آهي، جنهن ۾ ايپليڪيشن هڪ خودمختاري "يونيڪرنل" جي طور تي پهچايو ويندو آهي، جيڪو آپريٽنگ جي استعمال کان سواء هلائڻ جي قابل آهي. سسٽم، هڪ الڳ OS ڪنييل ۽ ڪنهن به پرت. OCaml ٻولي ايپليڪيشنن کي ترقي ڪرڻ لاء استعمال ڪيو ويندو آهي. پروجيڪٽ ڪوڊ مفت ISC لائسنس تحت ورهايو ويو آهي.

آپريٽنگ سسٽم ۾ شامل تمام گهٽ سطحي ڪارڪردگي هڪ لائبريري جي صورت ۾ لاڳو ڪئي وئي آهي جيڪا ايپليڪيشن سان ڳنڍيل آهي. ايپليڪيشن ڪنهن به OS تي ترقي ڪري سگهجي ٿي، جنهن کان پوءِ ان کي هڪ خاص ڪرنل (يونيڪرنل تصور) ۾ مرتب ڪيو ويو آهي، جيڪو سڌو سنئون هلائي سگهي ٿو Xen، KVM، BHyve ۽ VMM (OpenBSD) هائپر وائزرز جي مٿان، موبائل پليٽ فارمن جي مٿي تي. POSIX-compliant ماحول ۾ يا ڪلائوڊ ماحول ۾ هڪ عمل جي صورت ۾ Amazon Elastic Compute Cloud ۽ Google Compute Engine.

ٺاهيل ماحول ۾ ڪا به ضرورت کان وڌيڪ نه هوندي آهي ۽ سڌو سنئون هائپر وائزر سان بغير ڊرائيور يا سسٽم جي پرتن سان رابطو ڪري ٿو، جيڪا اوور هيڊ خرچن ۾ اهم گهٽتائي ۽ سيڪيورٽي کي وڌائڻ جي اجازت ڏئي ٿي. MirageOS سان ڪم ڪرڻ ٽن مرحلن تي اچي ٿو: ماحول ۾ استعمال ٿيل OPAM پيڪيجز جي وضاحت سان ترتيب ڏيڻ، ماحول کي گڏ ڪرڻ، ۽ ماحول کي شروع ڪرڻ. هائپر ويزرز جي چوٽي تي آپريشن کي يقيني بڻائڻ لاء، رن ٽائيم سولو 5 ڪنييل جي بنياد تي ٺهيل آهي.

ان حقيقت جي باوجود ته ايپليڪيشنون ۽ لائبريريون اعليٰ سطحي OCaml ٻوليءَ ۾ ٺاهيا ويا آهن، نتيجي ۾ ماحول تمام سٺي ڪارڪردگي ۽ گهٽ ۾ گهٽ سائيز جو مظاهرو ڪري ٿو (مثال طور، DNS سرور صرف 200 KB وٺي ٿو). ماحول جي سار سنڀال پڻ آسان آهي، ڇو ته جيڪڏهن پروگرام کي اپڊيٽ ڪرڻ يا ترتيب تبديل ڪرڻ ضروري آهي، اهو هڪ نئون ماحول ٺاهڻ ۽ شروع ڪرڻ لاء ڪافي آهي. OCaml ٻولي ۾ ڪيترائي سؤ لائبريريون نيٽ ورڪ آپريشنز (DNS، SSH، OpenFlow، HTTP، XMPP، Matrix، OpenVPN، وغيره) انجام ڏيڻ لاءِ سپورٽ ٿيل آهن، اسٽوريج سان ڪم ڪرڻ ۽ متوازي ڊيٽا پروسيسنگ مهيا ڪرڻ.

اهم واڌارو:

  • پروجيڪٽ کي گڏ ڪرڻ ۽ unikernel جي عمل کي تبديل ڪيو ويو آهي. اڳ ۾ استعمال ٿيل ocamlbuild اسيمبلي سسٽم جي بدران، ڊون ٽول ڪٽ ۽ مقامي مخزن (monorepo) استعمال ڪيا ويا آهن. اهڙيون مخزنون ٺاهڻ لاءِ، هڪ نئين opam-monorepo يوٽيلٽي شامل ڪئي وئي آهي، جيڪا اهو ممڪن بڻائي ٿي ته پيڪيج مينيجمينٽ کي ماخذ ڪوڊ کان بلڊنگ کان الڳ ڪري. opam-monorepo افاديت ڪم ڪري ٿي جيئن پروجيڪٽ سان لاڳاپيل انحصار لاءِ لاڪ فائلون ٺاهڻ، انحصار ڪوڊ لوڊ ڪرڻ ۽ ڪڍڻ، ۽ ڊون بلڊ سسٽم کي استعمال ڪرڻ لاءِ ماحول کي ترتيب ڏيڻ. اصل اسيمبلي ڊون ٽول ڪٽ جي ذريعي ڪئي وئي آهي.
  • هڪ ورجائي قابل تعمير عمل مهيا ڪيو ويو آهي. لاڪ فائلن کي استعمال ڪندي انحصار ورزن لاءِ لنڪ مهيا ڪري ٿي ۽ توهان کي اجازت ڏئي ٿي ته تعمير جي عمل کي ڪنهن به وقت ساڳئي ڪوڊ سان مڪمل طور تي ورجائي.
  • هڪ نئون ڪراس-ڪپليشن وارو عمل لاڳو ڪيو ويو آهي ۽ هڪ عام تعميراتي ماحول مان سڀني سپورٽ ٿيل ٽارگيٽ پليٽ فارمن لاءِ ڪراس-ڪپائل ڪرڻ جي صلاحيت مهيا ڪئي وئي آهي، جيڪي پڻ ڪراس-ڪپلائيز انحصار ۽ لائبريريون جن ۾ سي بائنڊنگز آهن، انهن بائنڊنگز کي شامل ڪرڻ جي ضرورت کان سواءِ. مکيه پيڪيج. ڪراس تاليف منظم ڪيو ويو آهي ڪم اسپيس استعمال ڪندي ڊو بلڊ سسٽم پاران مهيا ڪيل.
  • نئين ھدف واري پليٽ فارمن لاءِ سپورٽ شامل ڪئي وئي آھي، مثال طور، Raspberry Pi 4 بورڊن تي ھلڻ لاءِ پاڻمرادو ايپليڪيشن تيار ڪرڻ جي تجرباتي صلاحيت مهيا ڪئي وئي آھي.
  • MirageOS جي حصن کي OCaml ٻولي ۾ ترقي سان لاڳاپيل ايڪو سسٽم ۾ ضم ڪرڻ لاءِ ڪم ڪيو ويو آهي ته جيئن unikernel جي صورت ۾ ايپليڪيشنن جي اسيمبلي کي آسان بڻائي سگهجي. ڪيترائي MirageOS پيڪيجز ڊن بلڊ سسٽم ڏانهن پورٽ ڪيا ويا آهن. opam-monorepo افاديت اوپيم پيڪيج مينيجر کي استعمال ڪندي تنصيب لاءِ دستياب آهي ۽ انهن منصوبن ۾ استعمال ٿي سگهي ٿو جيڪي ڊون بلڊ سسٽم استعمال ڪن ٿا. پيچ کي برقرار رکڻ لاءِ جيڪي مسئلا حل ڪن ٿا dune ۾ تعميراتي انحصار سان، ٻه ذخيرا ٺاهيا ويا آهن: dune-universe/opam-overlays ۽ dune-universe/mirage-opam-overlays، جيڪي ڊفالٽ طور فعال ٿين ٿيون جڏهن ميرج CLI يوٽيلٽي استعمال ڪندي.
  • C ۽ Rust لائبريرين سان MirageOS انضمام کي آسان ڪيو ويو آهي.
  • ھڪڙو نئون OCaml رن ٽائم تجويز ڪيو ويو آھي جيڪو توھان کي اجازت ڏئي ٿو بغير بغير libc (libc-free).
  • اهو ممڪن آهي ته مرلن سروس کي استعمال ڪرڻ لاء معياري مربوط ترقياتي ماحول سان گڏ.

جو ذريعو: opennet.ru

تبصرو شامل ڪريو