Uygulamaları hiper yönetici üzerinde çalıştırmaya yönelik bir platform olan MirageOS 4.0'nın piyasaya sürülmesi

Bir buçuk yıllık geliştirme sürecinin ardından, tek bir uygulama için işletim sistemlerinin oluşturulmasına olanak tanıyan ve uygulamanın bağımsız bir "tek çekirdek" olarak teslim edildiği ve herhangi bir sorun olmadan çalışabilen MirageOS 4.0 projesinin sürümü yayınlandı. işletim sistemlerinin, ayrı bir işletim sistemi çekirdeğinin ve herhangi bir katmanın kullanımı. OCaml dili uygulama geliştirmek için kullanılır. Proje kodu ücretsiz ISC lisansı altında dağıtılmaktadır.

İşletim sisteminin doğasında bulunan tüm düşük seviyeli işlevler, uygulamaya eklenen bir kitaplık biçiminde uygulanır. Uygulama herhangi bir işletim sistemi üzerinde geliştirilebilir ve ardından mobil platformların üzerinde doğrudan Xen, KVM, BHyve ve VMM (OpenBSD) hipervizörlerinin üzerinde çalışabilen özel bir çekirdeğe (unikernel konsepti) derlenir. POSIX uyumlu bir ortamda veya bulut ortamlarında Amazon Elastic Compute Cloud ve Google Compute Engine'deki bir işlem biçimidir.

Oluşturulan ortam gereksiz hiçbir şey içermez ve sürücüler veya sistem katmanları olmadan doğrudan hipervizörle etkileşime girer, bu da genel giderlerde önemli bir azalmaya ve güvenliğin artmasına olanak tanır. MirageOS ile çalışmak üç aşamadan oluşur: ortamda kullanılan OPAM paketlerinin tanımlanmasıyla konfigürasyonun hazırlanması, ortamın montajı ve ortamın başlatılması. Hipervizörlerin üzerinde çalışmayı sağlamak için Runtime, Solo5 çekirdeği temel alınarak oluşturulmuştur.

Uygulamaların ve kitaplıkların üst düzey OCaml dilinde oluşturulmuş olmasına rağmen, ortaya çıkan ortamlar oldukça iyi bir performans ve minimum boyut sergiliyor (örneğin, DNS sunucusu yalnızca 200 KB yer kaplıyor). Ortamların bakımı da basitleştirilmiştir, çünkü programın güncellenmesi veya konfigürasyonun değiştirilmesi gerekiyorsa, yeni bir ortam oluşturup başlatmak yeterlidir. Ağ işlemlerini gerçekleştirmek (DNS, SSH, OpenFlow, HTTP, XMPP, Matrix, OpenVPN vb.), depolama ile çalışmak ve paralel veri işleme sağlamak için OCaml dilindeki birkaç yüz kütüphane desteklenmektedir.

Anahtar iyileştirmeler:

  • Projeleri ve tek çekirdeği derleme süreci değiştirildi. Daha önce kullanılan ocamlbuild montaj sistemi yerine dune araç seti ve yerel depolar (monorepo) kullanılıyor. Bu tür depolar oluşturmak için, paket yönetimini kaynak koddan oluşturmadan ayırmayı mümkün kılan yeni bir yardımcı program olan opam-monorepo eklenmiştir. Opam-monorepo yardımcı programı, projeyle ilgili bağımlılıklar için kilit dosyaları oluşturma, bağımlılık kodunu yükleme ve çıkarma ve ortamı dune oluşturma sistemini kullanacak şekilde ayarlama gibi işler yapar. Gerçek montaj kumul araç seti tarafından gerçekleştirilir.
  • Tekrarlanabilir bir oluşturma süreci sağlanır. Kilit dosyalarının kullanılması, bağımlılık sürümlerine bir bağlantı sağlar ve derleme sürecini istediğiniz zaman aynı kodla tamamen tekrarlamanıza olanak tanır.
  • Yeni bir çapraz derleme süreci uygulandı ve desteklenen tüm hedef platformlar için tek bir ortak yapı ortamından çapraz derleme yeteneği sağlandı; bu aynı zamanda C bağlamaları olan bağımlılıkları ve kitaplıkları, bu bağlamaları eklemeye gerek kalmadan çapraz derledi. ana paket. Çapraz derleme, kumul oluşturma sistemi tarafından sağlanan çalışma alanları kullanılarak düzenlenir.
  • Yeni hedef platformlar için destek eklendi, örneğin Raspberry Pi 4 kartlarında çalışacak bağımsız uygulamalar oluşturma konusunda deneysel bir yetenek sağlandı.
  • Uygulamaların tek çekirdek biçiminde birleştirilmesini kolaylaştırmak için MirageOS'un bazı bölümlerinin OCaml dilindeki geliştirmeyle ilgili ekosistemlere entegre edilmesi için çalışmalar yapıldı. Birçok MirageOS paketi dune yapı sistemine taşındı. Opam-monorepo yardımcı programı, opam paket yöneticisi kullanılarak kurulabilir ve dune build sistemini kullanan projelerde kullanılabilir. Dune'da bağımlılık oluşturma sorunlarını çözen yamaları sürdürmek için iki depo oluşturuldu: mirage CLI yardımcı programını kullanırken varsayılan olarak etkinleştirilen dune-universe/opam-overlays ve dune-universe/mirage-opam-overlays.
  • MirageOS'un C ve Rust kütüphaneleriyle entegrasyonu basitleştirildi.
  • Libc (libc'siz) olmadan yapmanıza olanak tanıyan yeni bir OCaml çalışma zamanı önerildi.
  • Merlin hizmetini standart entegre geliştirme ortamlarıyla entegrasyon için kullanmak mümkündür.

Kaynak: opennet.ru

Yorum ekle