Hallo Spiro, On 07.04.2013 20:21, Spiro Trikaliotis wrote:
* On Sat, Apr 06, 2013 at 03:47:30PM +0200 Hugo Wau wrote:Vor Jahrzehnten habe ich Vorträge über die unterschiedliche Interrupt- und damit Echtzeitfähigkeit von Betriebssystemen gehalten.Wie gut, dass Echtzeit schon ermöglicht wird, wenn Betriebssysteme gute Interruptfähigkeiten haben...Wenn Android auf einem kleinen ARM Prozessor in der Lage ist, in Echtzeit eine Telefonverbindung und sogar VoIP Verbindungen herzustellen und aufrecht zu erhalten und sie ordentlich zu beenden, dann kann man mit diesem Betriebssystem auch ein Auto durch den Verkehr lenken.Dir ist der Unterschied zwischen Soft- und Hard-Realtime bekannt? Deine Beispiele - ausser das Auto - sind alle Soft-Realtime. Sprich: Es reicht, wenn es "so PI mal Daumen" paßt. Wenn nicht, dann gibt es vielleicht einen kleinen Ruckler, das war es aber schon. (Meistens sogar nicht mal das, weil der Mensch viele solche Fehler gar nicht erkennen wird) Jedenfalls sind keine Menschenleben in Gefahr, auch drohen keine großen Kosten, weil es schiefgegangen ist. Bei Hard-Realtime (das kann schon die Steuerung eines Motors sein) sieht das grundsätzlich anders aus.Die menschlichen Reaktionszeiten liegen im Zenhtel-Sekunden-Bereich, das sollte jedes Betriebssystem mit ausreichender Hardware dahinter, allemal schaffen.Das sollten sie für Soft-Realtime schaffen können. Ein Menschenleben (= Hard-Realtime) würde ich damit aber nicht riskieren wollen. Da würde ich doch lieber auf spezialisierte Echtzeitsysteme ausweichen wollen. Da hier dann aber doch eher OT werde ich auf der ML keine Antworten mehr geben. Diskussionen können aber gerne privat per Mail geführt werden.
Mit dem Artikel http://en.wikipedia.org/wiki/Real-time_computing bin ich vertraut.Motorsteuerung (die einmal mit 4-Bit-Prozessoren angefangen hat) und Sensorik sind IMHO in Hw-Realtime realisiert (aber konkret solltest du die Entwickler, z.B. an der TUB fragen), während die Fahr-Steuerung, die die Signale der Sensorik auswertet und das Fahrzeug durch den Verkehr lenkt. Im Zweifelsfall oder bei Überlastung bringt ein Watchdog das Fahrzeug mit blinkendem Warnlicht zum Stillstand und warnt andere Fahrzeuge, sofern sie das Signal aufnehmen können, wireless über das Hindernis.
Ich gehe, unabhängig von HW/SW-Echtzeit davon aus, dass die Systeme so dimensioniert sind, dass kein wichtiges Signal verpasst wird und dass für Echtzeit ein Bruchteil der menschlichen Reaktionszeit eines Fahrers ausreicht. Wie es im konkreten Fall wirklich aussieht, dazu fragst du am besten Entwickler z.B. an der TUB. Du kannes es auch ausprobieren, denn es gibt Umrüstkits, die Serienfahrzeuge in autonome Fahrzeuge verwandeln, zu kaufen:
http://autonomoussolutions.com/vehicle-automation-kit/ oder http://boingboing.net/2009/10/05/strap-on-autonomous.htmlLaut einem Artikel, den ich neulich gelesen haben, würde der Preis für solche Aufrüstkits bei Gross-Serienfertigung auf ein paar hundert Dollar (ohne Einbau und Abnahme) sinken.
Für mich ist, nach der alten Schule, "Echtzeit" abhängig von den Erfordernissen. Für einen Motor mit Einspritzung ist die Drehung um ein Grad auch bei ein paar Tausend Touren pro Minute schon viel, für das ABS dürfte ein Grad bei der Umdrehung des Rades nicht ganz so viel ausmachen, während die Reaktionszeit und damit die Erfordernisse für "Echtzeit" am Steuer im Sekundenbruchteil liegen dürfen. Ich gehe nicht davon aus, dass in allernächster Zeit alle diese Aufgaben von ein und demselben Rechnersystem bewältigt werden, sondern dass Sensorik, Motorsteuerung, ABS, etc. zunächst als erprobte Komponenten beibehalten werden und halt mit einer zentralen Fahrsteuerung kommunizieren. Wieviele Prozessortakte ein HW-Realtime-System zwischen Signalerfassung und Reaktion brauchen darf, ist bekannt. Und doch hat es dabei in Autos schon schwere Pannen gegeben. Auch für die Fahrsteuerung hat man schon einiges (Jahrzehnte) an Erfahrung, aber ich gehe davon aus, dass dieses zunächst ein Watchdog-überwachtes Sw-Realtime-System bleibt. Wenn du es genau wissen willst, dann nimm bitte Kontakt zu den entsprechenden Entwicklern auf.
MfG Hugo