Selepas satu setengah tahun pembangunan pelancaran versi baru projek "Mirage OS 4.0" yang membenarkan penciptaan sistem pengendalian untuk satu aplikasi, di mana aplikasi itu dihantar sebagai "unikernel" serba lengkap yang boleh berjalan tanpa menggunakan sistem pengendalian, kernel OS yang berasingan dan sebarang lapisan.
Semua fungsi peringkat rendah asli kepada sistem pengendalian dilaksanakan sebagai perpustakaan yang dilampirkan pada aplikasi.
Mengenai MirageOS
aplikasi boleh dibangunkan pada mana-mana sistem pengendalian dan kemudian disusun menjadi kernel khusus (konsep unikernel) yang boleh berjalan terus di atas hipervisor Xen, KVM, BHyve dan VMM (OpenBSD), pada platform mudah alih, sebagai proses POSIX. serasi, atau dalam persekitaran awan Amazon Elastic Compute Cloud dan Google Compute Engine.
Persekitaran yang dihasilkan tidak mengandungi apa-apa yang berlebihan dan berinteraksi secara langsung dengan hypervisor tanpa pemacu atau lapisan sistem, membawa kepada pengurangan ketara dalam overhed dan peningkatan keselamatan.
Bekerja dengan Mirage OS Ia berpecah kepada tiga peringkat: sediakan konfigurasi dengan definisi pakej OPAM yang digunakan dalam persekitaran, bina persekitaran dan lancarkan persekitaran. Masa jalan untuk dijalankan di atas hypervisor adalah berdasarkan kernel Solo5.
Walaupun aplikasi dan perpustakaan dibina pada bahasa peringkat tinggi OCaml, persekitaran yang terhasil menunjukkan prestasi yang agak baik dan saiz minimum (contohnya, pelayan DNS hanya 200 KB).
Penyelenggaraan alam sekitar juga dipermudahkan, kerana jika anda perlu mengemas kini program atau menukar konfigurasi, ia sudah cukup untuk mencipta dan menjalankan persekitaran baharu. Beberapa ratus perpustakaan dalam bahasa OCaml disokong untuk melaksanakan operasi rangkaian (DNS, SSH, OpenFlow, HTTP, XMPP, Matrix, OpenVPN, dll.), berfungsi dengan storan dan menyediakan pemprosesan data selari.
Berita utama MirageOS 4.0
Dalam versi baru MirageOS yang dibentangkan mengubah proses pembinaan projek dan unikernel. Sebaliknya daripada sistem binaan ocamlbuild digunakan sebelum ini, digunakan bukit pasir dan repositori tempatan (monorepos).
Untuk membuat repositori sedemikian, menambah utiliti baharu, opam-monorepo, yang membolehkan kami memisahkan pengurusan pakej daripada membina daripada sumber. Utiliti opam-monorepo melakukan tugas mencipta fail kunci untuk kebergantungan berkaitan projek, memuat turun dan mengekstrak kod kebergantungan dan mengkonfigurasi persekitaran untuk menggunakan sistem binaan gundukan, ia juga patut disebut bahawa binaan sebenar dilakukan oleh gundukan.
Perubahan lain yang menonjol ialah proses binaan berulang disediakan. Penggunaan fail kunci menyediakan pautan kepada versi pergantungan dan membolehkan anda mengulang sepenuhnya proses binaan pada bila-bila masa dengan kod yang sama.
Ia juga diketengahkan bahawa melaksanakan proses kompilasi silang baharu dan keupayaan kompilasi silang disediakan untuk semua platform sasaran yang disokong daripada persekitaran binaan biasa, di mana, antara lain, perpustakaan dan kebergantungan pautan C disusun silang, tanpa perlu menambah pautan ini pada pakej utama.
Sebaliknya, disebutkan bahawa utiliti opam-monorepo tersedia untuk pemasangan dengan pengurus pakej opam dan boleh digunakan dalam projek yang menggunakan sistem bina dune. Untuk mengekalkan tampalan yang menyelesaikan masalah dengan penciptaan pergantungan di bukit pasir, dua repositori telah dicipta dune-universe/opam-overlays dan dune-universe/mirage-opam-overlays, yang didayakan secara lalai apabila menggunakan utiliti CLI fatamorgana.
Daripada perubahan lain yang menonjol:
- Penyusunan silang disusun menggunakan ruang kerja yang disediakan oleh sistem binaan bukit pasir.
- Sokongan untuk platform sasaran baharu telah ditambah, contohnya, keupayaan untuk mencipta aplikasi bersendirian untuk berfungsi pada papan Raspberry Pi 4 telah disediakan secara eksperimen.
- Kerja telah dilakukan untuk menyepadukan bahagian MirageOS ke dalam ekosistem yang berkaitan dengan pembangunan OCaml untuk memudahkan pemasangan aplikasi dalam bentuk unikernel.
- Banyak pakej MirageOS telah dialihkan ke sistem binaan dune.
- Penyepaduan ringkas MirageOS dengan perpustakaan C dan Rust.
- Masa jalan OCaml baharu dicadangkan untuk mengelakkan libc (libc percuma).
- Menyediakan keupayaan untuk menggunakan perkhidmatan Merlin untuk penyepaduan dengan persekitaran pembangunan bersepadu standard.
Akhirnya, sekiranya anda berminat untuk mengetahui lebih lanjut mengenainya, anda boleh menyemak perinciannya Dalam pautan berikut.