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

Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
Γραμμή 52:
 
 
'''Λειτουργία και διαχείριση της TLB'''
 
Όταν μια εικονική διεύθυνση μεταφέρεται στην MMU προκειμένου να μεταφραστεί, γίνεται έλεγχος αν ο αριθμός της εικονικής σελίδας υπάρχει στην TLB με παράλληλη σύγκριση όλων των καταχωρήσεων. Εφόσον υπάρχει και αφού η πρόσβαση δεν παραβιάζει τα bit προστασίας, το πλαίσιο σελίδας λαμβάνεται απευθείας από την TLB χωρίς να χρησιμοποιηθεί ο πίνακας σελίδων. Αν όμως ο αριθμός της εικονικής σελίδας υπάρχει στην TLB σημαίνει ότι η εντολή προσπαθεί να κάνει εγγραφή σε σελίδα όπου επιτρέπεται μόνον η ανάγνωση. Επομένως προκύπτει σφάλμα προστασίας. Στις σύγχρονες μηχανές RISC (όπως οι SPARC,MIPS και η HP PA) κάνουν όλη τη διαχείριση σελίδων με λογισμικό, η TLB φορτώνονται από το λειτουργικό σύστημα και όταν συμβαίνει κάποια αστοχία TLB προκύπτει απλώς σφάλμα TLB. Επομένως και σ’ αυτήν τη περίπτωση το πρόβλημα μεταβιβάζεται στο λειτουργικό σύστημα. Η διαχείριση της TLB με λογισμικό είναι αποδοτική εφόσον η TLB είναι αρκετά μεγάλη (π.χ με 64 καταχωρήσεις) .Η αύξηση της αποδοτικότητας οφείλεται στη μείωση των αστοχιών. Για να μειώσει τις αστοχίες στην TLB το λειτουργικό σύστημα μπορεί να χρησιμοποιήσει "διαίσθηση" προκειμένου να βρει ποιες σελίδες πρόκειται να χρησιμοποιηθούν στη συνέχεια, ώστε να φορτώσει από πριν τις σελίδες αυτές στην TLB. Βέβαια υπάρχουν διάφορες στρατηγικές για την βελτίωση της απόδοσης σε μηχανές που διαχειρίζονται την TLB με λογισμικό.
 
'''Παράδειγμα διαχείριση της TLB'''
 
Μια διεργασία-πελάτης στέλνει κάποιο μήνυμα σε μια διεργασία-διακομιστή η οποία βρίσκεται στην ίδια μηχανή. Το σύστημα καταλαβαίνει ότι υπάρχει μεγάλη πιθανότητα να εκτελεστεί στο άμεσο μέλλον ο διακομιστής. Με αυτό το δεδομένο στη διάρκεια της επεξεργασίας της κλήσης send, υπάρχει η δυνατότητα να εντοπιστούν τις σελίδες που περιέχουν τον κώδικα καθώς και αυτές που περιέχουν τα δεδομένα και τη στοίβα του διακομιστή. Επομένως οι σελίδες φορτώνονται στην TLB πρίν προκαλέσουν σφάλματα.
 
==Βιβλιογραφία==
 
• William Stallings , “Computer Organization And Architecture : Designing For Performance ” , Sixth edition 2003.
• Andrew S. Tanenbaum “ Modern Operating Systems “, Third edition 2008.