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

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

Κρυπτογραφική συσκευή VirtIO για QEMU-KVM

Εικονικοποίθςθ. Λειτουργικά Συςτιματα Υπολογιςτϊν 6ο Εξάμθνο,

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

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

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

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

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

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

Εικονική Μνήμη (1/2)

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

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

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

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

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

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

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

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

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

Examination of cloud systems security from virtualization perspective

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

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

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

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

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

Οργάνωση ενός σύγχρονου Υπολογιστικού Συστήματος ή Ηλεκτρονικού Υπολογιστή (Η/Υ) Τα σύγχρονα συστήματα Η/Υ έχουν την παρακάτω οργάνωση:

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

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

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

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

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

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

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΜΟΝΑΔΑ ΑΡΙΣΤΕΙΑΣ ΕΛ/ΛΑΚ

Προηγμένοι Μικροεπεξεργαστές. Paging & Segmentation

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

Μελέτη τεχνολογιών εικονικοποίησης υποβοηθούμενης από το υλικό και μέθοδοι απομόνωσης διεργασιών και εκτέλεσης τους στο υλικό της εικονικοποίησης.

Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ανατολικής Μακεδονίας και Θράκης. Πτυχιακή Εργασία. Ανάπτυξη Εικονικών Υπολογιστικών Συστημάτων. Αραμπίδης Κλημέντιος

Εικονική Μνήμη (virtual memory)

Μάθημα 8: Διαχείριση Μνήμης

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

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


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

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

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

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

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

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής

ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ

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

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

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

Πανεπιστήμιο Πατρών, Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Κωνσταντίνος Κοντοδήμας, Διπλωματούχος Μηχανικός Η/Υ και Πληροφορικής c

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

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

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

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

Αρχιτεκτονική Η/Υ Το chipset ενός υπολογιστικού συστήματος. Δρ. Μηνάς Δασυγένης

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

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

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

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

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

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

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

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

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

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

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

Μάθημα 3: Αρχιτεκτονική Υπολογιστών

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

Κεφάλαιο 5. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 2. Σημείωση

Λειτουργικά Συστήματα 1.1 Τι είναι Λειτουργικό Σύστημα (Operating System)

Λειτουργικά. Συστήματα Ι. Εγκατάσταση Ιδεατής Μηχανής. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διαχείριση μνήμης Εργαστηριακές Ασκήσεις

Μελέτη σχεδίασης και υλοποίησης εικονικοποίησης περιβάλλοντος εργασίας με τεχνικές υπολογιστικού νέφους και έμφαση σε κινητές συσκευές

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

Ενότητα 3 - Θέματα Εφαρμοσμένης Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ II. χειμερινό εξάμηνο & εαρινό εξάμηνο (σε κίτρινο υπόβαθρο)

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

Κεφάλαιο 5. Μεγάλη και γρήγορη: Αξιοποίηση της ιεραρχίας της µνήµης. Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση

Server Virtualization ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

Εθνικό Μετσόβιο Πολυτεχνείο

Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών

ΑΙΓΙΟ 10 / 10 / 2016 Α ) ΣΥΣΤΗΜΑΤΑ ΔΙΑΚΟΜΙΣΤΩΝ. Επιτροπή τεχνικών προδιαγραφών Του Γ.Ν Ανατολικής Αχαΐας Αίγιο 10 / 10/ 2016

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

Βασίλειος Κοντογιάννης ΠΕ19

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

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

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

Δομή Ηλεκτρονικού υπολογιστή

Κεφάλαιο 3 Λειτουργικά Συστήματα Β ΕΠΑΛ

Διασύνδεση Εισόδου-Εξόδου

Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών. Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης.

ΠΛΗ10 Κεφάλαιο 2. ΠΛΗ10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: 2 2.1: Bασική Δομή του Υπολογιστή

Σκοπός Μαθήματος. Λειτουργικά Συστήματα Η/Υ. Γενικές Πληροφορίες. Στόχοι Μαθήματος ΚΕΦΑΛΑΙΟ 1 - ΕΙΣΑΓΩΓΗ. Θεωρία: Εργαστήριο: Κεφάλαιο 1 «Εισαγωγή»

Το εσωτερικό ενός PC. Τεχνολογία Η/Υ & Πληροφοριών - 05 Κεντρική μονάδα Χουρδάκης Μανόλης

Transcript:

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

Εικονικοποίηση - Σύνοψη Γενικά Οργάνωση VMM Τεχνικές Εικονικοποίησης Εικονικοποίηση Μνήμης Live Migration Παραδείγματα συστημάτων

Εικονικοποίηση - Σύνοψη Γενικά Οργάνωση VMM Τεχνικές Εικονικοποίησης Εικονικοποίηση Μνήμης Live Migration Παραδείγματα συστημάτων

Εικονικοποίηση Έννοιες Εικονική Μηχανή (Virtual Machine - VM): λογισμικό προσομοίωσης ενός φυσικού συστήματος (με πραγματικό/απτό υλικό) Ελεγκτής Εικονικών Μηχανών (Virtual Machine Monitor - VMM) ή (Υπερ)επόπτης (Hypervisor): λογισμικό το οποίο είναι υπεύθυνο για τη δημιουργία, διαχείριση και ασφαλή εκτέλεση των εικονικών μηχανών

Εικονικοποίηση Δυνατότητα ταυτόχρονης εκτέλεσης πολλών εικονικών μηχανών σε ένα φυσικό μηχάνημα. Κάθε εικονική μηχανή έχει την ψευδαίσθηση ότι έχει πλήρη και αποκλειστική πρόσβαση στο υλικό του συστήματος (εικονική CPU (VCPU), εικονική μνήμη, εικονικές συσκευές). Ο VMM εγγυάται ασφαλή πρόσβαση των εικονικών μηχανών στους φυσικούς πόρους του συστήματος.

Οφέλη Εικονικοποίησης (1) Μείωση κόστους/ενέργειας Π.χ. σε datacenters: λιγότεροι φυσικοί servers φιλοξενούν εικονικές μηχανές μικρότερη υποδομή, λιγότερες ανάγκες για ενέργεια λειτουργίας/ψύξης. Απομόνωση + προστασία μεταξύ των εικονικών μηχανών

Οφέλη Εικονικοποίησης (2) Ευκολότερη ανάπτυξη και δοκιμή εφαρμογών σε διαφορετικά ΛΣ Μεγαλύτερη κλιμάκωση πλήθους εικονικών μηχανών συστατικό στοιχείο του cloud computing

Εικονικοποίηση - Σύνοψη Γενικά Οργάνωση VMM Τεχνικές Εικονικοποίησης Εικονικοποίηση Μνήμης Live Migration Παραδείγματα συστημάτων

Οργάνωση ΛΣ (επανάλ.) Διεργασία 1 Διεργασία 2 Διεργασία 3 Χώρος Χρήστη Υπηρεσίες ΛΣ Χώρος Πυρήνα Οδηγοί Συσκευών Υλικό Υλικό

Οργάνωση ΛΣ (επανάλ.) Διεργασία 1 Διεργασία 2 Διεργασία 3 Χώρος Χρήστη Υπηρεσίες ΛΣ Χώρος Πυρήνα Οδηγοί Συσκευών Υλικό Υλικό

Οργάνωση VMM (1) VM1 VM2 VM3 Χώρος Χρήστη VMM Χώρος Πυρήνα Υλικό Υλικό

Οργάνωση VMM (1) VM1 VM2 VM3 Χώρος Χρήστη VMM Χώρος Πυρήνα Υλικό Υλικό Ο VMM δίνει την ψευδαίσθηση στις εικονικές μηχανές ότι εκτελούνται στο φυσικό υλικό

Οργάνωση VMM (1) VM1 VM2 VM3 Διεργασία 1 Διεργασία Ν Χώρος Χρήστη Χώρος Χρήστη ΛΣ VMM Χώρος Πυρήνα Χώρος Πυρήνα Εικονικό Υλικό Υλικό Υλικό Ο VMM δίνει την ψευδαίσθηση στις εικονικές μηχανές ότι εκτελούνται στο φυσικό υλικό

Οργάνωση VMM (1) VM1 VM2 VM3 Διεργασία 1 Διεργασία Ν Χώρος Χρήστη Χώρος Χρήστη ΛΣ VMM Χώρος Πυρήνα Χώρος Πυρήνα Εικονικό Υλικό Υλικό Υλικό Ο VMM δίνει την ψευδαίσθηση στις εικονικές μηχανές ότι εκτελούνται στο φυσικό υλικό

Οργάνωση VMM (1) VM1 VM2 VM3 Διεργασία 1 Διεργασία Ν Χώρος Χρήστη Χώρος Χρήστη ΛΣ VMM Χώρος Πυρήνα Χώρος Πυρήνα Εικονικό Υλικό Υλικό Υλικό Ο VMM δίνει την ψευδαίσθηση στις εικονικές μηχανές ότι εκτελούνται στο φυσικό υλικό

Οργάνωση VMM (2)

Οργάνωση VMM (2) Οπότε, από την πλευρά του λογισμικού προκύπτουν πλέον 4 καταστάσεις: Χώρος χρήστη guest Χώρος πυρήνα guest Χώρος χρήστη host Χώρος πυρήνα host

Οργάνωση VMM (2) Οπότε, από την πλευρά του λογισμικού προκύπτουν πλέον 4 καταστάσεις: Χώρος χρήστη guest Χώρος πυρήνα guest Χώρος χρήστη host Χώρος πυρήνα host Ο επεξεργαστής (CPU), όμως, γνωρίζει μόνο 2 καταστάσεις: χώρος χρήστη (μη-προνομιούχος) και χώρος πυρήνα (προνομιούχος)

ΛΣ και Privilege levels (Rings) (1) Μηχανισμός ιεραρχίας του υλικού για εξασφάλιση προστασίας/διαχωρισμού εφαρμογών Πιο προνομιακό το χαμηλότερο ring Π.χ. Linux σε x86: εφαρμογές (user-mode) Ring 3, ΛΣ (kernel-mode) Ring 0

ΛΣ και Privilege levels (Rings) (2) syscall

Εικονικοποίηση - Σύνοψη Γενικά Oργάνωση VMM Τεχνικές Εικονικοποίησης Εικονικοποίηση Μνήμης Live Migration Παραδείγματα συστημάτων

Κατηγορίες Εντολών (1) Προνομιούχες εντολές Μπορούν να εκτελεστούν απευθείας μόνο αν η CPU βρίσκεται σε προνομιούχο κατάσταση (χώρο πυρήνα). Αν η CPU βρίσκεται σε μη-προνομιούχο κατάσταση (χώρο χρήστη), προκαλείται trap, η CPU μεταβαίνει σε προνομιούχο κατάσταση και η εκτέλεση συνεχίζεται από προκαθορισμένη ρουτίνα χειρισμού στο ΛΣ ή στο VMM αντίστοιχα.

Κατηγορίες Εντολών (2) Μη-προνομιούχες εντολές Μπορούν να εκτελεστούν απευθείας σε οποιαδήποτε κατάσταση βρίσκεται η CPU. Ευαίσθητες εντολές

Κατηγορίες Εντολών (3) Κατηγοριοποίηση ευαίσθητων εντολών: Ευαίσθητες εντολές ελέγχου: Εκείνες που προσπαθούν να αλλάξουν τις ρυθμίσεις των πόρων του συστήματος. Ευαίσθητες εντολές συμπεριφοράς: Η συμπεριφορά ή το αποτέλεσμά τους εξαρτάται από τις ρυθμίσεις των πόρων (π.χ. την κατάσταση στην οποία βρίσκεται η CPU).

Κατηγορίες Εντολών (4) Ανάλογα με την αρχιτεκτονική του συστήματος, συγκεκριμένες ευαίσθητες εντολές μπορεί να παράγουν trap όταν εκτελούνται σε χώρο χρήστη και άρα να είναι και προνομιούχες. Επομένως, δεν είναι όλες οι ευαίσθητες εντολές προνομιούχες. Εξαρτάται από την αρχιτεκτονική. Π.χ. η popf σε x86 εκτελείται χωρίς trap και σε χώρο χρήστη παράγοντας διαφορετικό αποτέλεσμα.

Κατηγοριοποίηση Εικονικοποίησης 19

Μέθοδος trap & emulate (1) Η εικονική μηχανή εκτελείται στο χώρο χρήστη του host. Οι μη-προνομιούχες εντολές (διεργασιών ή πυρήνα) εκτελούνται απευθείας από τη CPU. Οι προνομιούχες εντολές προκαλούν trap. Παρεμβαίνει ο VMM και προσομοιώνει τη συμπεριφορά της εντολής που θα ανέμενε η εικονική μηχανή.

Μέθοδος trap & emulate (2) Θεώρημα: Για να είναι δυνατή η εικονικοποίηση με τη μέθοδο trap & emulate, πρέπει το σύνολο των ευαίσθητων εντολών να είναι υποσύνολο των προνομιούχων εντολών. Popek, G. J., Goldberg, R. P. (July 1974)."Formal requirements for virtualizable third generation architectures".

Μέθοδος trap & emulate (3)

Μέθοδος trap & emulate (3) Δεν υπάρχει επιπλέον κόστος εκτέλεσης των μηπρονομιούχων εντολών. Αντίθετα, οι προνομιούχες εντολές κοστίζουν λόγω emulation. Δεν είναι εφικτή μέθοδος σε αρχιτεκτονικές με ευαίσθητες εντολές που δεν προκαλούν trap όταν εκτελούνται στο χώρο χρήστη.

Μέθοδος binary translation (1)

Μέθοδος binary translation (1) Πρέπει ο VMM να είναι σε θέση να πιάσει ευαίσθητες εντολές που εκτελούνται σε guest χώρο πυρήνα (άρα σε host χώρο χρήστη).

Μέθοδος binary translation (1) Πρέπει ο VMM να είναι σε θέση να πιάσει ευαίσθητες εντολές που εκτελούνται σε guest χώρο πυρήνα (άρα σε host χώρο χρήστη). Αν αυτές δεν προκαλούν trap στο χώρο χρήστη;

Μέθοδος binary translation (1) Πρέπει ο VMM να είναι σε θέση να πιάσει ευαίσθητες εντολές που εκτελούνται σε guest χώρο πυρήνα (άρα σε host χώρο χρήστη). Αν αυτές δεν προκαλούν trap στο χώρο χρήστη; Λύση: Οι εντολές στο guest χώρο χρήστη εκτελούνται απευθείας στη CPU. Ο VMM διαβάζει τις εντολές στο guest χώρο πύρηνα και τις μεταφράζει (στατικά ή δυναμικά) με άλλες που προσομοιώνουν την αντίστοιχη λειτουργία.

Μέθοδος binary translation (2)

Μέθοδος binary translation (3)

Μέθοδος binary translation (4)

Μέθοδος εικονικοποίησης υποβοηθούμενη από το υλικό (1) Αλλαγές στο υλικό, προκειμένου η CPU να αναγνωρίζει και τις 4 καταστάσεις guest/host. Πώς Ring -1. Έτσι, οι αντίστοιχες ευαίσθητες εντολές προκαλούν πάντα trap όταν εκτελούνται σε guest χώρο πυρήνα και παρεμβαίνει ο VMM. Σαφώς βελτιωμένη επίδοση - απαιτούνται επεκτάσεις υλικού (virtualization extensions), π.χ. Intel VT-x, AMD-V.

Μέθοδος εικονικοποίησης υποβοηθούμενη από το υλικό (2)

Μέθοδος εικονικοποίησης υποβοηθούμενη από το υλικό (3)

Paravirtualization (1) Έρχεται σε αντίθεση με τις προηγούμενες τεχνικές πλήρους εικονικοποίησης (full virtualization). Τμήματα του guest ΛΣ πλέον γνωρίζουν ότι εκτελούνται σε εικονικό περιβάλλον και πραγματοποιούν άμεσα αιτήσεις στον VMM μέσω ειδικού API, τις υπερκλήσεις (hypercalls). Απαιτούνται αλλαγές στον guest πυρήνα, με σκοπό συγκεκριμένες λειτουργίες να πραγματοποιούνται ταχύτερα.

Paravirtualization (2) Διεργασία 1 Διεργασία Ν Διεργασία 1 Διεργασία Ν Χώρος Χρήστη Guest Χώρος Χρήστη Guest ΛΣ Χώρος Πυρήνα Guest ΛΣ Χώρος Πυρήνα Guest Χώρος Χρήστη Host VMM Χώρος Πυρήνα Host Υλικό Υλικό

Paravirtualization (2) Διεργασία 1 Διεργασία Ν Διεργασία 1 Διεργασία Ν Χώρος Χρήστη Guest Χώρος Χρήστη Guest ΛΣ Χώρος Πυρήνα Guest ΛΣ Χώρος Πυρήνα Guest Χώρος Χρήστη Host VMM Χώρος Πυρήνα Host Υλικό Υλικό

Paravirtualization (2) Διεργασία 1 Διεργασία Ν Διεργασία 1 Διεργασία Ν Χώρος Χρήστη Guest Χώρος Χρήστη Guest ΛΣ Χώρος Πυρήνα Guest ΛΣ Χώρος Πυρήνα Guest Χώρος Χρήστη Host VMM Χώρος Πυρήνα Host Υλικό Υλικό

Paravirtualization (3)

Εικονικοποίηση - Σύνοψη Γενικά Oργάνωση VMM Τεχνικές Εικονικοποίησης Εικονικοποίηση Μνήμης Live Migration Παραδείγματα συστημάτων

Εικονικοποίηση Μνήμης Σε κλασσικό μη-εικονικοποιημένο σύστημα διατηρείται πίνακας σελίδων για μεταφράσεις από εικονικό σε φυσικό χώρο διευθύνσεων. Η MMU (Memory Management Unit) είναι υπεύθυνη για να διατρέξει τον πίνακα και να βρει την αντίστοιχη εγγραφή. Σε σύστημα εικονικοποίησης πρέπει πλέον να γίνουν 2 επίπεδα μεταφράσεων: από τον εικονικό χώρο διευθύνσεων του guest στον αντίστοιχο φυσικό του guest και τέλος στο φυσικό χώρο διεθύνσεων του host.

Shadow Page Tables (1) Εικονική Μνήμη Guest Φυσική Μνήμη Guest Φυσική Μνήμη Host

Shadow Page Tables (1) Εικονική Μνήμη Guest Φυσική Μνήμη Guest Φυσική Μνήμη Host

Shadow Page Tables (2) Εικονική Μνήμη Guest Φυσική Μνήμη Guest Φυσική Μνήμη Host

Shadow Page Tables (2) Εικονική Μνήμη Guest Φυσική Μνήμη Guest Φυσική Μνήμη Host

Shadow Page Tables (3) Εικονική Μνήμη Guest Φυσική Μνήμη Guest Φυσική Μνήμη Host

Shadow Page Tables (3) Εικονική Μνήμη Guest Φυσική Μνήμη Guest Φυσική Μνήμη Host

Shadow Page Tables (4) Εικονική Μνήμη Guest Φυσική Μνήμη Guest Φυσική Μνήμη Host

Shadow Page Tables (4) Εικονική Μνήμη Guest Φυσική Μνήμη Guest Φυσική Μνήμη Host

Nested Page Tables (1) Η τεχνική των εμφωλιασμένων πινάκων σελίδων (nested page tables) απαιτεί αλλαγές στο υλικό. Υποστήριξη 2 (ή και περισσότερων) επιπέδων μετάφρασης από το υλικό. Το υλικό αναλαμβάνει να διατρέξει τους πίνακες σελίδων, προκειμένου να βρει την τελική διεύθυνση στο φυσικό χώρο διευθύνσεων του host.

Nested Page Tables (2) TLB (Translation Lookaside Buffer): cache μεταφράσεων για γρήγορη αναζήτηση διευθύνσεων. Αυξημένο μέγεθος TLB, ώστε να αποφεύγεται η αναζήτηση στους πίνακες σελίδων (TLB miss). Παραδείγματα υλοποιήσεων: Intel EPT (Extended Page Tables), AMD NPT (Nested Page Tables).

Nested Page Tables (3)

Εικονικοποίηση - Σύνοψη Γενικά Oργάνωση VMM Τεχνικές Εικονικοποίησης Εικονικοποίηση Μνήμης Live Migration Παραδείγματα συστημάτων

Live Migration (1) Μετακίνηση εικονικής μηχανής από ένα φυσικό μηχάνημα σε κάποιο άλλο. Γενική απαίτηση: ο χρήστης να μην καταλάβει κάτι. Σε τι χρησιμεύει το migration; εξισσορρόπηση φόρτου μεταξύ φυσικών μηχανημάτων (π.χ. servers). συντήρηση του φυσικού μηχανήματος + πιθανή ανάγκη επανεκκίνησής του (reboot).

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

Γενικός Αλγόριθμος Live Migration (1) Στόχος: να μεταφερθεί η εικονική μηχανή (Guest) από τον VMM1 στον VMM2. Πρέπει να μεταφερθεί η μνήμη του (σελίδες).

Γενικός Αλγόριθμος Live Migration (2) Αποστέλλονται επανειλημμένα μόνο οι σελίδες που έχουν αλλάξει περιεχόμενο (dirty). Όταν ο αριθμός των dirty σελίδων γίνει αρκετά μικρός, ο VMM1 παγώνει τον Guest 1, αποστέλλει τις τελευταίες dirty σελίδες και εκκινεί τον Guest 2

Εικονικοποίηση - Σύνοψη Γενικά Oργάνωση VMM Τεχνικές Εικονικοποίησης Εικονικοποίηση Μνήμης Live Migration Παραδείγματα συστημάτων

Επικοινωνία στο Xen 49

Solaris 50

VMware Workstation 51

Java Virtual Machine 52

Nested Virtualization 53

Ερωτήσεις;

Ερωτήσεις;