2017-09-06 1 views
0

Wir arbeiten an einer Anwendung, die auf einem eingebetteten System in einer mäßig rauen Umgebung (ein Controller für ein Heizsystem in einem Wohngebäude) ausgeführt werden soll.Muss ich mich über beschädigten Speicher in einem ansonsten korrekten Programm sorgen?

Diese Anwendung sollte jahrelang laufen, ohne dass das System neu gestartet werden muss. Es läuft auf einem Embedded-PC mit Linux. Das Programm instanziiert mehrere Klassen, deren Lebensdauer die gleiche wie die der Anwendung ist.

Sollte ich mir Sorgen machen, dass das Gedächtnis über eine so lange Lebensdauer korrupt wird? Ist es sinnvoll, die Klasseninvarianten regelmäßig auf solche Speicherbeschädigungen zu überprüfen? Oder macht moderne Hardware solche Korruption astronomisch unwahrscheinlich?

+0

https://stackoverflow.com/questions/2580933/cosmic-rays-what-ist-probability-the-will-affecta-a-program –

Antwort

0

Ich habe meinen Anteil von billigen SD-Karten auf Boards gesehen, sie können leicht auf Sie sterben.
Vor ein paar Monaten haben sich mit einem Hersteller, unter hohen Datendurchsatz SD-Karte war nicht in der Lage zu reagieren. Einige IRQ Fehlermeldungen werden angezeigt und die ganze Partition explodiert.
Wenn es nicht für die Massenproduktion gedacht ist, würde ich Ihnen empfehlen, einige gute und empfohlene Lagerung zu wählen.
Aber wirklich, ich kann mich nicht erinnern Speicherfehler Probleme (außer rom), würde ich über Speicherlecks sorgen. Das sind die unangenehmsten Probleme für Embedded-Systeme, die lange ohne Neustart bleiben sollen.
Seien Sie wirklich vorsichtig, sie können entweder im Userspace oder im Kernel-Space passieren. Sogar Software, auf die Sie immer vertraut haben, kann sie haben, abhängig von der Build-Version. Wenn Sie kein dediziertes Kernel-Entwicklungsteam haben, wird dieses Material in der Regel an Unternehmen ausgelagert, die stabile Systeme aufbauen. Jedes enthaltene Paket wird getestet und bestätigt, dass es nicht ausläuft.
Am Ende werden definitiv ein paar Zyklen von Stresstests benötigt, wenn es Probleme mit dem Speicher gibt, die Sie bemerken werden.

Verwandte Themen