1. Επίπεδα προστασίας/προνομίου: Οι περισσότερες σύγχρονες CPU χρησιμοποιούν ένα δακτυλιοειδές μοντέλο προστασίας. Αυτό διαιρεί τους τρόπους εκτέλεσης της CPU σε ομόκεντρους δακτυλίους, το καθένα με μειωμένα επίπεδα προνομίων. Ο εσωτερικός δακτύλιος (δακτύλιος 0 ή λειτουργία πυρήνα) έχει πλήρη πρόσβαση σε όλα τα υλικά και τους πόρους. Τα προγράμματα χρηστών συνήθως εκτελούνται σε υψηλότερο δακτύλιο (δακτύλιος 3 ή λειτουργία χρήστη), περιορισμένα σε αυτό που μπορούν να έχουν άμεση πρόσβαση ή εκτέλεση. Οι προσπάθειες εκτέλεσης προνομιούχων οδηγιών (π.χ., άμεσα πρόσβαση σε θύρες εισόδου/εξόδου, χειρισμό των εσωτερικών καταχωρητών της CPU με τρόπους που θα μπορούσαν να θέσουν σε κίνδυνο το σύστημα) από έναν υψηλότερο δακτύλιο θα οδηγήσει σε παγίδα ή εξαίρεση, μεταφέροντας τον έλεγχο του λειτουργικού συστήματος (πυρήνας).
2. Μονάδα διαχείρισης μνήμης (MMU): Το MMU είναι ένα κρίσιμο στοιχείο υλικού που μεταφράζει εικονικές διευθύνσεις που χρησιμοποιούνται από προγράμματα σε φυσικές διευθύνσεις στη μνήμη RAM. Επιβάλλει αρκετούς βασικούς μηχανισμούς προστασίας:
* Εικονική μνήμη: Κάθε διαδικασία δίνεται στον δικό της εικονικό χώρο διευθύνσεων, απομονώνοντάς την από άλλες διαδικασίες. Ακόμη και αν μια διαδικασία έχει ένα σφάλμα που αντικαθιστά τη μνήμη, είναι απίθανο να επηρεάσει άλλες διαδικασίες, επειδή η MMU θα μεταφράσει τις προσβάσεις της στον δικό της χώρο που έχει διατεθεί.
* Τμηματοποίηση/σελίδα: Αυτές είναι μέθοδοι που χρησιμοποιούνται από το MMU για να διαιρέσουν τη μνήμη σε τμήματα ή σελίδες. Τα δικαιώματα πρόσβασης (ανάγνωση, εγγραφή, εκτέλεση) μπορούν να εκχωρηθούν μεμονωμένα σε κάθε τμήμα ή σελίδα. Το MMU ελέγχει αυτά τα δικαιώματα πριν επιτρέψει την πρόσβαση στη μνήμη, εμποδίζοντας ένα πρόγραμμα χρήστη από, για παράδειγμα, γράφοντας στο τμήμα κώδικα του πυρήνα ή ευαίσθητα δεδομένα ανάγνωσης από τη μνήμη μιας άλλης διαδικασίας.
* Μετάφραση διεύθυνσης: Το MMU εμποδίζει ένα πρόγραμμα από την άμεση πρόσβαση στις διευθύνσεις φυσικής μνήμης. Παρακολουθεί όλες τις πρόσβαση μνήμης, επικυρώντας τους ενάντια στις λίστες ελέγχου πρόσβασης πριν τους επιτρέψει.
3. Διακοπές και εξαιρέσεις: Οι διακόπτες υλικού (π.χ., από έναν χρονομετρητή, πληκτρολόγιο ή προσαρμογέα δικτύου) και εξαιρέσεις λογισμικού (π.χ. διαίρεση με μηδέν, παράνομη διδασκαλία) προκαλούν μεταφορά ελέγχου στον πυρήνα του λειτουργικού συστήματος. Αυτό εμποδίζει ένα πρόγραμμα χρήστη να μονοπωλεί την CPU επ 'αόριστον και επιτρέπει στο λειτουργικό σύστημα να διαχειρίζεται πόρους και να χειρίζεται συμβάντα. Στη συνέχεια, ο πυρήνας καθορίζει την κατάλληλη ενέργεια, η οποία μπορεί να περιλαμβάνει τον τερματισμό του προγράμματος που προσβάλλει.
4. Χρονοδιακόπτες: Η CPU διαθέτει εσωτερικούς χρονομετρητές που διακόπτουν περιοδικά το τρέχον πρόγραμμα, επιτρέποντας στο λειτουργικό σύστημα να προγραμματίζει άλλες διαδικασίες και να εμποδίζει οποιοδήποτε πρόγραμμα να τρέχει για πάντα. Χωρίς αυτό, ένα πρόγραμμα κακοποίησης θα μπορούσε να κρατήσει τον όμηρο της CPU.
5. Προστατευμένες οδηγίες: Ορισμένες οδηγίες είναι προνομιακές και μπορούν να εκτελεστούν μόνο σε λειτουργία πυρήνα. Η προσπάθεια εκτέλεσης μιας προνομιούχης οδηγίας από τη λειτουργία χρήστη έχει ως αποτέλεσμα μια παγίδα, εμποδίζοντας την μη εξουσιοδοτημένη πρόσβαση σε πόρους υλικού και συστήματος.
Συνοπτικά, ένας συνδυασμός χαρακτηριστικών υλικού όπως η προστασία από τη δακτυλιοειδή, οι δυνατότητες διαχείρισης μνήμης της MMU, ο χειρισμός διακοπής, οι χρονομετρητές και οι προστατευμένες οδηγίες λειτουργούν σε συνεννόηση με το λειτουργικό σύστημα για να εμποδίσουν ένα πρόγραμμα χρήστη να επιτύχει τον πλήρη έλεγχο της CPU, διατηρώντας τη σταθερότητα και την ασφάλεια του συστήματος. Εάν κάποιο μεμονωμένο στοιχείο αποτύχει, οι άλλοι θα προσφέρουν ακόμα ένα μέτρο προστασίας, αλλά η συνολική ασφάλεια του συστήματος θα μειωθεί.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα