Kann ein Betriebssystem defekten Speicher erkennen?



  • Wenn ein Betriebssystem für einen Prozess Speicher reserviert, dann gehe ich mal davon aus, dass es aus Geschwindigkeitsgründen nicht überprüft, ob der Speicher auch fehlerfrei ist.

    Aber enthält der Kernel auch eine Möglichkeit, eine Überprüfung des Speicherbereichs durchzuführen, bevor er diesen für den Prozess freigibt?
    Sprich, kann ein bestehendes Betriebsystem so betrieben werden, dass es defekten Speicher intern markiert und diese Speicherseiten nicht an Prozesse weitergibt?

    Als bestehende Betriebssysteme dachte ich da insbesondere an Windows, Mac OS X und Linux.
    Bietet eines von denen dieses Feature mit Bordmitteln, also im Kernel?

    Ich frage zum einen aus Neugierde, dass es memtest86+ gibt, weiß ich auch.
    Zum anderen frage ich aber auch wegen den Daus, die mit memtest86+ nicht umgehen können, defekten Speicher haben und nun vielleicht ein Programm so starten sollen, dass das OS vorher schaut, ob der für den Prozess freigegebene Speicher was taugt.


  • Mod

    Ramtest On the Fly? schrieb:

    Zum anderen frage ich aber auch wegen den Daus, die mit memtest86+ nicht umgehen können, defekten Speicher haben und nun vielleicht ein Programm so starten sollen, dass das OS vorher schaut, ob der für den Prozess freigegebene Speicher was taugt.

    Meistens stürzt das OS ab, das dürfte auch für "Daus" ausreichen.
    Grundsätzlich wäre das Memorytesten auch nicht Aufgabe des OS, sondern des Bios. Hier gibt es zum Teil auf manchem Boards Optionen zum schnellen oder ausführlichen und längeren Testen.
    Bei Notebooks können Speichertests auch als Softwarebeigabe an Board sein. Also bei mir z.B. Dell Diagnostics.





  • Ich schließe aus den Antworten, dass es keinen Parameter gibt, mit dem man ein OS dazu veranlassen könnte, einen Prozess so zu starten, dass vorher immer dessen Speicher getestet wird.

    BIOS Tests sind schön und gut, aber DAUs verirren sich im BIOS und verstellen da mehr als mir lieb sein kann. Man denke da insbesondere an eine Fernwartung.

    ECC Memory kommt auch nicht ins Spiel, die Rechner sind ja schon vorhanden und bevor ich denen sage, dass sie sich einen neuen Rechner mit ECC Memory kaufen sollen, werde ich bei denen eher persönlich vorbeifahren und memtest86+ laufen lassen.


  • Mod

    Ramtest On the Fly? schrieb:

    ...werde ich bei denen eher persönlich vorbeifahren und memtest86+ laufen lassen.

    So sehr weit hast du es aber nicht bis zum nächsten "dau" wenn du nach Memtests "on the fly" fragst.



  • Ramtest On the Fly? schrieb:

    Ich schließe aus den Antworten, dass es keinen Parameter gibt, mit dem man ein OS dazu veranlassen könnte, einen Prozess so zu starten, dass vorher immer dessen Speicher getestet wird.

    Korrekt.

    Denn ohne Hardware-Support (=> ECC) könnte man sowas nicht zuverlässig implementieren. Es gibt natürlich einige Dinge die man theoretisch machen könnte. Aber einerseits würden die alle viel CPU Power fressen. Und andrerseits ist ohne Hardware-Support sowieso keine zuverlässige Erkennung von Fehlern möglich. Und daher lässt man es besser ganz bleiben.


Anmelden zum Antworten