Der wichtigste Unterschied zwischen dem realen Modus und dem geschützten Modus in einer CPU (insbesondere in X86 -Architektur -CPUs) liegt in der Art und Weise, wie die CPU Speicher und Ressourcen verwaltet:
realer Modus:
* Speicheradatierung: Verwendet einen 20-Bit-Adressraum, wobei der adressierbare Speicher auf 1 MB (1.048.576 Bytes) beschränkt wird. Der gesamte Speicher ist direkt von jedem Programm adressierbar. Es gibt keinen Gedächtnisschutz.
* Speichersegmentierung: Die Segmentierung wird verwendet, ist aber für den Programmierer einfach und weitgehend transparent. Die Segmente haben in der Regel eine Größe von 64 KB, und der Prozessor berechnet die physische Adresse, indem sie einen Segmentauswahl und einen Offset kombinieren. Segmentauswahlern bieten jedoch hauptsächlich eine Möglichkeit, Speicher logisch zu organisieren, anstatt Schutz zu bieten.
* Speicherschutz: Kein Gedächtnisschutz. Ein Programm kann den Speicher oder den Speicher des Betriebssystems leicht überschreiben, was zu Systemabstürzen und Instabilität führt.
* Multitasking: Nicht direkt unterstützt. Es kann jeweils nur ein Programm ausgeführt werden.
* Privilegierte Anweisungen: Alle Anweisungen stehen allen Programmen zur Verfügung. Es gibt keine Unterscheidung zwischen privilegierten Operationen (wie dem Zugriff auf E/A -Ports) und nicht privilegierten.
* Interrupts: Es ist eine grundlegende Interrupt -Handhabung vorhanden, aber es fehlen die anspruchsvollen Merkmale des geschützten Modus.
* Betriebssysteme: Sehr grundlegende, einzelne Tasking-Betriebssysteme wie MS-DOS wurden hauptsächlich im realen Modus betrieben.
geschützter Modus:
* Speicheradatierung: Verwendet einen 32-Bit-Adressraum (oder 64-Bit) im 64-Bit-Modus, sodass der Zugriff auf einen weitaus mehr Speicher (4 GB in 32-Bit, theoretisch mehr in 64-Bit). Das Gedächtnis wird in Segmente unterteilt, diese Segmente werden jedoch verwendet, um den Gedächtnisschutz durchzusetzen.
* Speichersegmentierung: Die Segmentierung ist ausgefeilter. Segmente können unterschiedliche Zugriffsrechte haben (schreibgeschützt, nur Leseschreiber, Nur ausführend), und die CPU erzwingt diese Beschränkungen. Dies verhindert, dass ein Programm versehentlich oder böswillig auf das Speicher eines anderen Programms zugreifen oder diese ändern. Paging (ein virtueller Speichermechanismus) wird typischerweise in Verbindung mit der Segmentierung für eine verbesserte Speicherverwaltung und -schutz verwendet.
* Speicherschutz: Starker Speicherschutz ist ein Kernmerkmal. Jedes Programm läuft in seinem eigenen geschützten Speicherraum und verhindert Konflikte und Abstürze.
* Multitasking: Voll unterstützt. Die CPU kann schnell zwischen mehreren Programmen wechseln und die Illusion der gleichzeitigen Ausführung verleihen.
* Privilegierte Anweisungen: Die Anweisungen sind in privilegierter und nicht privilegierter unterteilt. Nur das Betriebssystem (im Kernel -Modus ausgeführt) kann privilegierte Anweisungen ausführen und eine Sicherheits- und Stabilitätsebene bereitstellen.
* Interrupts: Die ausgefeilte Interrupt -Handhabung wird vorgestellt, einschließlich Interrupt -Gates und Systemaufforderungen für den kontrollierten Zugriff auf privilegierte Operationen.
* Betriebssysteme: Moderne Betriebssysteme wie Windows, MacOS und Linux arbeiten ausschließlich im geschützten Modus (oder des 64-Bit-Äquivalents).
Kurz gesagt: Der reale Modus ist ein Legacy -Modus, einfach, aber unsicher und begrenzt. Der geschützte Modus ist der moderne Standard, der Speicherschutz, Multitasking und eine viel stabilere und sichere Umgebung für Ausführungsprogramme bietet. Der Übergang vom realen Modus zum geschützten Modus ist ein grundlegender Schritt, um einen modernen Computer zu starten.