heal.abstract |
Η εικονοποίηση είναι μια επίμαχη τεχνολογία της σύγχρονης εποχής, καθώς υποστηρίζει μεγάλο μέρος του cloud στο οποίο βασίζεται μεγάλο ποσοστό των υπηρεσιών στο internet. Με την τεχνολογία αυτή γίνεται δυνατό ένας υπολογιστής να φιλοξενεί πολλαπλά εικονικά μηχανήματα. Η εικονoποίηση, όμως, μιας ολόκληρης εικονικής μηχανής καταναναλώνει αρκετούς υπολογιστικούς πόρους. Μία τεχνική αντιμετώπισης αυτού του προβλήματος είναι τα containers. Αυτά βελτιώνουν πολύ την χρήση των πόρων του φιλοξενιτή, αφού πλέον οι εφαρμογές χωρίζονται σε ξεχωριστά userspaces χρησιμοποιώντας από κοινού τις λειτουργίες του υποβόσκοντος λειτουργικού συστήματος. Παρότι αυτή η τεχνική μείωσε την κατανάλωση πόρων, η έλλειψη απομόνωσης μεταξύ των containers οδήγησε στην χρήση τους μέσα σε εικονικές μηχανές που αναιρούσε το αρχικό πλεονέκτημα του σχεδιασμού τους. Σε αυτό το πρόβλημα βασίστηκε η προσέγγιση των unikernels, εικονικές μηχανές σε μορφή αυτοτελών εικονών μιας εφαρμογής. Δηλαδή, η εικόνα περιέχει τόσο την εφαρμογή, αλλά και ακριβώς τα κομμάτια του λειτουργικού συστήματος που θα χρησιμοποιήσει κατά την εκτέλεση της. Όλα τα κομμάτια ενός unikernel τρέχουν σε ένα μοναδικό χώρο διευθύνσεων σε αντίθεση με τα συμβατικά μονολιθικά συστήματα, δηλαδή οι λειτουργίες του πυρήνα πλέον εκτελούνται στον ίδιο χώρο διευθύνσεων με την εφαρμογή. Οι unikernel εικόνες μπορούν να τρέξουν είτε σε ένα μηχάνημα φιλοξενιτή επικοινωνόντας με αυτό μέσω ενός υπερεπόπτη, είτε απευθείας πάνω στο υλικό. Έτσι παραμένουν απομονωμένες τόσο οι εικονικές μηχανές μεταξύ τους, αλλά και με τον φιλοξενιτή. Με αυτό τον τρόπο μειώθηκαν οι ανάγκες σε πόρους για την εκτέλεση εικονικών μηχανών, διατηρώντας την απομόνωση που προσφέρουν.
Σημαντικό όμως μειονέκτημα των unikernels, είναι η έλλειψη υποστήριξης κλήσεων συστήματος και λειτουργικοτήτων που υποστηρίζονται στα λειτουργικά συστήματα που χρησιμοποιούνται στο cloud και λαμβάνονται ως δεδομένα κατά τον σχεδιασμό των εφαρμογών. Σκοπός αυτής της διπλωματικής είναι η υλοποίηση της fork λειτουργικότητας, ώστε πολυδιεργασιακές εφαρμογές που χρησιμοποιούν την κλήση συστήματος να μπορούν να τρέξουν σε Rumprun unikernels. |
el |