Betriebssystem und Hardware

Was geschieht im Allgemeinen, wenn ein Programm auf eine vom Betriebssystem nicht zugewiesene Adresse zugreift?

  1. ADie CPU erweitert automatisch den physischen Speicher für diese Adresse
  2. BDer Zugriff wird ignoriert, und das Programm fährt ohne Weiteres mit dem nächsten Befehl fort
  3. CEs tritt ein Seitenfehler auf, und das Betriebssystem beurteilt den Zugriff als unzulässig und beendet das Programm
Antwort und Erläuterung anzeigen

Antwort: C. Es tritt ein Seitenfehler auf, und das Betriebssystem beurteilt den Zugriff als unzulässig und beendet das Programm

Beim Zugriff auf eine nicht zugewiesene Adresse tritt ein Seitenfehler auf, weil in der Seitentabelle kein gültiger Eintrag vorhanden ist. Das Betriebssystem prüft, ob die Adresse im dem Prozess erlaubten Bereich liegt, meldet bei einem unzulässigen, nirgends zugewiesenen Zugriff dem Programm den Fehler und beendet es (die sogenannte Segmentation Violation). So wird verhindert, dass ein fehlerhafter Zeiger den Speicher anderer Prozesse oder des Betriebssystems zerstört. Weder wächst der physische Speicher automatisch, noch wird der Zugriff stillschweigend ignoriert.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Betriebssystem und Hardware

  1. Welche Erklärung dessen, was beim Lesen von Dateiinhalten über einen Mechanismus wie mmap passiert, der eine Datei dem Speicher zuordnet, ist richtig?
  2. Was ist der Hauptgrund dafür, dass es beim byteweisen Schreiben kleiner Datenmengen schneller ist, sie in einem Puffer im Benutzerraum zu sammeln und gebündelt zu schreiben, als jedes Mal einen Systemaufruf auszuführen?
  3. Was ist der Hauptzweck der Einrichtung von privilegiertem Modus (Kernel-Modus) und Benutzermodus in der CPU?
  4. Wie heißt der Mechanismus, mit dem eine Anwendung das Betriebssystem um Dinge wie Lesen und Schreiben von Dateien bittet?
  5. Was geschieht, wenn der letzte Befehl ecall des obigen RISC-V-Codes ausgeführt wird?

Vergleiche zu diesem Thema