ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ. Τεχνολογίες Υπολογιστικού Νέφους

Σχετικά έγγραφα
ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ. Τεχνολογίες Υπολογιστικού Νέφους

Εικονικοποίηση. Λειτουργικά Συστήματα Υπολογιστών 7ο Εξάμηνο,

Εικονικοποίηση. Αρχιτεκτονική Υπολογιστών 5ο Εξάμηνο,

Το λειτουργικό σύστημα. Προγραμματισμός II 1

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΕΙΣΑΓΩΓΗ

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή

ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

Λειτουργικά Συστήματα (Λ/Σ)

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

Διαφορές single-processor αρχιτεκτονικών και SoCs

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Επ. Καθ. Κ. Λαμπρινουδάκης

Ιεραρχία Μνήμης. Εικονική μνήμη (virtual memory) Επεκτείνοντας την Ιεραρχία Μνήμης. Εικονική Μνήμη. Μ.Στεφανιδάκης

Λειτουργικά Συστήματα

Αρχιτεκτονική Υπολογιστών

Αξιοποίηση της Τεχνολογίας των Εικονικών Μηχανών στην Επαγγελματική Εκπαίδευση και την Κατάρτιση Πληροφορικής. Βασιλάκης Βασίλειος Τζανάκης Δημήτριος

Λειτουργικά Συστήματα Η/Υ

3. Σελιδοποίηση μνήμης 4. Τμηματοποίηση χώρου διευθύνσεων

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ. Τεχνολογίες Υπολογιστικού Νέφους

Εικονική Μνήμη (Virtual Μemory)

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη. (και ο ρόλος της στην ιεραρχία μνήμης)

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή

Λειτουργικά Συστήματα Η/Υ

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

Αρχιτεκτονική Υπολογιστών

ΛΟΓΙΣΜΙΚΟ (software)

Θέματα διπλωματικών εργασιών σε. Συστοιχίες παράλληλης εξυηρέτησης εφαρμογών Διαδικτύου

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC

Εισαγωγή στην Πληροφορική

Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Κεφάλαιο 4 Λογισμικό συστήματος. Εφαρμογές Πληροφορικής Κεφ.4 Καραμαούνας Πολύκαρπος 1

Λιβανός Γιώργος Εξάμηνο 2017Β

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους;

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ

Εισαγωγή στα Λειτουργικά

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

Κεφάλαιο 5. Κεφ. 5 Λειτουργικά Συστήματα 1

Εικονική Μνήµη. Κεφάλαιο 8. Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 1 ο ΚΕΦΑΛΑΙΟ

Αρχιτεκτονική Λογισμικού

Διαχείριση Κύριας Μνήμης

PROXY SERVER. Άριστη πύλη διαχωρισμού μεταξύ του εσωτερικού δικτύου και του Internet.

ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Λειτουργικά Συστήματα (Λ/Σ)

12/5/18. συστημάτων. Το λογισµικό συστηµάτων. Κεφάλαιο 5

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση)

ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ. Τεχνολογίες Υπολογιστικού Νέφους ΔΙΑΛΕΞΗ 9: ΣΥΣΤΗΜΑΤΑ ΑΠΟΘΗΚΕΥΣΗΣ ΒΑΣΙΛΕΙΟΣ Δ.

ΑΠΟΤΕΛΕΣΜΑΤΑ ΔΙΑΒΟΥΛΕΥΣΗΣ. Προκήρυξη Διαγωνισμού για την «Προμήθεια Εξοπλισμού Κόμβου Μηχανικής Μάθησης» /

1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

2. Σκοποί και Λειτουργίες των ΛΣ. Λειτουργικά Συστήματα Η/Υ. Περίληψη. Ι. Προστασία Υλικού ΚΕΦΑΛΑΙΟ 2 - ΕΞΕΛΙΞΗ ΚΑΙ ΣΚΟΠΟΙ ΛΣ

Εργαστήριο Λειτουργικών Συστήματων 8ο εξάμηνο, Ακαδημαϊκή περίοδος

Υποστήριξη Λ.Σ. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ

Κατανεμημένα συστήματα και Επικοινωνία Πραγματικού Χρόνου

Αρχιτεκτονική Υπολογιστών

Προγραμματισμός Η/Υ. Λογισμικό. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Πληροφορική Ι. Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας

Βασικές έννοιες. Κατανεμημένα Συστήματα 1

Το υλικό του υπολογιστή

Αρχιτεκτονική υπολογιστών

Σχεδίαση και Υλοποίηση Μηχανισμού Μεταφοράς Δεδομένων από Συσκευές Αποθήκευσης σε Δίκτυο Myrinet, Χωρίς τη Μεσολάβηση της Ιεραρχίας Μνήμης

Λειτουργικά Συστήματα (ΗΥ321)

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Κεφάλαιο 3. Διδακτικοί Στόχοι

Παράλληλη Επεξεργασία Κεφάλαιο 1 Γιατί Παράλληλος Προγραμματισμός;

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής)

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Κεφάλαιο Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων.

Εργαστήριο Λειτουργικών Συστήματων 8ο εξάμηνο, Ακαδημαϊκή περίοδος

Server Virtualization με εργαλεία ΕΛ/ΛΑΚ. ΛΑΚ Δήμος Ρεθύμνης.

Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΟΡΓΑΝΩΣΗ Η/Υ

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Διαχείριση Πολιτισμικών Δεδομένων

Βασικές Έννοιες της Πληροφορικής

Examination of cloud systems security from virtualization perspective

Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

Εισαγωγή στην Πληροφορική

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

*Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους.

Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο

Αρχιτεκτονική υπολογιστών

Όλες οι υπηρεσίες είναι διαθέσιμες μέσω διαδικτύου.

Εισαγωγή. Κατανεµηµένα Συστήµατα 01-1

METROPOLIS. Ένα περιβάλλον σχεδιασμού για ετερογενή συστήματα

Τ.Ε.Ι. ΗΠΕΙΡΟΥ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ ΣΥΝΕΡΓΑΣΤΗΚΑΝ ΡΟΚΑ ΑΦΡΟΔΙΤΗ ΣΩΤΗΡΑΚΟΥ ΣΤΑΜΑΤΙΑ ΦΕΒΡΟΥΑΡΙΟΣ 2006

Εισαγωγή στην Πληροφορική

Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12

Κεφάλαιο 13: : Εφαρμογές νέφους. Καραμαούνας Π. 1

ΠΛΕ- 027 Μικροεπεξεργαστές

Transcript:

ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ Τεχνολογίες Υπολογιστικού Νέφους ΔΙΑΛΕΞΗ 5: ΕΙΚΟΝΟΠΟΙΗΣΗ ΠΌΡΩΝ ΒΑΣΙΛΕΙΟΣ Δ. ΤΣΑΚΑΝΙΚΑΣ Revision 12/2017: ΚΩΝ. ΠΑΞΙΜΑΔΗΣ

Σκοπός της Ενότητας Σε αυτή την ενότητα περιγράφεται η εικονοποίηση πόρων

Περιεχόμενα ενότητας Εικονοποιηση. Στρωματοποιηση. Διεπαφές. Φορητότητα κώδικα. Ελεγκτής εικονικών μηχανών. Εικονοποιηση επεξεργαστή και μνήμης. Εικονικές μηχανές. Απομόνωση απόδοσης και ασφάλειας. Αρχιτεκτονική υπολογιστών και εικονοποιηση. Πλήρης εικονοποιηση και παραεικονοποίηση. Εικονοποιηση αρχιτεκτονικής χ86. Xen - Παραεικονοποίηση βασιζόμενη σε εικονικές μηχανές. Η αρχιτεκτονική δικτύου του Xen - Αρχική αρχιτεκτονική. Η αρχιτεκτονική δικτύου του Xen - Βελτιωμένη αρχιτεκτονική. Σύγκριση των ρυθμών αποστολής και λήψης δεδομένων. Σύγκριση απόδοσης εικονικών μηχανών. Η κρυμμένη πλευρά της εικονοποίησης. Εισαγωγή ενός VMBR ως το χαμηλότερο επίπεδο λογισμικού πάνω.

Εικονοποίηση πόρων (Resources Virtualization) Eικονοποίηση (virtualization): η τεχνολογία με την οποία τα φυσικά συστήματα μετατρέπονται σε ιδεατά (virtual machines). Εικονοποίηση πόρων: μεθοδολογία λογικής διαίρεσης διαχείρισης των πόρων ενός συστήματος (πχ hardware υπολογιστών συστημάτων) σε πολλαπλά περιβάλλοντα χρήσης/εκτέλεσης. Τρόποι εικονοποίησης: ο καταμερισμός υλικού (hardware) και λογισμικού (software), ο καταμερισμός χρόνου εξυπηρετητή, 1μερική ή/και ολική εξομοίωση υπολογιστικής μηχανής, η προσομοίωση μηχανής. Βασικά χαρακτηριστικά της εικονοποίησης: Προσθέτει ένα επίπεδο αφαιρετικότητας (abstraction) ανάμεσα στην εκάστοτε εφαρμογή και το υλικό (hardware). Μειώνει το κόστος διαχείρισης και χρήσης, καθώς και την πολυπλοκότητα ανάθεσης πόρων. Προσφέρει «απομόνωση» των πόρων των υπολογιστών για αυξημένη αξιοπιστία και ασφάλεια. Αυξάνει τα επίπεδα παρεχόμενων υπηρεσιών και βελτιώνει την ποιότητά τους. Αυξάνει το ποσοστό χρήσης των διαθέσιμων πόρων και υποδομών. Συγχρονίζει και ευθυγραμμίζει τις διαδικασίες τεχνολογιών πληροφορικής με τους διάφορους στόχους.

Εικονοποίηση πόρων Εικονοποίηση πόρων νέφους: πλεονεκτήματα / μειονεκτήματα: Βελτίωση της ασφάλειας του συστήματος, επιτρέποντας την απομόνωση λειτουργιών που εκτελούνται πάνω από το ίδιο υλικό και συνεπώς τις πιθανές «παρενέργειες» μεταξύ διαφορετικών χρηστών/λειτουργιών. Βελτίωση της απόδοσης και διασφάλιση αυξημένης αξιοπιστίας, δίνοντας δυνατότητα σε εφαρμογές να μεταφερθούν από μια πλατφόρμα σε μια άλλη. Περαιτέρω ανάπτυξη και τη ευκολότερη διαχείριση των υπηρεσιών που προσφέρονται από τον πάροχο νέφους. Καλύτερη αξιολόγηση της απόδοσης. Εξασφάλιση υψηλής διαθεσιμότητας των πόρων. Μεγάλη ευελιξία και χρηστικότητα στη διαχείριση του συνόλου των πόρων. Απλούστερη, αξιόπιστη και οικονομική ανάκαμψη από βλάβες/απώλειες/καταστροφές. Πιθανή μείωση της απόλυτης απόδοσης σε σχέση με τη χρήση των πόρων από μόνο μία διεργασία/εφαρμογή, λόγω εισαγωγής πρόσθετου επιπέδου διαχείρισης μεταξύ εφαρμογών και υλικού, αλλά με τη σημερινή υπερ-προσφορά διαθέσιμων πόρων και την εξέλιξη της τεχνολογίας, δεν είναι σημαντική.

Εικονοποίηση πόρων Η εικονοποίηση προσoμειώνει μία διεπαφή σε ένα φυσικό αντικείμενο μέσων: Πολυπλεξίας: Δημιουργεί πολλά εικονικά αντικείμενα από μια υπόσταση φυσικού αντικειμένου. Ενοποίησης: Δημιουργεί ένα εικονικό αντικείμενο από πολλά φυσικά αντικείμενα. Εξομοίωσης: Κατασκευάζει ένα εικονικό αντικείμενο από διαφορετικούς τύπους φυσικών αντικειμένων. Πολυπλεξία και εξομοίωση (Παράδειγμα): Εικονική μνήμη με σελιδοποίηση, πολυπλέκει πραγματική μνήμη και χώρο του δίσκου. Μία εικονική διεύθυνση εξομοιώνει μία πραγματική.

Στρωματοποίηση Μια κοινή προσέγγιση για τη διαχείριση της πολυπλοκότητας του συστήματος: Μειώνει τις αλληλεπιδράσεις μεταξύ των υποσυστημάτων ενός πολύπλοκου συστήματος. Απλοποιεί την περιγραφή των υποσυστημάτων. Μπορούμε να σχεδιάσουμε, να υλοποιήσουμε και να τροποποιήσουμε το κάθε υποσύστημα ξεχωριστά. Η στρωματοποίηση σε ένα υπολογιστικό σύστημα. Υλικό. Λογισμικό. Λειτουργικό σύστημα. Βιβλιοθήκες. Εφαρμογές.

Διεπαφές Instruction Set Architecture (ISA). Μεταξύ υλικού και λογισμικού. Application Binary Interface (ABI). Επιτρέπει στα περιεχόμενα της εφαρμογής και στις ενότητες της βιβλιοθήκης να έχουν πρόσβαση στο υλικό. Δεν περιλαμβάνει προνομιακές οδηγίες συστήματος. Επικαλείται κλήσεις συστήματος. Application Program Interface (API). Προσδιορίζει τις οδηγίες που μπορεί να εκτελεί το υλικό και παρέχει στην εφαρμογή πρόσβαση στο ISA. Περιλαμβάνει κλήσεις για τη βιβλιοθήκη HLL που συχνά επικαλείται κλήσεις συστήματος Μια εφαρμογή χρησιμοποιεί τις λειτουργίες της βιβλιοθήκης (A1), κάνει κλήσεις συστήματος (A2) κι εκτελεί τις οδηγίες μηχανής (A3).

Διεπαφές Βιβλιοθήκες, κλήσεις συστήματος και οδηγίες μηχανής:

Φορητότητα κώδικα Δυαδικά αρχεία που δημιουργούνται από ένα μεταγλωττιστή για συγκεκριμένη ISA και συγκεκριμένα λειτουργικά συστήματα δεν είναι φορητά. Είναι όμως εφικτό να μεταγλωττιστεί ένα HLL (High Level Programming) πρόγραμμα για το περιβάλλον μίας εικονικής μηχανής όπου ο φορητός κώδικας παράγεται και διανέμεται και μετά μετατρέπεται από τους διαδικούς μεταφραστές στην ISA του host. Μία δυναμική δυαδική μετάφραση μετατρέπει σύνολα οδηγιών από τον φορητό κώδικα σε οδηγίες του host και βελτιώνει σημαντικά την απόδοση, γιατί αυτά τα σύνολα αποταμιεύονται και επαναχρησιμοποιούνται.

Φορητότητα κώδικα

Ελεγκτής εικονικών μηχανών Διαμοιράζει τις πηγές ενός υπολογιστικού συστήματος σε μια η περισσότερες εικονικές μηχανές (VMs). Ένας ελεγκτής εικονικών μηχανών επιτρέπει: Πολλαπλές υπηρεσίες να διαμοιράζονται την ίδια πλατφόρμα. Ζωντανή μετανάστευση (μεταφορά): Η μεταφορά ενός server από τη μια πλατφόρμα σε μία άλλη. Τη διαμόρφωση του συστήματος ενώ διατηρείται η προς τα πίσω συμβατότητα με το αυθεντικό σύστημα. Την απομόνωση ανάμεσα στα συστήματα, βελτιώνοντας την ασφάλεια. Εντοπίζει τις προνομιακές οδηγίες που εκτελούνται από ένα φιλοξενούμενο λειτουργικό σύστημα κι επιβάλλει την ορθότητα και την ασφάλεια της λειτουργιάς. Εντοπίζει διακοπές και τις αποστέλλει στα μεμονωμένα φιλοξενούμενα λειτουργικά συστήματα. Ελέγχει τη διαχείριση της εικονικής μνήμης.

Ελεγκτής εικονικών μηχανών Ένας ελεγκτής εικονικών μηχανών (Συνέχεια): Διατηρεί έναν κρυφό πίνακα σελιδοποίησης για κάθε φιλοξενούμενο λειτουργικό σύστημα κι αντιγράφει κάθε αλλαγή που γίνεται στον πίνακα σελιδοποίησης του φιλοξενούμενου λειτουργικού συστήματος. Ελέγχει την απόδοση του συστήματος και πραγματοποιεί διορθωτικές ενέργειες για να αποφευχθεί η πτώση της απόδοσης.

Εικονικές μηχανές Εικονική μηχανή (Virtual Machine -VM): Απομονωμένο περιβάλλον που παρουσιάζεται ως ένα ολόκληρο υπολογιστικό σύστημα ενώ στην πραγματικότητα έχει πρόσβαση μονό σε ένα συγκεκριμένο σύνολο πόρων του υπολογιστικού συστήματος που την φιλοξενεί. Εικονική μηχανή διεργασίας (Process VM): Μία εικονική πλατφόρμα που δημιουργείται για μία ατομική διεργασία και καταστρέφεται μόλις η διεργασία τερματιστεί. Εικονική μηχανή συστήματος (System VM): Υποστηρίζει ένα λειτουργικό σύστημα μαζί με πολλές διεργασίες χρηστών. Παραδοσιακή εικονική μηχανή (Traditional VM): Υποστηρίζει πολλές εικονικές μηχανές κι εκτελείται απευθείας πάνω στο υλικό. Υβριδική εικονική μηχανή (Hybrid VM): Μοιράζεται το υλικό το λειτουργικό σύστημα του host και υποστηρίζει πολλές εικονικές μηχανές. Φιλοξενούμενη εικονική μηχανή (Hosted VM): Εκτελείται μέσα από το λειτουργικό σύστημα του host.

Αρχιτεκτονική υπολογιστών και εικονοποίηση Η συμπεριφορά μιας διεργασίας κατά την εκτέλεσή της επηρεάζεται από άλλες διεργασίες που εκτελούνται εκείνη τη στιγμή στην ίδια πλατφόρμα και «ανταγωνίζονται» για τους ίδιους πόρους. Για το λόγο αυτό είναι δύσκολο να προβλεφθεί ο χρόνος ολοκλήρωσης της. Απομόνωση απόδοσης. Μία σημαντική παράμετρος για παροχή εγγυήσεων ποιότητας υπηρεσίας σε κοινά υπολογιστικά περιβάλλοντα. Ένας ελεγκτής εικονικών μηχανών είναι ένα απλούστερο και καλύτερα καθορισμένο σύστημα σε σχέση με ένα παραδοσιακό λειτουργικό σύστημα. Για παράδειγμα, το Xen αποτελείται από περίπου 60000 γραμμές κώδικα και το Denali από περίπου τις μισές (30000). Οι ευπάθειες της ασφάλειας των ελεγκτών εικονικών μηχανών μειώνονται σημαντικά καθώς το σύστημα εκτίθεται σε πολύ μικρότερο αριθμό προνομιακών λειτουργιών.

Εικονοποίηση Προϋποθέσεις για αποτελεσματική εικονοποίηση: Ένα πρόγραμμα που εκτελείται κάτω από ελεγκτή εικονικών μηχανών θα πρέπει να παρουσιάζει μία συμπεριφορά παρόμοια με αυτή που παρουσιάζει όταν εκτελείται απευθείας σε ένα ισοδύναμο πραγματικό μηχάνημα. Ένας ελεγκτής εικονικών μηχανών θα πρέπει να έχει τον πλήρη έλεγχο των εικονοποιημένων πόρων. Μία σημαντική ποσότητα των οδηγιών μηχανής πρέπει να εκτελείται χωρίς την παρέμβαση του ελεγκτή εικονικών μηχανών.

Εικονοποίηση Δύο κατηγορίες οδηγιών μηχανής: Ευαίσθητη: Απαιτεί ειδικές προφυλάξεις κατά την ώρα της εκτέλεσης: Ευαισθησία ελέγχου : Οδηγίες που προσπαθούν να αλλάξουν είτε την κατανομή της μνήμης είτε την προνομιακή λειτουργία. Ευαισθησία λειτουργίας: Οδηγίες των οποίων η συμπεριφορά είναι διαφορετική όταν εκτελούνται σε προνομιακή λειτουργία Μη ευαίσθητη. Πλήρης εικονοποίηση. Ένα φιλοξενούμενο λειτουργικό σύστημα μπορεί να εκτελεστεί χωρίς αλλαγές κάτω από έναν ελεγκτή εικονικών μηχανών σαν να έτρεχε απευθείας πάνω στην πλατφόρμα του υλικού. Απαιτεί μία εικονοποίηση της αρχιτεκτονικής. Για παράδειγμα το Vmware.

Εικονοποίηση Παρα-εικονοποίηση: Ένα φιλοξενούμενο λειτουργικό σύστημα τροποποιείται ώστε να χρησιμοποιεί μόνο οδηγίες που μπορούν να εικονοποιηθούν. Κάποιες πτυχές του υλικού δεν μπορούν να εικονοποιηθούν. Βελτιωμένη απόδοση. Παρουσιάζει μία απλούστερη διεπαφή. Παραδείγματα: Xen, Denaly.

Εικονοποίηση αρχιτεκτονικής x86 Ring de-privileging: Ένας ελεγκτής εικονικών μηχανών αναγκάζει το λειτουργικό σύστημα και τις εφαρμογές του να λειτουργούν σε προνομιακό επίπεδο μεγαλύτερο του μηδενός (0). Ring aliasing: Ένα φιλοξενούμενο λειτουργικό σύστημα αναγκάζεται να λειτουργεί σε προνομιακό επίπεδο αντί για αυτό στο το οποίο ήταν σχεδιασμένο να λειτουργεί. Συμπίεση χώρου διευθύνσεων: Ένας ελεγκτής εικονικών μηχανών χρησιμοποιεί τμήματα του φιλοξενούμενου χώρου διευθύνσεων για να αποθηκεύσει δομές δεδομένων του συστήματος. Αλάνθαστη πρόσβαση σε προνομιακή κατάσταση: Πολλές εντολές αποθήκευσης μπορούν να εκτελεστούν μόνο σε προνομιακό επίπεδο 0, γιατί πραγματοποιούνται πάνω σε δομές δεδομένων που ελέγχουν τη λειτουργιά της επεξεργαστή. Οι εντολές αυτές, αποτυγχάνουν όταν εκτελούνται σε άλλο επίπεδο.

Εικονοποίηση αρχιτεκτονικής x86 Οι κλήσεις του φιλοξενούμενου συστήματος οι όποιες προκαλούν μεταβάσεις από/προς το προνομιακό επίπεδο 0 πρέπει να εξομοιώνονται από τον ελεγκτή εικονικών μηχανών. Διακοπή εικονοποίησης-ανταποκρινόμενο σε μια φυσική διακοπή, ο ελεγκτής εικονικών μηχανών δημιουργεί μία «εικονική διακοπή» και την παραδίδει στο στοχευμένο λειτουργικό σύστημα, Πρόσβαση στην κρυφή κατάσταση: Στοιχεία από την κατάσταση συστήματος, όπως περιγραφικές κρυφές μνήμες για καταγραφείς τμημάτων, είναι κρυμμένα. Συμπίεση δαχτυλιδιού. Ring compression. Η σελιδοποίηση και η κατάτμηση προστατεύουν τον κώδικα του ελεγκτή εικονικών μηχανών από το να αντικατασταθεί από φιλοξενούμενα λειτουργικά συστήματα κι εφαρμογές.

Εικονοποίηση αρχιτεκτονικής x86 Συμπίεση δαχτυλιδιού (Συνέχεια). Τα συστήματα που εκτελούνται σε 64bit μπορούν να χρησιμοποιήσουν μόνο τη σελιδοποίηση, η οποία όμως δεν παρέχει διακρίσεις ανάμεσα στα προνομιακά επίπεδα 0,1 και 2. Έτσι, το φιλοξενούμενο λειτουργικό σύστημα πρέπει να εκτελείται στο προνομιακό επίπεδο 3, το λεγόμενο (0/3/3). Τα επίπεδα 1 και 2 δεν μπορούν να χρησιμοποιηθούν εξαιτίας της συμπίεσης δακτυλιδιού. Ο καταχωρητής της προτεραιότητας των εργασιών συχνά χρησιμοποιείται από ένα φιλοξενούμενο λειτουργικό σύστημα. Ο ελεγκτής εικονικών μηχανών πρέπει να προστατεύει την πρόσβαση σε αυτόν τον καταχωρητή και να εντοπίζει όλες τις προσπάθειες απόκτησης πρόσβασης σε αυτόν. Αυτό το γεγονός, μπορεί να προκαλέσει σημαντική πτώση της απόδοσης.

VT-x: Μία σημαντική ενίσχυση της αρχιτεκτονικής Υποστηρίζει δυο τρόπους λειτουργίας: VMX root: Για λειτουργιές ελεγκτή εικονικών μηχανών. VMX non-root: Υποστηρίζει μία εικονική μηχανή. Η δομή ελέγχου της εικονικής μηχανής (Virtual Machine Control Structure) περιλαμβάνει hoststate και guest-state περιοχές. Είσοδος στην εικονική μηχανή: Η κατάσταση του επεξεργαστή φορτώνεται από την guest-state της εικονικής μηχανής που είναι προγραμματισμένο να εκτελεστεί. Στη συνέχεια. ο έλεγχος μεταφέρεται από τον ελεγκτή εικονικών μηχανών στην εικονική μηχανή. Έξοδος από την εικονική μηχανή: Αποθηκεύει την κατάσταση του επεξεργαστή στην περιοχή της guest-state της εικονικής μηχανής. Στη συνέχεια, φορτώνει την κατάσταση του επεξεργαστή από την περιοχή host-state και μεταφέρει τον έλεγχο στον ελεγκτή εικονικών μηχανών.

Xen - Παραεικονοποίηση βασιζόμενη σε εικονικές μηχανές Ο στόχος της ομάδας του Cambridge: Σχεδιασμός ενός ελεγκτή εικονικών μηχανών ικανού να υποστηρίζει έως και 100 εικονικές μηχανές που να εκτελούν βασικές εφαρμογές και υπηρεσίες χωρίς καμία τροποποίηση στο Application Binary Interface (ABI). Τα Linux, Minix, NetBSD, FreeBSD, NetWare και OZONE μπορούν να λειτουργήσουν ως παραεικονοποιημένα φιλοξενούμενα λειτουργικά συστήματα του Xen σε αρχιτεκτονικές x86, x86-64, Itanium και ARM. Ο τομέας του Xen: Σύνολο από χώρους διευθύνσεων για ένα φιλοξενούμενο λειτουργικό σύστημα και για τις εφαρμογές που εκτελούνται σε αυτό. Εκτελείται σε έναν εικονικό επεξεργαστή. Dom0: Αφιερώνεται για την επέκταση των λειτουργιών ελέγχου και των προνομιακών οδηγιών του Xen. DomU: Ένας τομέας χρήστη.

Xen - Παραεικονοποίηση βασιζόμενη σε εικονικές μηχανές Οι εφαρμογές πραγματοποιούν κλήσεις συστήματος χρησιμοποιώντας υπερκλήσεις τις οποίες επεξεργάζεται το Xen. Οι προνομιακές οδηγίες που προέρχονται από ένα φιλοξενούμενο λειτουργικό σύστημα, παραεικονοποιούνται και πρέπει να επικυρωθούν από το Xen.

Υλοποίηση του Xen σε αρχιτεκτονική x86 Το Xen εκτελείται στο προνομιακό επίπεδο 0, το φιλοξενούμενο λειτουργικό σύστημα στο επίπεδο 1 και οι εφαρμογές στο επίπεδο 3. Translation lookaside buffer (TLB): είναι μία memory cache που χρησιμοποιείται για να μειώσει το χρόνο προσπέλασης μίας θέσης μνήμης του χρήστη Συνήθως είναι μέρος του memory-management unit (MMU). Η αρχιτεκτονική x86 δεν υποστηρίζει ούτε τη σήμανση των καταχωρήσεων TLB ούτε τη διαχείριση του TLB μέσω λογισμικού. Έτσι, η εναλλαγή του χώρου διευθύνσεων, όταν ο ελεγκτής εικονικών μηχανών ενεργοποιεί ένα διαφορετικό λειτουργικό σύστημα, απαιτεί συνολικό καθαρισμό της TLB, κάτι το οποίο έχει αρνητική επίπτωση στην απόδοση. Λύση: Φόρτωμα του Xen σε ένα τμήμα μεγέθους 64 MB στην κορυφή του κάθε χώρου διευθύνσεων και αντιπροσώπευση της διαχείρισης των πινάκων σελιδοποίησης του hardware στο φιλοξενούμενο λειτουργικό σύστημα με την ελάχιστη διαμεσολάβηση του Xen. Αυτή η περιοχή δεν θα είναι προσβάσιμη από το φιλοξενούμενο λειτουργικό σύστημα. Το Xen χρονοπρογραμματίζει τους επιμέρους τομείς χρησιμοποιώντας τον αλγόριθμο Δανεικού Εικονικού Χρόνου (Borrowed Virtual Time - BVT).

Συστατικά του Dom0 XenStore: Μία διεργασία Dom0. Υποστηρίζει ένα μητρώο και υπηρεσία ονοματοδοσίας για όλο το σύστημα. Υλοποιείται ως ιεραρχική αποθήκευση ζευγών κλειδιού- τιμής. Επικοινωνεί με τις φιλοξενούμενες εικονικές μηχανές μέσω κοινόχρηστης μνήμης χρησιμοποιώντας προνόμια Dom0. Toolstack: Υπεύθυνο για τη δημιουργία, την καταστροφή και τη διαχείριση των πόρων και των προνομίων των εικονικών μηχανών. Για τη δημιουργία μίας εικονικής μηχανής, ο χρήστης παρέχει ένα αρχείο ρυθμίσεων, το οποίο περιγράφει την κατανομής της μνήμης και του επεξεργαστή καθώς και τις ρυθμίσεις των συσκευών. Το Toolstack αναλύει το αρχείο και γράφει αυτές τις πληροφορίες στο XenStore. Εκμεταλλεύεται τα προνόμια του Dom0 ώστε να χαρτογραφήσει τη μνήμη του φιλοξενούμενου λειτουργικού συστήματος, να φορτώσει τον πυρήνα και το εικονικό BIOS και να δημιουργήσει τους αρχικούς διαύλους επικοινωνίας με το XenStore και με την εικονική κονσόλα όταν δημιουργείται μία νέα εικονική μηχανή.

Αφαιρετικότητες του Xen για δικτύωση και είσοδο/έξοδο Κάθε τομέας έχει μία ή περισσότερες εικονικές διεπαφές δικτύου (Virtual Network Interfaces - VIFs) οι οποίες υποστηρίζουν τη λειτουργικότητα μίας κάρτας δικτύου. Μία VIF συνδέεται σε ένα εικονικό τοίχο προστασίας- εικονικό δρομολογητή (Virtual Firewall-Router - VFR). Οι οδηγοί διαχωρισμού έχουν ένα front-end στο DomU και το back-end στο Dom0. Τα front-end και back-end επικοινωνούν μεταξύ τους μέσω ενός δακτυλίου στην κοινόχρηστη μνήμη. Δακτύλιος: Μία κυκλική ουρά από περιγραφείς που καθορίζονται από τον τομέα και είναι προσβάσιμη μέσα από το Xen. Οι περιγραφείς δεν περιέχουν δεδομένα. Τα buffers δεδομένων κατανέμονται εκτός ζώνης (off- band) από το φιλοξενούμενο λειτουργικό σύστημα. Υποστηρίζονται δύο δακτύλιοι περιγραφέων buffer, ένας για την αποστολή κι ένας για τη λήψη πακέτων.

Αφαιρετικότητες του Xen για δικτύωση και είσοδο/έξοδο Για τη μετάδοση ενός πακέτου: Το φιλοξενούμενο λειτουργικό σύστημα τοποθετεί στην ουρά έναν περιγραφέα buffer στον δακτύλιο αποστολής. Το Xen: Αντιγράφει τον περιγραφέα κι ελέγχει την ασφάλεια. Αντιγράφει μόνο την κεφαλίδα του πακέτου χωρίς το ωφέλιμο φορτίο. Εκτελεί τους κανόνες ταιριάσματος.

Xen 2.0 Βελτιστοποίηση: Της εικονικής διεπαφής. Εκμεταλλεύεται τις δυνατότητες κάποιων φυσικών καρτών δικτύου, όπως η μείωση του φορτίου για το checksum. Του καναλιού εισόδου εξόδου. Αντί να αντιγραφεί ένα buffer δεδομένων που περιέχει ένα πακέτο, κάθε πακέτο διατίθεται σε μία νέα σελίδα και στη συνέχεια η φυσική σελίδα που περιέχει το πακέτο χαρτογραφείται εκ νέου στον τομέα στόχο. Της εικονικής μνήμης. Εκμεταλλεύεται την υπερσελίδα (superpage) και το hardware παγκόσμιας χαρτογράφησης σελίδας που υπάρχει στους επεξεργαστές Pentium και Pentium Pro. Μία εγγραφή υπερσελίδας καλύπτει 1024 εγγραφές σελίδας της φυσικής μνήμης και ο μηχανισμός μετάφρασης διευθύνσεων απεικονίζει ένα σύνολο συνεχόμενων σελίδων σε ένα σύνολο συνεχόμενων φυσικών σελίδων. Αυτή η διαδικασία βοηθά στη μείωση του αριθμού των αστοχιών TLB.

Xen 2.0

Σύγκριση απόδοσης εικονικών μηχανών Τα βασικά συμπεράσματα: Ο επιπλέον φόρτος της εικονοποίησης του Xen είναι σημαντικά υψηλότερος από τον αντίστοιχο φόρτο στο OpenVZ κι αυτό οφείλεται κατά κύριο λόγο σε απώλειες της L2-cache. Η μείωση της απόδοσης όταν ο φόρτος εργασίας αυξάνεται είναι επίσης εμφανής για το Xen. Η φιλοξενία πολλαπλών υποστάσεων της ίδιας εφαρμογής στον ίδιο server δεν αποτελεί τη βέλτιστη λύση.

Η κρυμμένη πλευρά της εικονοποίησης Σε μία πολυεπίπεδη δομή, ένας μηχανισμός άμυνας σε κάποιο επίπεδο μπορεί να απενεργοποιηθεί από κακόβουλο λογισμικό εκτελείται σε ένα επίπεδο κάτω από αυτό. Είναι εφικτό να εισαχθεί ένας «ανέντιμος» ελεγκτής εικονικών μηχανών, που να λειτουργεί σαν rootkit (Virtual Machine Based Rootkit - VMBR), μεταξύ του φυσικού υλικού και του λειτουργικού συστήματος. Rootkit. Κακόβουλο λογισμικό με προνομιακή πρόσβαση στο σύστημα. Ένα VMBR μπορεί να ενεργοποιήσει ένα ξεχωριστό κακόβουλο λειτουργικό σύστημα, το οποίο θα εκτελείται κρυφά και θα είναι αόρατο στο φιλοξενούμενο λειτουργικό σύστημα και τις εφαρμογές που εκτελούνται μέσα σε αυτό. Υπό την κάλυψη του VMBR, το κακόβουλο λειτουργικό σύστημα μπορεί: Να παρατηρεί τα δεδομένα, τα γεγονότα και την κατάσταση του συστήματος στόχο. Να εκτελεί υπηρεσίες, όπως αναμεταδότες ανεπιθύμητων μηνυμάτων (spam) κι επιθέσεις άρνησης υπηρεσίας (denial of service). Να παρεμποδίζει την εκτέλεση εφαρμογών.