Frage:
Was hindert einen kommerziellen Jet daran, elektronisch "zurückzusetzen", wie es ein Computer manchmal tut?
Umbrella_Programmer
2020-01-03 08:31:34 UTC
view on stackexchange narkive permalink

Ich hatte in den letzten Jahren Angst vor dem Fliegen und eine der Ursachen für diese irrationale Phobie ist die Besorgnis über das Aus- und Wiedereinschalten des Flugzeugs in der Luft: Motorstillstand, Abschalten der Steuergeräte usw.

Gelegentlich stürzt ein Computer oder Smartphone ab und startet sich selbst neu. Im schlimmsten Fall fällt die Stromversorgung oder der Akku aus und das Gerät lässt sich nicht wieder einschalten.

Geschieht dies jemals? mit kommerziellen Jets? Ich gehe davon aus, dass sie grundlegend anders als Computer elektronisch verkabelt sind, sodass ein Systemfehler den Rest nicht beeinträchtigt, aber ich habe noch nie einen Piloten gefragt.

Verwandte Themen: [Wie funktionieren Redundanzen in Flugzeugsystemen?] (Https://aviation.stackexchange.com/q/21744/3573)
Verwandte Themen: [Warum sind kritische Flugcomputer redundant?] (Https://aviation.stackexchange.com/q/13447/3573)
Nun, es gibt immer noch Beispiele für die Notwendigkeit, ein Flugzeug neu zu starten;) A350: https://www.theregister.co.uk/2019/07/25/a350_power_cycle_software_bug_149_hours/ und 787: https://www.theregister.co .uk / 2015/05/01 / 787_software_bug_can_shut_down_planes_generators /
Kommentare sind nicht für eine ausführliche Diskussion gedacht. Diese Konversation wurde [in den Chat verschoben] (https://chat.stackexchange.com/rooms/102895/discussion-on-question-by-umbrella-programmer-what-prevents-a-commercial-jet-fro).
Sieben antworten:
HiddenWindshield
2020-01-03 09:44:21 UTC
view on stackexchange narkive permalink

Ich bin Programmierer und Privatpilot, also kann ich vielleicht helfen, einige dieser Ängste zu zerstreuen.

  1. Die Computer, auf denen ein Verkehrsflugzeug betrieben wird, sind konzeptionell viel einfacher als die das läuft dein Telefon. Dies bedeutet eine weitaus geringere Wahrscheinlichkeit eines Fehlers in der Software, nur weil der Programmierer weniger Zeit hat, den Überblick zu behalten.

  2. Wenn Ihr Telefon neu gestartet wird, gefährdet dies nicht das Leben von Personen . Also, das Testen und Q.A. Denn ein solches Gerät ist im Grunde das, was das Unternehmen tun möchte. Auf der anderen Seite werden Computer in der Luftfahrt viel gründlicher getestet, bevor sie für das Fliegen zertifiziert werden können.

  3. Ähnlich wie in Punkt 1 haben die Computer in einem Flugzeug jeweils nur einen Job . Viele der Abstürze auf einem typischen PC oder Smartphone sind auf verschiedene Apps zurückzuführen, die sich gegenseitig auf die Zehen treten. (Das Betriebssystem soll jede App auseinander halten, damit sie das nicht können, aber Punkt 2 gilt auch für Betriebssysteme.)

  4. Das Flugzeug ist keines einzelner Computer, wie Ihr Telefon. Ja, Ihr Telefon verfügt wahrscheinlich über mehrere Prozessoren mit jeweils mehreren Kernen, die jedoch eng miteinander verbunden sind, um einen Computer zu bilden. Die Computer in einem Flugzeug sind miteinander vernetzt, es handelt sich jedoch um separate Computer. Wenn Ihr Telefon abstürzt, selbst wenn sich der Typ neben Ihnen im selben Netzwerk befindet, hat dies keine Auswirkungen auf ihn, oder? Wenn die FADEC für ein Triebwerk ausfällt (ein verschwindend seltenes Ereignis, da FADECs konzeptionell zu den einfachsten Computern gehören), wird nur ein Triebwerk abgeschaltet, ohne dass dies Auswirkungen auf den Rest des Flugzeugs hat.

  5. Andererseits weisen die wirklich wichtigen Computer (wie z. B. Fly-by-Wire-Controller) mehrere Redundanzen auf. Wenn einer versagt, kann der Rest von ihnen die Lücke schließen. Selbst der Pilot würde es nicht bemerken, außer der Warnleuchte, die im Cockpit angezeigt wird.

  6. ol>

    Wenn Sie sehen möchten, was tatsächlich passiert, wenn in einem Flugzeug etwas ausfällt, nehmen Sie Schauen Sie sich die folgenden Videos an:

Der Pilot flog das Flugzeug von Hand, während er das Flugzeug abschaltete und neu startete Avionik. Der Flug verlief dann normal.

Der Pilot ließ den Autopiloten tatsächlich einige Sekunden lang haben, nur aus Neugier, wohin er sie führen würde. Sobald das Bankgeschäft jedoch mehr als geplant begann, schaltete er den Autopiloten aus und übernahm ohne Probleme die manuelle Steuerung.

Der Motor lief weiter, obwohl das gesamte Flugzeug mit Strom versorgt wurde. Er ist sicher gelandet.

Bearbeiten: Nun, vor zwei Stunden, als ich dies tippe, tauchte in meinem YouTube-Feed ein weiteres Video eines Fehlers während des Flugs auf:

Er wechselte zu seinem Backup-Generator und abgesehen von einem nervigen Jammern Die Kopfhörer hatten kein anderes Problem mit dem Flug.

Gibt es einen Grund, warum Sie Spoiler in Ihre Antwort aufgenommen haben?
Zum einen mag ich die Spannung, nicht zu wissen, wie sich jeder von ihnen entwickeln würde!
@Valay_17 Nur für den Fall, dass sie die Videos selbst ansehen wollten, ohne zu wissen, was passiert.
@HiddenWindshield Ohh, hah, daran habe ich nicht gedacht ... :)
Wenn es hilft, OP, nutzt die nationale Infrastruktur wie Telekommunikationsnetze selbstverständlich auch dieses Konzept der Redundanz. Heck, Stack Overflow verwendet das Konzept der Redundanz - es kann im Falle eines Problems auf den schreibgeschützten Modus umschalten. Und das sind nicht einmal sicherheitskritische Anwendungen! Der Vergleich mit Ihrem Heim-PC ist einfach völlig falsch.
Ich glaube, Punkt 2 und 4 sind ungültig. 2: Programme können sich nicht gegenseitig auf die Zehen treten, selbst auf normalem x86 sind sie durch den geschützten Modus stark voneinander getrennt, und Sie benötigen einen ring0-Exploit, um dies zu umgehen. Der Kernel für Windows und Linux wird wahrscheinlich mindestens so oft getestet wie der in der Luftfahrt verwendete Kernel. 4: Ein typischer PC ist auch eine Reihe von "vernetzten" Computern. Weit über das Beispiel mehrerer Kerne hinaus gibt es Controller für alles, viele davon mit Bus-Mastering-Funktionen. Darüber hinaus stellen Avioniksysteme strenge Echtzeitanforderungen, unter denen ein typischer PC nicht leidet.
Die Fly-by-Wire-Computer sind nicht nur redundant, sie werden auch mit unterschiedlichen Architekturen erstellt und von verschiedenen Teams programmiert, um das Risiko eines Problems zu minimieren, das alle Computer gleichzeitig betrifft. Der A320 verfügt beispielsweise über zwei Intel FBW-Computer und zwei Motorola FBW-Computer.
@AlphaCentauri - hier auf der Erde müssen wir nicht in einen anderen Prozessraum stöbern, um "aufeinander zu treten" - eine andere App bitten, eine Datei mit fehlerhaften Daten / Dateinamen zu öffnen oder den Browser mit 0-Tage-Exploit auf die Site zu starten oder Push Accessibility API zu weit ... Es gibt viele offizielle IPC-Kommunikationskanäle zwischen Prozessen, die verwendet werden können, um Probleme auch unbeabsichtigt zu verursachen. Und hier sind die Kosten für das Testen nach Luftfahrtstandards (oder nach lebenswichtigen Standards) ein Weg, um zu verhindern, dass ein Allzweck-Betriebssystem getestet wird, um sich zu qualifizieren (zumindest in der Standard-Verbraucherkonfiguration).
Ein weiterer Grund, der möglicherweise nur für den Airbus A380 gilt, besteht darin, dass Software ausgeführt wird, die teilweise formal überprüft wurde, was bedeutet, dass mathematisch nachgewiesen wurde, dass sie frei von bestimmten Fehlerklassen ist. Ich glaube, sie verwenden einen Mikrokernel namens [INTEGRITY-178B] (https://www.ghs.com/products/safety_critical/integrity-do-178b.html), einen DO-178B-kompatiblen RTOS-Mikrokernel.
@AlphaCentauri - Zusätzlich zu den Aussagen von Alexei Levenkov ist ein PC kein "Satz vernetzter Computer". Es ist ein Computer mit mehreren Komponenten. Es ist zwar manchmal möglich, dass eine Netzwerkkarte, eine Festplatte usw. abstürzt, ohne den Rest des Computers zu beeinträchtigen, aber dies ist selten. Wenn Ihre Festplatte ausfällt, sollten Sie besser hoffen, dass zu diesem Zeitpunkt nichts aus dem Arbeitsspeicher ausgelagert wurde, da der Computer sonst Sekunden später einen Bluescreen (oder einen entsprechenden Wert) erhält. Und wenn einer der Hauptprozessoren abstürzt, ist das für das gesamte System unabhängig.
Graham
2020-01-03 17:36:31 UTC
view on stackexchange narkive permalink

Bevor wir beginnen, ist es wichtig zu sagen, dass Ihre Besorgnis nicht irrational ist. Wenn dies passieren würde oder wenn die Steuerungssysteme Ihres Flugzeugs auf gefährliche Weise versagen würden, wäre Ihr Leben wirklich in Gefahr.

Sie sind jedoch nicht die erste Person, die daran gedacht hat . Aus diesem Grund haben wir eine Kategorie von Steuerungssystemen, die wir technisch als sicherheitsrelevant beschreiben, und es gibt einen ganzen technischen Zweig namens Sicherheitstechnik widmet sich der formellen Bewertung dieser Systeme und dem Versuch, Unfälle zu verhindern. Dies umfasst Flugzeugsteuerungssysteme, aber auch Antiblockiersysteme, medizinische Geräte und jedes andere System, bei dem Menschen durch einen Fehler verletzt werden könnten. Das Ausmaß, in dem Menschen dadurch geschädigt werden können, wird formell als Sicherheitsintegritätsstufe basierend auf dem Risiko bewertet. Das Risiko ist eine Kombination aus der Wahrscheinlichkeit des Ereignisses, dem schlechten Ergebnis und der Frage, ob die beteiligten Personen mildernde Maßnahmen ergreifen können, und es wird bewertet, wie sich ein sicherheitsrelevantes System schlecht verhalten kann.

Beachten Sie, dass diese Bewertung möglicherweise nicht so intuitiv ist, wie Sie denken. Ich habe einmal an einem Spreu- und Fackelspendersystem für Militärflugzeuge gearbeitet. Sie würden denken, dass das Risiko, dass keine Gegenmaßnahmen ergriffen werden und der Pilot abgeschossen wird, Ihr Hauptrisiko darstellt - aber die Sicherheitsbewertung (wir haben eine FMEA verwendet) hat gezeigt, dass der Pilot andere mildernde Optionen hat, wie z Rüstung und Schleudersitz, abgeschossen zu werden, ist eine Chance, die sie bereits angenommen hatten, als sie den Job annahmen, und das Risiko, dass ein abstürzendes Flugzeug Gebäude traf, war winzig und etwas, das bereits als Teil einer Luftwaffe institutionell akzeptiert worden war. Das schwerwiegendste Risiko bestand tatsächlich darin, dass das System während eines Nachladens durch einen Waffenschmied fehlschlug, da sie dann aus nächster Nähe eine Salve von 36 Schrotpatronen auf den Kopf bekommen würden. Der Waffenschmied hat sich nicht angemeldet, um diese Chance zu nutzen, und es gab keinen praktischen Weg, sie zu schützen. Infolgedessen musste unser System standardmäßig nicht feuern, wenn Unstimmigkeiten auftraten.

Es gibt viele Möglichkeiten, um die Zuverlässigkeit sicherzustellen. Redundanz ist die beliebteste. Sie können mehrere Sensoren an mehreren Standorten haben, sodass das System immer herausfinden kann, was passiert, wenn einer (oder mehrere) ausfallen sollten. Es gibt normalerweise mehrere Aktuatoren für wichtige Flugflächen oder mehrere Flugflächen, auf denen das Flugzeug die Kontrolle behalten kann, wenn eine oder mehrere beschädigt sind. Passagierflugzeuge haben im Allgemeinen auch mehrere Triebwerke und mehrere Treibstofftanks, die im Schadensfall voneinander isoliert werden können. In einigen Fällen kann es mehrere Steuerungssysteme geben, die über die richtige Aktion "abstimmen", sodass eine fehlerhafte Einheit ignoriert wird. Im Extremfall wurde jedes Steuerungssystem möglicherweise sogar von einem anderen Softwareteam programmiert, sodass es äußerst unwahrscheinlich ist, dass ein Fehler in der Software eines Teams in der Software eines anderen Teams vorhanden ist. Möglicherweise sind auch andere Sicherungssysteme vorhanden, z. B. mechanische Steuerungen.

Eine weitere gute mildernde Methode ist das Training. Es ist durchaus akzeptabel, dass etwas schief geht, wenn die Mitarbeiter in der Lage sind, diesen Fehler zu beheben und weiterzumachen. Es ist wichtig, nicht zu unterschätzen, wie gut Menschen sein können. Menschen können auch Fehler verursachen, so dass beim Training auch gesagt werden kann, dass sie das nicht tun sollen. Große Flugzeuge reagieren relativ langsam auf Kontrollen, daher ist es relativ häufig, dass Piloten überkorrigieren und die Situation verschlimmern können. Bei einigen Verkehrsflugzeugen besteht die Standardreaktion für Piloten im Falle einer Instabilität darin, den Steuerknüppel loszulassen und dem Flugzeug zu ermöglichen, sich selbst zu korrigieren.

Es ist erwähnenswert, dass beide Faktoren der Grund für die Boeing-737MAX sind Katastrophen sind so schlimm, dass strafrechtliche Anklagen gegen die einzelnen Personen und die Organisation insgesamt erhoben werden sollten. Das betreffende System verwendete keine redundanten Eingaben, obwohl diese verfügbar waren. Die Auswirkungen des Systems, das nicht richtig reagiert, wurden weder bewertet noch gemindert. und die Besatzung erhielt keine Schulung im Umgang mit ihrem Versagen, noch wurde ihr sogar gesagt, dass es existiert. In Großbritannien gibt es das Verbrechen des "Totschlags von Unternehmen", um genau diese Art von Fehlern zu verfolgen.

Das andere Element bei alledem ist jedoch die Qualität , damit Sie versuchen, sicherzustellen, dass die Systeme überhaupt nicht schief gehen. Die Zuverlässigkeit von Software hängt fast ausschließlich von der Anzahl der durchgeführten Überprüfungen und Tests ab. Ich arbeite derzeit an Software für wissenschaftliche Geräte und rechne mit 10 bis 20% meiner Entwicklungszeit für Tests. PCs und Mobiltelefone werden ungefähr gleich sein. Als ich an Automobil- und Luft- und Raumfahrtsystemen arbeitete, war dies völlig umgekehrt. Wir rechneten damit, dass wir ungefähr 5-10% unserer Zeit für das Codieren, 10-20% unserer Zeit für das Design und den Rest unserer Zeit für das Überprüfen und Testen aufwenden .

Die Änderungskontrolle ist auch radikaler gesperrt. Microsoft veröffentlicht möglicherweise ein Upgrade und führt dann in den wenigen Fällen, in denen es sich schlecht verhält, eine Schadensbegrenzung durch und schleicht gleichzeitig einige zusätzliche Funktionen ein. In der sicherheitsrelevanten Entwicklung ändern Sie jedoch keine einzelne Codezeile ohne formelle Genehmigung, dass (a) jeder versteht, was diese Änderung bewirkt, (b) dass diese Änderung diesen Fehler behebt und ändert nichts anderes und (c) dass diese Änderung sogar benötigt wird. Bei vielen Bug-Triage-Sitzungen werden Fehler entdeckt, bei denen wir schließlich feststellen, dass die Auswirkungen des Fehlers gering sind (vielleicht schalten wir beispielsweise 10 ms später ein Warnlicht ein), aber das Risiko, den Fehler zu beheben, kann möglicherweise hoch sein, wenn Wir haben es falsch verstanden, daher ist es sicherer, dass dieser triviale Fehler anhält.

Wie der Fall Boeing-737MAX zeigt, sind all diese Prozesse nur dann verdammt wert, wenn die Leute ihnen folgen. Die Prozesse existieren jedoch und sind Best Practices in einer Branche von Zehntausenden von Ingenieuren weltweit, die international über zahlreiche formale Standards verfügt, um dies zu etablieren. Die Nichtbeachtung dieser Standards ist fast per Definition grobe Fahrlässigkeit, und die meisten Länder haben Gesetze, die die Verfolgung von Personen und Unternehmen erlauben, die in diesem Ausmaß fahrlässig sind. Die meisten Ingenieure würden sowieso gerne gute Arbeit leisten; Aber die Gesetze stellen sicher, dass eine Organisation als Ganzes ehrlich bleibt und keine Abstriche macht.

Sehr gute Antwort. Wenn Sie Zeit haben, können Sie ein oder zwei Sätze darüber ausarbeiten, wie die * Prozesse * der Software- und Hardwareentwicklung für sicherheitskritische Systeme streng definiert sind, um die Sicherheit des fertigen Produkts zu gewährleisten, z. wie in [IEC 61508] (https://en.wikipedia.org/wiki/IEC_61508) und dann domänenspezifische Normen. Ein bewährter, systematischer und dokumentierter Prozess, der sicherstellt, dass die Anforderungen erfüllt, die Spezifikationen eingehalten, Überprüfungen und Tests sichergestellt werden usw., ist der wichtigste Unterschied zur allgemeinen Produktentwicklung.
@Peter-ReinstateMonica Danke. Natürlich alles sehr wahr. Ich hatte Angst, dass ich zu lange so weitermachen würde! :) :)
Es kann erwähnenswert sein, dass der Test- / Qualitätsprozess in vielen Fällen * Unabhängigkeit * von dem Team erfordert, das den Code tatsächlich implementiert hat. (Sicherlich wahr für DO-178 und DO-254).
kevin
2020-01-03 09:35:13 UTC
view on stackexchange narkive permalink

Ihre Bedenken sind vernünftig und berechtigt. Ein Herunterfahren oder Neustart in der Luft wäre für ein Verkehrsflugzeug katastrophal. Aus diesem Grund haben die Ingenieure die Systeme so konzipiert, dass dieses Szenario praktisch nicht möglich ist.

Elektrische Energie

Ein Verkehrsflugzeug verfügt über mehrere Stromquellen. Jedes Strahltriebwerk verfügt über einen eingebauten Generator. Wenn sich die Turbine dreht, wird Strom erzeugt. Jeder Generator kann unabhängig voneinander ausgeschaltet werden, falls ein Problem auftritt. Die meisten Flugzeuge haben auch ein Auxiliary Power Unit oder eine APU. Die APU kann im Notfall gestartet werden, um das Flugzeug mit elektrischer und hydraulischer Notstromversorgung zu versorgen, wie dies bei der berühmten Hudson Riving Landing der Fall ist.

Wenn alles ausfällt (z. B. wenn die Flugzeug geht der Treibstoff aus), begrenzte elektrische Leistung kann durch Windmühlen bereitgestellt werden, entweder unter Verwendung der Ram Air Turbine (z. B. Boeing 777) oder durch Windmühlen der Turbinen selbst (z. B. Boeing 747), wenn das Flugzeug langsam ist gleitet auf einen Landeplatz zu.

Dann gibt es natürlich den Akku, der jederzeit aufgeladen ist. In Notfällen kann die Leistung begrenzt sein.

Computer

Alle Flugzeuge werden mit mehreren Flugsteuerungscomputern geliefert. Die Einheiten werden von verschiedenen Herstellern auf verschiedenen CPU-Architekturen und verschiedenen Quellcodes gebaut. Die Wahrscheinlichkeit, dass alle Einheiten gleichzeitig aufgrund eines Fehlers oder Defekts ausfallen, ist sehr gering. In dem unwahrscheinlichen Fall, dass eine der Einheiten ausfällt, können die Piloten diese Einheit vom Rest des Systems trennen.

Zum Beispiel verfügt der Airbus A320 über 2 Querruder-Querrudercomputer, 3 Spoiler-Höhenrudercomputer und 2 Flugcomputer Augmentationscomputer. Jede Einheit kann deaktiviert werden, wenn eine Fehlfunktion vorliegt.

Mechanische Verbindung

In dem außerordentlich unwahrscheinlichen Fall, dass die elektrische Energie vollständig verloren geht, sind bestimmte Flugsteuerungen über mechanische Mittel mit dem Cockpit verbunden und können mit menschlicher Gewalt bedient werden. Zum Beispiel besteht das Notfallverfahren für einen vollständigen Ausfall des Flugcomputers im Airbus A320 darin, das Flugzeug nur mit Ruderschalen, dem Trimmrad des Aufzugs und Drosseln zu landen. Dies ist in der Geschichte noch nie passiert.

Könnte ich auch hinzufügen, dass lange Seeflüge wie London nach New York ETOPS-zertifiziert sein müssten (Flugzeug, Besatzung, Fluggesellschaft usw.). Dies stellt sicher, dass an jedem Punkt des Fluges immer ein Ort für eine Notlandung vorhanden ist, wenn immer noch etwas schief geht.
Sascha
2020-01-03 19:46:08 UTC
view on stackexchange narkive permalink

als jemand, der Softwaretests an einem unwichtigen System (Klasse D, wird in Kürze erklären) durchgeführt hat, damit ein Flugzeug für die Landung auf zivilen Flughäfen zugelassen werden kann: Im Flugzeug gibt es eine strenge Hierarchie darüber, was Art von Softwarefunktionen bedeutet; Sie sind in DO-178B aufgeführt.

  • Klasse-A-Systeme gelten als "fehlerfrei". Sie sind sehr gut getestet. Diese Systeme sind nicht für einen Neustart vorgesehen und werden im Fehlerfall normalerweise nicht ausgeschaltet oder führen keine anderen zusätzlichen Aktionen aus. (Wenn beispielsweise eine Triebwerkssteuerung die Verbindung zum Flugdeck verliert, bleibt sie nur in ihrer letzten Triebwerkseinstellung). Klasse-A-Systeme werden unter einem hohen Maß an Prüfung und Kontrolle entwickelt.
  • ...
  • für das System (Klasse D), das ich getestet habe, war die Hauptlogik "wenn vorhanden" ist ein Fehler, senden Sie eine Fehlermeldung und verlassen Sie das Netzwerk, halten Sie an und warten Sie auf einen Reset aus dem Cockpit. Selbst Systemtests der Klasse D umfassen Testverfahren, die nicht häufig verwendet werden (z. B. White-Box-Tests mit Hardware-Emulatoren) sind immer noch die am besten getestete Software, die ich in meinem Leben gesehen habe.

Die Logik hier ist, dass ein unwichtiger Systemabsturz die wichtige Systemfunktion niemals beeinträchtigt (der Pilot kann wählen, wann er sich ausruhen möchte Diese). Die meisten Systeme in einem Flugzeug sind doppelt redundant. Die verwendeten Mikrocontroller und die verwendete HW-Architektur sind so konzipiert, dass einfache Fehler auf einer Karte nur eine begrenzte Auswirkung haben. Das Hauptnetzwerk (z. B. AFDX) ist ebenfalls redundant, und Maßnahmen sind redundant In der Schnittstelle wird angenommen, dass Software, die wild ausgeführt wird, bei der Verwendung der Busse nicht über ihre Grenzen hinausgeht.

Normales Zurücksetzen Verfahren sind sicher in Bezug auf das Verlassen des Flugzeugs immer in einem steuerbaren Zustand. Ein Beispiel für ein falsches Rücksetzverfahren - das Ausschalten beider Flugsteuerungscomputer, was in der Luft nicht zulässig ist, weil der Pilot mit den Ergebnissen der Standardmethode zum Zurücksetzen der Computer nicht zufrieden war - war Air Asia Flight 8501.

CodeCaster
2020-01-03 18:11:38 UTC
view on stackexchange narkive permalink

Gelegentlich stürzt ein Computer oder Smartphone ab und startet sich selbst neu.

Dies kann zwei Gründe haben: einen Softwarefehler oder einen Hardwarefehler. Beides kann dazu führen, dass die CPU die Verarbeitung neuer Anweisungen beendet ( d. H. Ein "Hang") oder dass sich der Computer selbst neu startet. Letzteres steht kurz vor dem Stillstand, da das Betriebssystem feststellt, dass es nicht normal weiterarbeiten kann, und einen Hardwarestart ausführt.

Die möglichen Ursachen sind endlos, aber die Ergebnisse sind gleich: Der Prozessor kann keine neuen Operationen ausführen und arbeitet daher nicht normal weiter. Dies ist nicht optimal, wenn das Leben von Menschen von seiner kontinuierlichen Funktion abhängt.

Hardwarefehler können durch eine beeinträchtigte Funktionalität, durch Beschädigung oder Verschleiß verursacht werden. Zum Beispiel ein Netzteil, das nicht immer die erforderliche Leistung liefern kann, oder ein Speichermodul, das durch elektrostatische Entladung beschädigt wird, wodurch zufällige Bits "umdrehen" (eine 1 wird unbeabsichtigt als 0 oder 0 gelesen) umgekehrt).

Softwarefehler werden durch Programmiererfehler oder Installationsfehler verursacht. Eine saubere Betriebssysteminstallation (Windows, Linux, MacOS, ...) auf Ihrem Computer oder Smartphone mit gut funktionierender Hardware, sofern die Hardware vom Betriebssystem unterstützt wird und die entsprechenden Treiber installiert sind, damit das Betriebssystem ordnungsgemäß mit dem Betriebssystem kommunizieren kann Hardware, stürzt nicht ab . Sicher, vor Jahrzehnten neigten einige Betriebssysteme nach einer gewissen Betriebsdauer zum Absturz, aber jetzt ist es 2020. Diese Probleme wurden alle aus modernen Betriebssystemen herausgebügelt.

Das Problem mit Hardware und Software für Endverbraucher besteht darin, dass sie nicht lebenswichtig und nicht redundant sind und dass Benutzer zufällige Anwendungen auf ihren Geräten installieren möchten, die von zufälligen Softwareentwicklern verteilt werden. Sie werden keinen Piloten sehen, der den App Store in Ihrem Airbus mitten in der Luft öffnet und die neue Weihnachtslicht-App installiert, damit die Kabinenlichter festlich blinken, was zufällig die Kraftstoffpumpen stoppt, weil der Entwickler sie nie im Flug getestet hat.

Wie verhindern Flugzeughersteller dies?

  • Redundanz: Wenn ein System stoppt (oder seine Ausgänge außerhalb der gültigen Werte liegen), muss ein Reservesystem übernommen werden.
  • Spezifität: Im Gegensatz zu Allzweckcomputern haben die Geräte in einem Flugzeug ein ganz bestimmtes Ziel und werden für dieses Ziel gebaut, installiert, konfiguriert und getestet.
  • Testen: Sie Bringen Sie Ihren Computer oder Ihr Telefon möglicherweise zur Wartung in den Laden, wenn es sich unregelmäßig verhält. Das mag für diese Hardware zu spät sein, aber normalerweise können sie Ihre Bilder wiederherstellen. Kaufen Sie neue Hardware und / oder installieren Sie das Betriebssystem neu, und schon kann es losgehen. Flugzeuge werden regelmäßiger überprüft.
  • Ich liebe es, diesen Stack Exchange zu lesen, aber ich weiß nicht viel über Flugzeuge. Ich weiß jedoch ein oder zwei Dinge über Computer, daher hoffe ich, dass diese Antwort nützlich und thematisch ist.
    Moderne Betriebssysteme wie Windows werden in Flugcomputern nicht verwendet. Linux * könnte * verwendet werden, aber ich denke, es ist selten (aufgrund der Modifikationen, die erforderlich sind, um die Avionikstandards zu erfüllen). Häufiger sind LynxOS oder VxWorks, hochspezialisierte Systeme, die für hochzuverlässige Avionik- und andere industrielle Systeme ausgelegt sind und kein traditionelles Betriebssystem sind, wie Sie es von Windows oder Linux erwarten.
    @Ron das war absolut nicht das, was ich implizieren wollte, sorry wenn ja! "Neustart der Engine-Steuerung für Windows Update ..."
    @RonBeyer - Neben dem VxWorks-Zertifikat wird die Integrität von Greenhills auch in sicherheitskritischen Avionikanwendungen verwendet. vxWorks ist auch in der Avionik für geschäftskritische Anwendungen * sehr * beliebt.
    Ein Desktop neigt dazu, an einem Absturz festzuhalten, sodass der Benutzer / Entwickler dies sehen und möglicherweise Informationen darüber erhalten kann, warum er abgestürzt ist. (Oder zumindest die Tatsache, dass es abgestürzt ist). Wenn Sie andere Anforderungen haben, die Priorität haben (wie viele eingebettete Systeme), fügen Sie einen Watchdog-Timer hinzu, der das System neu startet, wenn das Betriebssystem es nicht jede Millisekunde oder was auch immer anstößt. Eingebettete Systeme brauchen normalerweise nicht lange, um hochzufahren. Ein klassisches Beispiel für etwas Ähnliches ist [Hat der 1202-Fehler und der damit verbundene Neustart eine Katastrophe bei der Landung von Apollo 11 verhindert?] (// space.stackexchange.com/q/37549)
    forest
    2020-01-04 14:13:18 UTC
    view on stackexchange narkive permalink

    In Bezug auf das Aus- und Wiedereinschalten spezifisch (im Gegensatz zu softwarebasierten Fehlern im Allgemeinen, die in anderen Antworten sehr detailliert beschrieben wurden) ist dies überhaupt kein Problem. Im Gegensatz zu einem typischen PC oder Smartphone, dessen Wiedereinschalten einige Zeit in Anspruch nimmt und bei Stromausfall Daten verlieren können, sind die Steuerungssysteme in einem Flugzeug in der Regel so ausgelegt, dass sie den vollständigen Betrieb wieder aufnehmen, sobald die Stromversorgung wiederhergestellt ist.

    Stellen Sie sich das eher wie den internen Temperaturmonitor Ihres Kühlschranks als wie Ihren PC vor. Wenn Sie es aus- und wieder einschalten, funktioniert es sofort wieder, als wäre nichts passiert.

    Insbesondere abgesehen vom Autopiloten und dem Navigationssystem ist so gut wie keines der Systeme tatsächlich auf irgendeine Form von Speicher angewiesen, nicht einmal auf RAM. Sie verarbeiten Echtzeit-Sensordaten. Wenn sie zurückgesetzt werden, gehen keine Daten verloren, da sie nur mit Daten arbeiten, die ohnehin in Echtzeit erfasst werden. Und ein sich schlecht benehmender Autopilot oder NAV lässt das Flugzeug nicht vom Himmel fallen, sondern bedeutet nur, dass die Verantwortung dafür, wohin Sie fliegen und wo Sie sich jetzt befinden, vom Computer zum Piloten wechselt.
    @JörgWMittag Genau genommen haben alle RAM, auch wenn es nur ein paar Kilobyte sind. Obwohl es möglich ist, ein Programm ohne RAM auszuführen, ist es selbst für diese Zwecke zu begrenzt. Das Berechnen von Echtzeit-Sensordaten oder sogar nicht trivialer Arithmetik erfordert mehr als nur einige allgemeine Register.
    Eugene Styer
    2020-01-03 20:37:36 UTC
    view on stackexchange narkive permalink

    Neustarts können manchmal auch akzeptabel sein, wenn Sie schnell neu starten können, ohne wichtige Informationen zu verlieren. Dies geschah im Rahmen der Landung von Apollo 11, als sie den Alarm 1202 hatten:

    Er erkannte, dass der 1202 ein Code war, der bedeutete, dass der Führungscomputer an Bord des Landungsboote wurden mit Aufgaben überladen. Die Programmierer hatten damit gerechnet, dass diese Überlastung eines Tages auftreten könnte, und hatten daher einen systeminternen Aspekt festgelegt, der automatisch einen schnellen Neustart und anschließend eine Speicherwiederherstellung durchführt, um den Computer wieder in Betrieb zu nehmen.

    Aber dies würde überhaupt nicht für die Fliege von Ethernet-Steuerungen gelten, die die eigentlichen Steuerflächen bedienen, sicher?
    Wenn ein Fehler erkannt wird, ist es in vielen Fällen besser, das System vorübergehend in Betrieb zu nehmen, während es neu startet, als in einem fehlerhaften Zustand zu stecken.
    @Fattie sicher, dass es würde. Es ist besser, einen Moment lang nichts zu tun, als das Richtige zu tun, als sofort das Falsche zu tun.
    Dies scheint eher ein Kommentar zu sein, da es wirklich keinen Vergleich zwischen einem alten Computer mit Magnetkernspeicher und Seilspeicher und außergewöhnlich begrenzten Computeranforderungen und einer komplexen modernen Maschine mit Hunderten von Mikroprozessoren mit unglaublich komplexen ISAs und Millionen von Codezeilen gibt mehrere Programmiersprachen.
    @forest: Moderne eingebettete Systeme verfügen immer noch über einen Watchdog-Timer, der neu gestartet wird, wenn das System abstürzt, anstatt nur wie ein Desktop dort zu sitzen, damit ein Benutzer den Fehlercode aufschreiben kann (oder bemerkt, dass er überhaupt abgestürzt ist). Aber ja, das Zitat in dieser Antwort lässt es wie ein primitives Müllsammelschema klingen. Die Apollo 11 AGC * hatte * jedoch einen Watchdog-Timer (sie nannten ihn "Nightwatchman": P) und war eines der wenigen Dinge, die einen Neustart auslösen konnten: [Wie hat der Apollo-Leitcomputer mit Paritätsbitfehlern umgegangen?] (//space.stackexchange.com/q/35934))


    Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 4.0-Lizenz, unter der er vertrieben wird.
    Loading...