Εικονική μνήμη: Διαφορά μεταξύ των αναθεωρήσεων

Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
Γραμμή 24:
 
Η λειτουργία της MMU υλοποιείται με την χρήση των πινάκων σελίδων (page tables). Σε μία απλή υλοποίηση, η χαρτογράφηση των εικονικών διευθύνσεων σε φυσικές διευθύνσεις μπορεί να συνοψιστεί ως εξής: η εισερχόμενη εικονική διεύθυνση διαιρείται σε έναν αριθμό εικονικής σελίδας (bit υψηλής τάξης) και μια σχετική διεύθυνση (bit χαμηλής τάξης). Ο αριθμός της εικονικής σελίδας χρησιμοποιείται ως αριθμοδείκτης θέσης στον πίνακα σελίδων προκειμένου να εντοπίζεται η καταχώριση της συγκεκριμένης εικονικής σελίδας. Από την καταχώρηση του πίνακα σελίδων υπολογίζεται ο αριθμός του πλαισίου σελίδας (αν υπάρχει). Ο αριθμός πλαισίου σελίδας προσαρτάται στα αριστερά της σχετικής διεύθυνσης (πιο σημαντικά bit) αντικαθιστώντας τον αριθμό εικονικής σελίδας, ώστε να σχηματίσει μια φυσική διεύθυνση που μπορεί πλέον να σταλεί στη μνήμη. Από μαθηματική σκοπιά, ο πίνακας σελίδων είναι μια συνάρτηση, με όρισμα τον αριθμό εικονικής σελίδας και αποτέλεσμα τον αριθμό φυσικού πλαισίου.
[[Αρχείο:sxhma1.jpg]]
 
 
 
 
 
 
 
 
Πιο αναλυτηκά η ακριβής μορφή μίας καταχώρησης στον πίνακα σελίδων εξαρτάται από τη συγκεκριμένη μηχανή, ωστόσο το είδος των πληροφοριών που περιέχει σε γενικές γραμμές είναι το ιδιο και φαίνεται στην εικόνα.
 
 
Το μέγεθος της καταχώρησης ποικίλει αλλά το πιο συνηθισμένο είναι τα 32bit.Το σημαντικότερο πεδίο και αυτό που καταλαμβάνει και τον περισσότερο χώρο είναι ο αριθμός πλαισίου σελίδας , εφόσον ο σκοπός της χαρτογράφησης είναι να ληφθεί αυτή η τιμή ως έξοδος .Το επόμενο από τα αριστερά bit είναι αυτό της παρουσίας/ απουσίας, αν το συγκεκριμένο bit είναι 1 τότε η καταχώρηση είναι έγκυρη και μπορεί να χρησιμοποιηθεί. Αν είναι 0 τότε προκαλείται σφάλμα σελίδας καθώς η εικονική σελίδα στην οποία ανήκει αυτή η καταχώρηση δε βρίσκεται στη μνήμη την συγκεκριμένη χρονική στιγμή. Τα bit προστασίας δηλώνουν τα είδη πρόσβασης που επιτρέπονται. Συνήθως είναι 3 bit καθένα επιτρέπει ή όχι ( 0 ή 1 ) την ανάγνωση, την εγγραφή και την εκτέλεση αντίστοιχα. Τα bit τροποποίησης διατηρούν πληροφορίες για τη χρήση της σελίδας όπου χρησιμεύουν κυρίως κατά την απόσυρση του πλαισίου από τη μνήμη και την εγγραφή του στο δίσκο. Το bit αναφοράς χρησιμοποιείται κατά την επιλογή από το λειτουργικό σύστημα της σελίδας που πρόκειται να αφαιρεθεί από τη μνήμη όταν συμβεί σφάλμα σελίδας καθώς παίρνει τιμή 1 κάθε φορά που γίνεται αναφορά στη συγκεκριμένη σελίδα γεγονός που βοηθά στο να επιλέγονται σελίδες που δεν έχουν χρησιμοποιηθεί πρόσφατα. Το τελευταίο bit επιτρέπει την απενεργοποίηση της κρυφής μνήμης για τη σελίδα αυτή το οποίο είναι σημαντικό για σελίδες που χαρτογραφούνται σε καταχωρητές συσκευών και όχι στη μνήμη. Κάτι σημαντικό που πρέπει να διευκρινιστεί εδώ είναι ότι η διεύθυνση στο δίσκο όπου αποθηκεύεται η σελίδα όταν δεν βρίσκεται στη μνήμη , δεν αποτελεί μέρος του πίνακα σελίδων καθώς ο πίνακας σελίδων διατηρεί μόνο πληροφορίες που χρειάζονται στο υλικό για τη μετάφραση μίας εικονικής διεύθυνσης σε φυσική, ενώ οι πληροφορίες που χρειάζονται στο λειτουργικό σύστημα για τη διαχείριση των σφαλμάτων σελίδας διατηρούνται σε πίνακες λογισμικού και είναι άχρηστες για το υλικό.