Meine Frage ist ziemlich breit, ich weiß, aber ich habe mich schon lange gefragt.Sollte ein fehlerhaftes USB-Gerät einen fehlerfreien Linux-Kernel zum Absturz bringen?
Ein kleiner Hintergrund. Ich arbeite in einem Physiklabor, wo auf allen Laborcomputern Debian (Mix aus alter Version und Lenny) oder neuerdings Ubuntu 10.4 LTS läuft. Wir haben eine Menge benutzerdefinierter Software geschrieben, um mit Experiment-Hardware und anderen Computern zu interagieren.
Wir haben eine Menge von FPGA-Boards, die verschiedene Teile des Experiments steuern, diese sind über USB mit verschiedenen Computern verbunden. Nachdem wir einen Computer aktualisiert hatten, der ein Experiment steuerte, sahen wir Abstürze/Blockierungen des Computers, auf dem alle Laser liefen. Dies war früher völlig stabil.
Meine Frage lautet: Wenn die gesamte Computer abstürzt aufgrund eines Problems mit a) Python/GTK Software gui b) USB-Gerätetreiber oder c) Das eigentliche Gerät kann dies auf dem Linux verantwortlich gemacht werden Kernel (oder andere Ebenen des Betriebssystems)?
Ist es ungerecht, vom Linux-Kernel zu fragen, nicht in Panik zu geraten, auch wenn ich Fehler in meiner Implementierung von Software/Hardware mache.
Meine eigene Vermutung: Alle Anwendungen auf Benutzerebene sollten niemals das gesamte System zum Absturz bringen, da sie nur Zugriff auf ihre eigenen Sachen haben sollten.
Jeder Gerätetreiber wird Teil des Kernels und kann ihn daher abstürzen. Klingt meine Argumentation?
Bonus Frage: Gibt es eine Möglichkeit, Gerät und Kernel irgendwie zu isolieren, so dass Linux weiterhin glücklich läuft, egal welche dummen Fehler mit der Hardware gemacht werden. Das wäre aus zwei Gründen sehr nützlich: 1) Debugging ist einfacher mit einem laufenden System, 2) Für die Zwecke des Experiments brauchen wir wirklich lange Betriebszeiten und nur einen Teil des Systemabsturzes ist unendlich besser als Abstürze in einem Teil des Systems, das sich zum Rest ausbreitet.
Alle Links und Lesestoff zu diesem Thema wäre willkommen. Vielen Dank.
Ich bin kein Experte in Abstürzen, aber ich würde sagen, dass Sie in Ihren Vermutungen richtig sind. Über die Bonusfrage sollte logischer Fehler (dh schlechtes Protokoll) vom Kernel ohne weitere Probleme bewältigt werden; aber physikalische Fehler (dh Kurzschluß, Überstrom usw.) können im allgemeinen nicht vom Kern verwaltet werden und werden verschiedene Katastrophen verursachen. – rodrigo