Κυκλοφορία του MirageOS 3.6, μιας πλατφόρμας για την εκτέλεση εφαρμογών πάνω από έναν hypervisor

πήρε θέση έκδοση έργου Mirage OS 3.6, το οποίο σας επιτρέπει να δημιουργήσετε λειτουργικά συστήματα μιας μεμονωμένης εφαρμογής, στην οποία η εφαρμογή παραδίδεται ως αυτάρκης "unikernel" που μπορεί να εκτελείται χωρίς τη χρήση λειτουργικών συστημάτων, ξεχωριστού πυρήνα λειτουργικού συστήματος και οποιωνδήποτε επιπέδων. Η γλώσσα ανάπτυξης εφαρμογών είναι η OCaml. Κωδικός Έργου διανέμονται από με δωρεάν άδεια ISC.

Όλες οι λειτουργίες χαμηλού επιπέδου εγγενείς στο λειτουργικό σύστημα υλοποιούνται ως βιβλιοθήκη συνδεδεμένη στην εφαρμογή. Μια εφαρμογή μπορεί να αναπτυχθεί σε οποιοδήποτε λειτουργικό σύστημα, μετά από το οποίο μεταγλωττίζεται σε έναν εξειδικευμένο πυρήνα (η έννοια μοναδικό) που μπορεί να εκτελεστεί απευθείας πάνω από υπερεπόπτες Xen, KVM, BHyve και VMM (OpenBSD), σε πλατφόρμες για κινητές συσκευές, ως διαδικασία σε περιβάλλον συμβατό με POSIX ή σε περιβάλλοντα cloud του Amazon Elastic Compute Cloud και της Google Compute Engine.

Το παραγόμενο περιβάλλον δεν περιέχει τίποτα περιττό και αλληλεπιδρά απευθείας με τον υπερεπόπτη χωρίς προγράμματα οδήγησης και επίπεδα συστήματος, γεγονός που επιτρέπει την επίτευξη σημαντικής μείωσης του γενικού κόστους και την αύξηση της ασφάλειας. Η εργασία με το MirageOS καταλήγει σε τρία στάδια: προετοιμασία μιας διαμόρφωσης με τον προσδιορισμό ποιων χρησιμοποιούνται στο περιβάλλον πακέτα ΟΠΑΜ, οικοδόμηση του περιβάλλοντος και εκτόξευση του περιβάλλοντος. Ο χρόνος εκτέλεσης για εκτέλεση πάνω από το Xen βασίζεται σε έναν απογυμνωμένο πυρήνα mini OS, και για άλλους hypervisors και συστήματα που βασίζονται σε πυρήνα Solo5.

Παρά το γεγονός ότι οι εφαρμογές και οι βιβλιοθήκες σχηματίζονται στη γλώσσα υψηλού επιπέδου OCaml, τα περιβάλλοντα που προκύπτουν επιδεικνύουν αρκετά καλή απόδοση και ελάχιστο μέγεθος (για παράδειγμα, ο διακομιστής DNS παίρνει μόνο 200 KB). Η συντήρηση των περιβαλλόντων είναι επίσης απλοποιημένη, αφού εάν χρειαστεί να ενημερώσετε το πρόγραμμα ή να αλλάξετε τη διαμόρφωση, αρκεί να δημιουργήσετε και να εκτελέσετε ένα νέο περιβάλλον. Υποστηρίζεται δεκάδες βιβλιοθήκες στη γλώσσα OCaml για εκτέλεση λειτουργιών δικτύου (DNS, SSH, OpenFlow, HTTP, XMPP, κ.λπ.), εργασία με αποθηκευτικούς χώρους και παροχή παράλληλης επεξεργασίας δεδομένων.

Οι κύριες αλλαγές στη νέα έκδοση σχετίζονται με την παροχή υποστήριξης για νέες δυνατότητες που προτείνονται στην εργαλειοθήκη Solo5 0.6.0 (περιβάλλον sandbox για εκτέλεση unikernel):

  • Προστέθηκε η δυνατότητα εκτέλεσης unikernel MirageOS σε απομονωμένο περιβάλλον spt ("sandboxed process tender") που παρέχεται από την εργαλειοθήκη Solo5. Όταν χρησιμοποιείτε το spt backend, οι πυρήνες MirageOS εκτελούνται σε διαδικασίες χρήστη Linux, οι οποίες υπόκεινται σε ελάχιστη απομόνωση με βάση το seccomp-BPF.
  • Υλοποιημένη υποστήριξη δήλωση εφαρμογής από το έργο Solo5, το οποίο σας επιτρέπει να ορίσετε πολλαπλούς προσαρμογείς δικτύου και συσκευές αποθήκευσης συνδεδεμένες στο unikernel μεμονωμένα με βάση τα backends hvt, spt και muen (η χρήση για τα backends genode και virtio περιορίζεται επί του παρόντος σε μία συσκευή).
  • Παρέχεται ενισχυμένη προστασία των backends που βασίζονται στο Solo5 (hvt, spt), για παράδειγμα, συναρμολόγηση σε λειτουργία SSP (Stack Smashing Protection).

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο