Ο απλούστερος μηχανισμός προστασίας χρησιμοποιεί ένα ζευγάρι καταχωρητών που κρατούν δύο πεδία, τη βάση και το όριο. Κάθε διεύθυνση ελέγχεται και θεωρείται έγκυρη αν:
Βάση διεύθυνση Όριο
Σε μερικά συστήματα η διεύθυνση θεωρείται ως ένας μη προσημασμένος αριθμός, ο οποίος προστίθεται πάντα στη βάση, οπότε:
(Βάση + διεύθυνση) Όριο
Οι διεργασίες χρήστη δεν είναι ελεύθερες να αλλάζουν τη βάση και το όριο. Το λειτουργικό σύστημα, ωστόσο, έχει αυτή τη δυνατότητα να μπορεί να εναλλάσσει τις διεργασίες. Επομένως ο σχεδιαστής του υπολογιστή για να προστατέψει τις διεργασίες, πρέπει να παρέχει ορισμένες προϋποθέσεις στο σχεδιαστή του λειτουργικού συστήματος:
Eνώ η βάση και το όριο συνιστούν το ελάχιστο σύστημα προστασίας, η ιδεατή μνήμη προσφέρει μια καλύτερη λύση. Όπως έχουμε αναφέρει, οι διευθύνσεις περνούν μέσω μιας απεικόνισης από την ιδεατή στη φυσική μορφή τους. Σύμφωνα με αυτή την τεχνική, κάθε διεργασία διαθέτει ένα πίνακα σελίδων, ο οποίος απεικονίζει τις διακριτές σελίδες στη μνήμη που μπορεί να προσπελάσει . Αυτή η προσέγγιση μπορεί να παρέχει προστασία χρήστη-επόπτη και ανάγνωσης-εγγραφής, απλά χρησιμοποιώντας σημαίες επίτρεψης σε κάθε σελίδα στη μνήμη. Σε περίπτωση που το υλικό ανιχνεύσει μη εξουσιοδοτημένες προσβάσεις στη μνήμη διακόπτει τη λειτουργία της ΚΜΕ και καλεί το λειτουργικό σύστημα πριν προκαλέσουν δυσλειτουργία. Προφανώς τα προγράμματα χρήστη δεν μπορούν να τροποποιήσουν τους πίνακες σελίδων τους.
Η προστασία χρήστη-επόπτη μπορεί να κλιμακωθεί σε περισσότερα επίπεδα, ανάλογα με την ανησυχία του σχεδιαστή. Παράδειγμα αποτελεί η δομή προστασίας με δακτυλίους, που ακολουθείται από τον Intel Pentium. Στους εσωτερικούς δακτυλίους έχουν πρόσβαση μόνο εξουσιοδοτημένα άτομα, και όσο πιο εσωτερικός είναι ένας δακτύλιος τόσο πιο μεγάλη εξουσιοδότηση απαιτείται.
Μια περαιτέρω αύξηση της προστασίας παρέχουν τα κλειδιά προστασίας, όπου ένας χρηστής ή ένα πρόγραμμα δεν μπορεί να έχει πρόσβαση σε δεδομένα που έχουν κλειδωθεί, εκτός αν έχει το κατάλληλο κλειδί. Σε αυτή την περίπτωση το λειτουργικό σύστημα και το υλικό πρέπει να είναι ικανά να περνούν τα κλειδιά ρητά από το ένα πρόγραμμα στο άλλο, χωρίς να επιτρέπουν στο ίδιο το πρόγραμμα να τα αντιγράφει. Τέτοιος έλεγχος απαιτεί σημαντική υποστήριξη από το υλικό, προκειμένου ο χρόνος για τον έλεγχο των κλειδιών να παραμείνει χαμηλός.
ΔΡΑΣΤΗΡΙΟΤΗΤΑ 5
|
|