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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Symantec Backup Exec System Recovery 7.0 Server Edition. Πλήρης Επαναφορά Συστημάτων Windows Μέσα σε Λίγα Λεπτά και όχι σε Ώρες ή Ημέρες

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

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

ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 4: Επίπεδο 3 το πρωτόκολλο IP

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

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

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

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

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

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

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

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

Οργάνωση Υπολογιστών (IΙI)

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

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

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

ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα

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

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

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

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

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

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

Κεφάλαιο 4. Λογισμικό Συστήματος

ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΚΡΗΤΗΣ

Βασικές συσκευές Ε/Ε. Είσοδος Έξοδος στον υπολογιστή. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (IΙI) Μ.

Κεφάλαιο 3: Λειτουργικά Συστήματα

Συστήματα σε Ολοκληρωμένα Κυκλώματα

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

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

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

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

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

Φροντιστήριο. Παραγωγή τελικού κώδικα. Παραγωγή τελικού κώδικα

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

Λειτουργικά Συστήματα. Ενότητα # 3: Διαχείριση Μνήμης Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

STORAGE AREA NETWORK. Σπουδαστές: Δόση Νικολέτα Καρακούση Πελαγία 30/5/2014 1

Τεχνική Οδηγία. Εγκατάσταση & ρύθμιση MS ISA Server 2000 στο περιβάλλον των σχολικών εργαστηρίων. Έκδοση 1.0. Ιανουάριος 2005

Προγραμματισμός Υπολογιστών

Η Oracle μετασχηματίζει την αγορά λύσεων υποδομής Cloud

Υ- 01 Αρχιτεκτονική Υπολογιστών Back- end: χρονοπρογραμματισμός, εντολές προσπέλασης μνήμης

Transcript:

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

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

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

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

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

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

Φορητότητα κώδικα Δυαδικά αρχεία που δημιουργούνται από ένα μεταγλωττιστή για συγκεκριμένη ISA και συγκεκριμένα λειτουργικά συστήματα δεν είναι φορητά. Είναι όμως εφικτό να μεταγλωττιστεί ένα HLL πρόγραμμα για το περιβάλλον μίας εικονικής μηχανής όπου ο φορητός κώδικας παράγεται και διανέμεται και μετά μετατρέπεται από τους διαδίκους μεταφραστές στην 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. Η αρχιτεκτονική 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 είναι σημαντικά υψηλότερος από τον αντίστοιχο φόρτο στο OpenVZ κι αυτό οφείλεται κατά κύριο λόγο σε απώλειες της L2-cache. Η μείωση της απόδοσης όταν ο φόρτος εργασίας αυξάνεται είναι επίσης εμφανής για το Xen. Η φιλοξενία πολλαπλών υποστάσεων της ίδιας εφαρμογής στον ίδιο server δεν αποτελεί τη βέλτιστη λύση.

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