Εικονικοποίηση
thumb|250px|Εικονικοποίηση πλατφόρμας μέσω του προγράμματος VirtualBox Στην επιστήμη της πληροφορικής, η εικονικοποίηση (virtualization) είναι ένας ευρύς όρος των υπολογιστικών συστημάτων που αναφέρεται σε έναν μηχανισμό αφαίρεσης, στοχευμένο στην απόκρυψη λεπτομερειών της υλοποίησης και της κατάστασης ορισμένων υπολογιστικών πόρων από πελάτες των πόρων αυτών (π.χ. εφαρμογές, άλλα συστήματα, χρήστες κλπ).
Η εν λόγω αφαίρεση μπορεί είτε να αναγκάζει έναν πόρο να συμπεριφέρεται ως πλειάδα πόρων (π.χ. μία συσκευή αποθήκευσης σε διακομιστή τοπικού δικτύου), είτε πολλαπλούς πόρους να συμπεριφέρονται ως ένας (π.χ. συσκευές αποθήκευσης σε κατανεμημένα συστήματα).
Η εικονικοποίηση δημιουργεί μία εξωτερική διασύνδεση η οποία αποκρύπτει την υποκείμενη υλοποίηση (π.χ. πολυπλέκοντας την πρόσβαση από διαφορετικούς χρήστες).
Αυτή η προσέγγιση στην εικονικοποίηση αναφέρεται ως εικονικοποίηση πόρων.
Μία άλλη προσέγγιση, ίδιας όμως νοοτροπίας, είναι η εικονικοποίηση πλατφόρμας, όπου η αφαίρεση που επιτελείται προσομοιώνει ολόκληρους υπολογιστές.
Το αντίθετο της εικονικοποίησης είναι η διαφάνεια: ένας εικονικός πόρος είναι ορατός, αντιληπτός, αλλά στην πραγματικότητα ανύπαρκτος, ενώ ένας διαφανής πόρος είναι υπαρκτός αλλά αόρατος.
Σε ένα εικονικοποιημένο σύστημα συμμετέχουν τρεις παράγοντες: ο πελάτης μιας υπηρεσίας, ο παροχέας της υπηρεσίας και ένας ενδιάμεσος.
Ο πελάτης και ο παροχέας αλληλεπιδρούν μέσω μίας πρότυπης διασύνδεσης, τις κλήσεις προς την οποία όμως αναχαιτίζει ο ενδιάμεσος.
Ο τελευταίος επιτελεί την εικονικοποίηση λειτουργώντας ως παροχέας για τον πελάτη και ως πελάτης για τον παροχέα.
Ένα παράδειγμα είναι ο μηχανισμός εικονικής μνήμης των σύγχρονων λειτουργικών συστημάτων, όπου ο διαχειριστής εικονικής μνήμης (ο ενδιάμεσος) παρεμβάλλεται μεταξύ ενός πραγματικού χώρου διευθύνσεων (παροχέας) και ενός εικονικού που γίνεται αντιληπτός από κάθε διεργασία (πελάτης).
Ο ενδιάμεσος παρέχει την ψευδαίσθηση πολλών ισομεγέθων χώρων διευθύνσεων (ένας για κάθε διεργασία), ενώ στην πραγματικότητα υπάρχει μόνο ένας συνολικά (η πραγματική μνήμη).
Ο πελάτης και ο παροχέας δεν γνωρίζουν τίποτα για την εικονικοποίηση και τη μεσολάβηση του ενδιάμεσου.
Εικoνικοποίηση Πλατφόρμας
Ιδιαίτερο ενδιαφέρον παρουσιάζει η εικονικοποίηση πλατφόρμας, όπου ένα λογισμικό ελέγχου ("επόπτης" ή hypervisor) εκτελούμενο σε πραγματικό υλικό προσομοιώνει ένα υπολογιστικό περιβάλλον, μία "εικονική μηχανή", επάνω από το οποίο μπορεί να τρέξει κάποιο φιλοξενούμενο λογισμικό (συνήθως ένας πλήρης πυρήνας), απομονωμένο από το υπόλοιπο σύστημα.
Η θεμελιώδης λογική πίσω από την εικονικοποίηση πλατφόρμας είναι η αρχή πως οποιαδήποτε λειτουργία μπορεί να εκτελεστεί είτε από λογισμικό είτε από εξειδικευμένο υλικό· οι μόνες διαφορές αφορούν την ευελιξία και την απόδοση.
Είναι δυνατόν να προσομοιώνονται ταυτόχρονα πολλαπλές εικονικές μηχανές, εντελώς απομονωμένες μεταξύ τους, από το ίδιο λογισμικό ελέγχου.
Η εικονικοποίηση πλατφόρμας εμφανίστηκε αρχικά τη δεκαετία του 1960, πριν από την επέλαση των μικροϋπολογιστών, σε μεγάλα, συγκεντρωτικά συστήματα (mainframes), αλλά μετά το 2000 και την αλματώδη αύξηση των επιδόσεων του υλικού των PC έχει γίνει πλέον κοινή πρακτική.
Υπάρχουν πολλά είδη εικονικοποίησης πλατφόρμας.
Ακολουθούν τα σημαντικότερα:
Μία άλλου είδους κατηγοριοποίηση των εποπτών εικονικοποίησης είναι σε αυτούς που εκτελούνται ως εφαρμογές πάνω από ένα υποκείμενο λειτουργικό σύστημα-ξενιστή (π.χ. VirtualPC, VMware κλπ) και σε αυτούς που λειτουργούν οι ίδιοι ως λιτά λειτουργικά συστήματα και άρα εκτελούνται απευθείας επάνω από το υποκείμενο υλικό (π.χ. Xen).
Πηγές
