Hardware verhindert, dass ein Benutzerprogramm durch mehrere Mechanismen die vollständige Kontrolle über die CPU erlangt. Alle arbeiten zusammen, um ein entscheidendes Prinzip durchzusetzen:
Schutz . Diese Mechanismen befinden sich hauptsächlich in der CPU selbst und in der Speicherverwaltungseinheit (MMU):
1. Die meisten modernen CPUs verwenden ein Modell mit Ringed Protection. Dies unterteilt die Ausführungsmodi der CPUs in konzentrische Ringe mit abnehmenden Privilegien. Der innerste Ring (Ring 0 oder Kernel -Modus) hat einen vollständigen Zugriff auf alle Hardware und Ressourcen. Benutzerprogramme werden normalerweise in einem höheren Ring (Ring 3 oder Benutzermodus) ausgeführt, der in dem, was sie direkt zugreifen oder ausführen können, stark eingeschränkt werden. Versuche, privilegierte Anweisungen auszuführen (z. B. direkt zugänglich auf E/A -Ports und die Manipulation der internen Register der CPU auf eine Weise, die das System beeinträchtigen könnte) aus einem höheren Ring führen zu einer Falle oder Ausnahme und übertragen die Steuerung in das Betriebssystem (Kernel).
2. Speicherverwaltungseinheit (MMU): Die MMU ist eine entscheidende Hardwarekomponente, die virtuelle Adressen übersetzt, die von Programmen in physische Adressen im RAM verwendet werden. Es erzwingt mehrere wichtige Schutzmechanismen:
* Virtueller Speicher: Jeder Prozess erhält seinen eigenen virtuellen Adressraum und isoliert ihn aus anderen Prozessen. Auch wenn ein Prozess einen Fehler hat, der den Speicher überschreibt, ist es unwahrscheinlich, dass andere Prozesse beeinflusst, da die MMU ihre Zugriffe in ihren eigenen zugewiesenen Raum übersetzt.
* Segmentierung/Paging: Dies sind Methoden, die von der MMU verwendet werden, um das Gedächtnis in Segmente oder Seiten zu unterteilen. Zugriffsberechtigungen (lesen, schreiben, ausführen) können jedem Segment oder der Seite einzeln zugeordnet werden. Die MMU überprüft diese Berechtigungen, bevor er den Speicherzugriff zulässt, und verhindern, dass ein Benutzerprogramm beispielsweise in das Codesegment des Kernels geschrieben oder sensible Daten aus dem Speicher eines anderen Prozesses gelesen werden.
* Adressübersetzung: Die MMU verhindert, dass ein Programm direkt auf physische Speicheradressen zugreift. Es fängt alle Speicherzugriffe ab und validiert sie anhand der Zugriffskontrolllisten, bevor sie dies zulassen.
3. Interrupts und Ausnahmen: Hardware -Interrupts (z. B. aus einem Timer-, Tastatur- oder Netzwerkadapter) und Softwareausnahmen (z. B. Aufteilung nach Null, illegaler Anweisung) führen zu einer Übertragung von Steuerung in den Kernel des Betriebssystems. Dies verhindert, dass ein Benutzerprogramm die CPU auf unbestimmte Zeit monopolisiert, und ermöglicht es dem Betriebssystem, Ressourcen zu verwalten und Ereignisse zu verarbeiten. Der Kernel bestimmt dann die entsprechende Maßnahmen, die das Straftatprogramm beenden.
4. Timer: Die CPU verfügt über interne Timer, die das laufende Programm regelmäßig unterbrechen und es dem Betriebssystem ermöglichen, andere Prozesse zu planen und zu verhindern, dass ein Programm für immer ausgeführt wird. Ohne dies könnte ein schlecht benommenes Programm die CPU -Geisel halten.
5. Schutzanweisungen: Einige Anweisungen sind privilegiert und können nur im Kernel -Modus ausgeführt werden. Der Versuch, eine privilegierte Anweisung aus dem Benutzermodus auszuführen, führt zu einer Falle, wodurch der nicht autorisierte Zugriff auf Hardware- und Systemressourcen verhindert wird.
Zusammenfassend lässt sich sagen, dass eine Kombination aus Hardware -Funktionen wie Ringed Protection, den Speicherverwaltungsfunktionen der MMU, der Interrupt -Handhabung, der Timer und der geschützten Anweisungen zusammen mit dem Betriebssystem zusammenarbeiten, um zu verhindern, dass ein Benutzerprogramm die vollständige Kontrolle der CPU erreicht und die Systemstabilität und die Sicherheit der Systeme pflegt. Wenn eine einzelne Komponente scheitern würde, würden die anderen immer noch ein Maß für den Schutz bieten, aber die Gesamtsystemsicherheit würde reduziert.