Um "weiche Echtzeit" zu definieren, ist es am einfachsten, sie mit "harter Echtzeit" zu vergleichen.
Lässig gesprochen, haben die meisten Menschen implizit ein informelles mentales Modell, das Informationen oder ein Ereignis als "Echtzeit" betrachtet.
• wenn oder in dem Maße, in dem es sich für sie mit einer Verzögerung (Latenz) manifestiert, die mit der wahrgenommenen Währung in Beziehung gesetzt werden kann
• dh in einem Zeitraum, in dem die Informationen oder Ereignisse für sie einen annehmbar zufriedenstellenden Wert haben.
Es gibt zahlreiche verschiedene Ad-hoc-Definitionen für "harte Echtzeit", aber in diesem mentalen Modell wird harte Echtzeit durch den "Wenn" -Begriff dargestellt. Insbesondere unter der Annahme, dass Echtzeitaktionen (wie Aufgaben) Ausführungsfristen haben, ist der akzeptable Wert des Ereignisses, dass alle Aufgaben abgeschlossen sind, auf den Sonderfall beschränkt, dass alle Aufgaben ihre Fristen einhalten.
Harte Echtzeitsysteme gehen stark davon aus, dass alles in Bezug auf die Anwendung und das System sowie die Umgebung statisch ist und von vornherein bekannt ist - z Es gibt keine Ressourcenkonflikte und insgesamt die zeitliche Entwicklung des Systems. In einem Flugsteuerungssystem für Flugzeuge oder in einem Bremssystem für Kraftfahrzeuge und in vielen anderen Fällen können diese Annahmen normalerweise erfüllt werden, so dass alle Fristen eingehalten werden.
Dieses mentale Modell ist bewusst und sehr nützlich allgemein genug, um sowohl harte als auch weiche Echtzeit zu erfassen - weich wird durch die Phrase "in dem Maße, in dem" berücksichtigt. Angenommen, das Ereignis task completions hat einen suboptimalen, aber akzeptablen Wert, wenn
- Nicht mehr als 10% der Aufgaben verfehlen ihre Fristen
- oder keine Aufgabe ist mehr als 20% verspätet
- oder die durchschnittliche Verspätung aller Aufgaben ist nicht mehr als 15%
- oder die maximale Verspätung unter allen Aufgaben ist weniger als 10%
All dies sind gebräuchliche Beispiele für Soft-Echtzeit-Fälle in einer Vielzahl von Anwendungen.
Betrachten Sie die Einzelanwendung, Ihr Kind nach der Schule abzuholen. Das hat wahrscheinlich keine tatsächliche Frist, sondern es gibt einen Wert für Sie und Ihr Kind, der davon abhängt, wann dieses Ereignis stattfindet. Eine zu frühe Verschwendung von Ressourcen (wie Ihre Zeit) und eine zu späte Verschwendung haben einen negativen Wert, da Ihr Kind möglicherweise in Ruhe gelassen wird und möglicherweise in Gefahr ist (oder zumindest Unannehmlichkeiten hat).
Im Gegensatz zum statischen Hard-Real-Time-Sonderfall werden bei Soft-Real-Time nur die minimal erforderlichen anwendungsspezifischen Annahmen über die Aufgaben und das System getroffen, und es werden Unsicherheiten erwartet. Um Ihr Kind abzuholen, müssen Sie zur Schule fahren. Die dafür erforderliche Zeit hängt vom Wetter, den Verkehrsbedingungen usw. ab. Sie könnten versucht sein, Ihr System überzubereiten (dh zuzulassen, was Sie sich erhoffen) Worst-Case-Fahrzeit), aber dies ist wiederum eine Verschwendung von Ressourcen (Ihre Zeit und die Belegung des Familienfahrzeugs, möglicherweise die Verweigerung der Nutzung durch andere Familienmitglieder).
Dieses Beispiel scheint in Bezug auf verschwendete Ressourcen nicht kostspielig zu sein, aber betrachten Sie andere Beispiele. Alle militärischen Kampfsysteme arbeiten in Echtzeit. Angenommen, Sie führen einen Flugzeugangriff auf ein feindliches Bodenfahrzeug mit einer Lenkwaffe durch, die mit Aktualisierungen als Zielmanöver geführt wird. Die maximale Zufriedenheit für die Erledigung der Aufgaben zur Aktualisierung des Kurses wird durch einen direkten zerstörerischen Treffer auf das Ziel erreicht. Ein Versuch, Ressourcen übermäßig bereitzustellen, um dieses Ergebnis sicherzustellen, ist jedoch in der Regel viel zu teuer und kann sogar unmöglich sein. In diesem Fall sind Sie möglicherweise weniger, aber ausreichend zufrieden, wenn die Rakete nahe genug an das Ziel heranschlägt, um es zu deaktivieren.
Offensichtlich weisen Kampfszenarien eine Vielzahl möglicher dynamischer Unsicherheiten auf, die vom Ressourcenmanagement berücksichtigt werden müssen. Weiche Echtzeitsysteme sind auch in vielen zivilen Systemen, wie der industriellen Automatisierung, weit verbreitet, obwohl offensichtlich militärische Systeme die gefährlichsten und dringendsten sind, um einen annehmbar zufriedenstellenden Wert zu erzielen.
Der Grundpfeiler von Echtzeitsystemen ist "Berechenbarkeit". Der harte Echtzeitfall interessiert sich nur für einen speziellen Fall der Vorhersehbarkeit - dh, dass alle Aufgaben ihre Fristen einhalten und der maximal mögliche Wert von diesem Ereignis erreicht wird. Dieser Sonderfall heißt "deterministisch".
Es gibt ein Spektrum von Vorhersagbarkeit; Die meisten Echtzeitsysteme (insbesondere weiche Systeme) sind nicht deterministisch vorhersehbar, z. B. hinsichtlich der Ausführungszeiten der Aufgaben und damit der aus diesen Ereignissen gewonnenen Werte. Im Allgemeinen kann die Vorhersehbarkeit und damit der Wert so nahe wie nötig am deterministischen Endpunkt liegen, jedoch zu einem Preis, der physikalisch unmöglich oder übermäßig teuer sein kann (wie im Kampf oder vielleicht sogar bei der Abholung Ihres Kindes von der Schule).
Für die weiche Echtzeit ist die anwendungsspezifische Auswahl eines Wahrscheinlichkeitsmodells (nicht des üblichen Frequenzmodells) und damit eines Vorhersagbarkeitsmodells erforderlich, um über Ereignislatenzen und daraus resultierende Werte nachzudenken.
Unter erneuter Bezugnahme auf die obige Liste von Ereignissen, die einen akzeptablen Wert liefern, können nun nicht deterministische Fälle hinzugefügt werden, z
- Die Wahrscheinlichkeit, dass eine Aufgabe ihre Frist um mehr als 5% verfehlt, ist größer als 0,87.
In einer Raketenabwehranwendung haben Sie angesichts der Tatsache, dass die Offensive im Kampf immer den Vorteil gegenüber der Defensive hat, welches dieser beiden Echtzeitszenarien Sie bevorzugen:
Da die vollständige Zerstörung aller feindlichen Raketen sehr unwahrscheinlich oder unmöglich ist, weisen Sie Ihre Verteidigungsressourcen so zu, dass die Wahrscheinlichkeit maximiert wird, dass möglichst viele der bedrohlichsten (z. B. auf der Grundlage ihrer Ziele) feindlichen Raketen erfolgreich abgefangen werden kann die feindliche Rakete vom Kurs abbringen);
Beschweren Sie sich, dass dies kein Echtzeit-Computerproblem ist, da es sich nicht um ein statisches, sondern um ein dynamisches Problem handelt und traditionelle Echtzeitkonzepte und -techniken nicht zur Anwendung kommen.
Trotz der verschiedenen Missverständnisse in Bezug auf weiche Echtzeit in der Community der Echtzeitcomputer (jedoch nicht in anderen Bereichen ohne Computer) ist weiche Echtzeit sehr allgemein und leistungsfähig und im Vergleich zu harter Echtzeit möglicherweise sehr komplex.
So beantworten Sie die OP-Frage direkt:
Ein hartes Echtzeitsystem kann deterministische Garantien bieten - in der Regel, dass alle Aufgaben ihre Fristen einhalten, die Reaktionszeit von Interrupts oder Systemaufrufen immer kürzer als x usw. -, WENN UND NUR WENN sehr starke Annahmen getroffen wurden und diese richtig sind alles, was zählt, ist statisch und a priori bekannt (im Allgemeinen sind solche Garantien für harte Echtzeitsysteme ein offenes Forschungsproblem, mit Ausnahme von eher einfachen Fällen)
Ein weiches Echtzeitsystem bietet keine deterministischen Garantien, sondern soll die bestmögliche analytisch festgelegte wahrscheinlichkeitstheoretische Aktualität und Vorhersagbarkeit der Aktualität bieten, die unter den gegenwärtigen dynamischen Umständen nach anwendungsspezifischen Kriterien möglich sind. Offensichtlich ist harte Echtzeit ein einfacher Spezialfall von weicher Echtzeit. Die analytischen nicht deterministischen Zusicherungen von soft real time können sehr komplex sein, sind jedoch in den häufigsten Fällen in Echtzeit (einschließlich der gefährlichsten sicherheitskritischen Fälle wie Kampf) obligatorisch, da die meisten Fälle dynamisch und nicht statisch sind.
Auf meiner Website real-time.org habe ich eine detailliertere und präzisere Diskussion über Echtzeit, harte Echtzeit, weiche Echtzeit, Vorhersagbarkeit, Determinismus und verwandte Themen .