WinFuture-Forum.de: Echtzeitgarantie unter Windows XP - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Windows XP
  • 2 Seiten +
  • 1
  • 2

Echtzeitgarantie unter Windows XP


#1 Mitglied ist offline   Memnoch1337 

  • Gruppe: Mitglieder
  • Beiträge: 3
  • Beigetreten: 12. April 12
  • Reputation: 0

geschrieben 12. April 2012 - 07:40

Hallo!

Ich weiß, dass XP kein Echtzeitbetriebssystem ist und man daher auch keine Garantie darauf bekommen kann.
Dennoch sitze ich gerade an meiner Diplomarbeit und muss versuchen etwas auf einem Laptop zu simulieren, bei dem ich ansich Echtzeit garantieren müsste.
Ich muss also untersuchen, inwiefern das Programm, was die Simulation gewährleistet, Zugriffszeiten gewährt bekommt, bzw. wie lange es warten muss.
Ziel soll es sein eine Einschätzung treffen zu können, ob das Programm in einem vertretbaren Rahmen antwortet.

Ich hab versucht bei Google danach zu suchen, aber ich finde anscheinend keine korrekten Suchworte.
Kennt jemand ein Programm oder eine Umgebung, die ungefährt meinen Erwartungen gerecht werden könnte?

Um es auf den Punkt zu bringen:
Ich muss Windows XP nutzen (kein Echtzeitbetriebssystem, ist mir bekannt) um ein Programm möglichst Echtzeitnah zum laufen zu bringen.
Ich suche ein Tool, dass mir die Performance aufzeigt. Wie schnell bekommt das Programm wieder Rechnenzeit, wieviel Verzögerung hat es usw...
Ich muss eben gucken, ob das Programm in einem vertretbaren Rahmen agiert oder nicht.

Vielen Dank für Eure Bemühungen (allein das ihr bis hier gelesen habt )

Mit freundlichen Grüßen,
Stephan.
0

Anzeige



#2 Mitglied ist offline   Stefan_der_held 

  • Gruppe: Offizieller Support
  • Beiträge: 14.289
  • Beigetreten: 08. April 06
  • Reputation: 885
  • Geschlecht:Männlich
  • Wohnort:Dortmund NRW
  • Interessen:Alles wo irgendwie Strom durchfließt fasziniert mich einfach weswegen ich halt Elektroinstallateur geworden bin :)

geschrieben 12. April 2012 - 08:26

Du kannst im Taskmanager einzelnen Tasks die Priorität "Echtzeit" zuordnen. (zumindest ab Vista... xp habe ich gerade leider nicht als Referenz).

Taskmanager öffnen, Task raussuchen der in Echtzeit laufen soll, Rechtsklick > Priorität > "Echtzeit"

kann aber sein, dass XP hier bei "hoch" aufhört.

wie sehr die "Echtzeit" als "Echtzeit" zu verstehen ist kann dir aber nur MS selbst sagen. XP ist nunmal kein Echtzeit-System wie du schon richtig erkannt hast.

Zum Monitoring mal schauen ob "ProcessExplorer" (kostenfrei, Sysinternals mal nach googlen) ausreicht.

@Ler-Kuhn: Sieht mir nicht wirklich nach Sven-Uwe aus :smokin:
0

#3 Mitglied ist offline   Memnoch1337 

  • Gruppe: Mitglieder
  • Beiträge: 3
  • Beigetreten: 12. April 12
  • Reputation: 0

geschrieben 13. April 2012 - 08:34

Hallo Stefan,

danke für deine Antwort!
Ja auch unter XP gibt es schon den Punkt "Echtzeit". Allerdings wird an mehreren Stellen darauf hingewiesen, dass dann Systemwichtige Prozesse darunter leiden können.
Zudem, wie du bereits erwähnt hast, gearantiert diese Option keine Echtzeit (wie auch bei einem System, das nicht Echtzeit ist :D ).
Den ProcessExplorer werde ich mir mal angucken, allerdings siehts auf dem ersten Blick so aus, als würde man damit nur den Umfang von Prozessen (wie viele Threads, wieviel Speicher usw.) messen können und keine Zeitangaben bekommen.

LG,
ich.
0

#4 _lennard_

  • Gruppe: Gäste

geschrieben 17. April 2012 - 09:20

Darf ich frage warum das für dich überhaupt wichtig ist? Es erschließt sich mir nicht so recht, sorry hab nicht studiert.
0

#5 Mitglied ist offline   Memnoch1337 

  • Gruppe: Mitglieder
  • Beiträge: 3
  • Beigetreten: 12. April 12
  • Reputation: 0

geschrieben 18. April 2012 - 07:44

Nunja, ich versuche mit meinem Laptop etwas zu simulieren, das im 10 Millisekundentakt über ein PCIMCIA-Slot abgefragt wird bzw abfragt.

Ich muss eben zeigen, dass das wirklich auch unter Windows XP klappt, bzw zeigen, dass dem nicht so ist ;)

Dieser Beitrag wurde von Memnoch1337 bearbeitet: 18. April 2012 - 07:45

0

#6 Mitglied ist offline   syberarall 

  • Gruppe: Mitglieder
  • Beiträge: 1
  • Beigetreten: 02. Juli 12
  • Reputation: 0

geschrieben 02. Juli 2012 - 22:23

Hallo,

tja das mit der Echtzeit ist so eine Sache - es gibt halt keine halbe Echtzeit, d.h. ein wiederkehrendes Ereignis oder ein Signal muss innerhalb einer vorab definierten Abweichung jederzeit erfassbar oder auslösbar sein.

Nun die Voraussetzung für diese Forderung ist ein Betriebssystem mit verschachtelter Interrupt-Verarbeitung, oder mit einer nicht-präemptiven zeitgesteuerter Task-Verteilung.

Windows funktioniert mit einer prioritätsgesteuerten präemtiver Task-Verteilung, was systembedingt nicht geändert werden kann.

Daher spielt es mathematisch keine Rolle, ob die Task-Verzögerung unter Windows 1ms, 10ms oder 1 Minute beträgt - das ist zwar schwer zu aktzeptieren, ist jedoch eine Tatsache.

Wenn wir unter Windows von Determinismus reden, reden wir über ein durchschnittliches Zeitverhalten.
Was bringt das nun für die Aufgabenstellung (10ms Determinismus) ?

Auf der Applikationsebene unter Windows arbeiten die Tasks mit der System-Priorität IRQL-PASSIVE (niederste Systempriorität). Die daraus resultierende Gauss-Verteilung läßt grob geschätzt Abweichungen bis zu 200ms (je nach Plattform) zu.

Im Gegensatz dazu kann im Windows-Kernel mit höheren System-Prioritäten gearbeitet werden - doch Vorsicht - damit werden locker alle Applikationstasks blockiert. Daher muss ein zweiter Scheduler installiert werden, um ein quasi-deterministisches Ablaufverhalten zu erreichen.

Alles in Allem - es ist die Quadratur des Kreises - und glaubt mir, vielen haben Wochen und Monate an Entwicklungszeit investiert, nur um am Ende aufgeben zu müssen. Das ist das Existenzrecht von Echtzeit-SubSystemen für Windows.
0

#7 Mitglied ist offline   Holger_N 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.111
  • Beigetreten: 11. September 10
  • Reputation: 458
  • Geschlecht:Männlich

geschrieben 03. Juli 2012 - 10:27

Was ist denn mit Echtzeit überhaupt gemeint. Für mich würde "keine Echtzeit" bedeuten, dass ich in Word einen Brief schreibe und mir der Rechner den Brief nur vorgaukelt und die Datei erst morgen wirklich schreibt. Oder wie?
Bauernregel: Regnets mächtig im April, passiert irgendwas, was sich auf April reimt.
0

#8 Mitglied ist offline   Kirill 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.590
  • Beigetreten: 04. Dezember 06
  • Reputation: 121
  • Geschlecht:Männlich
  • Wohnort:BT

geschrieben 03. Juli 2012 - 10:33

Es gibt ja Windows Embedded Compact, was als Echtzeitsystem bezeichnet wird. Wie wäre es mal damit?

Beitrag anzeigenZitat (Holger_N: 03. Juli 2012 - 10:27)

Was ist denn mit Echtzeit überhaupt gemeint. Für mich würde "keine Echtzeit" bedeuten, dass ich in Word einen Brief schreibe und mir der Rechner den Brief nur vorgaukelt und die Datei erst morgen wirklich schreibt. Oder wie?

Während Word eine für dich nicht wahrnehmbare Verzögerung aufweist, sind andere Vorgänge da deutlich kritischer. Lies die Posts vor deinem, da ist die Rede von recht konkreten Zeitwerten.
Per harter Definition ist ein Echtzeitbetriebssystem eins, das eine Höchstlatenz garantiert. Jetzt kann man die Latenz zwar auch mit ein paar Sekunden ansetzen, darum geht es aber nicht. Denke Sensortechnik, denke Prozesssteuerung, denke Boardcomputer vom Flugzeug. Da sind die tolerierbaren Verzögerungen deutlich unterhalb der paar Sekunden, die bei Word in Ordnung gehen.

Dieser Beitrag wurde von Kirill bearbeitet: 03. Juli 2012 - 10:34

Most rethrashing{
DiskCache=AllocateMemory(GetTotalAmountOfAvailableMemory);}
0

#9 Mitglied ist offline   Holger_N 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.111
  • Beigetreten: 11. September 10
  • Reputation: 458
  • Geschlecht:Männlich

geschrieben 03. Juli 2012 - 11:07

Naja aber eine gewisse Zeit dauert doch alles. Eine richtige Echtzeit gibts doch gar nicht. D.h. so wie es hier abgehandelt wird, wäre Echtzeit ja nur die Definition der tolerierbaren Dauer. Und wenn zwei Sekunden für Word kein Problem ist, dann wird eben definiert, dass für Word alles < 2 s eben "Echtzeit" ist und bei Flugzeugsteuerungen sind es eben Tausendstel. Egal wie man es dreht, es ist doch dann eine willkürliche Festlegung. Da kann man alles und nichts garantieren.
Bauernregel: Regnets mächtig im April, passiert irgendwas, was sich auf April reimt.
0

#10 Mitglied ist offline   Kirill 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.590
  • Beigetreten: 04. Dezember 06
  • Reputation: 121
  • Geschlecht:Männlich
  • Wohnort:BT

geschrieben 03. Juli 2012 - 11:38

Doch, wenn dir ein System 200ms für die Abarbeitung einer Anfrage garantiert, garantiert dir das System halt die Abarbeitung innerhalb von 200ms. Wenn dein Prozess also 200ms Verzögerung toleriert, kannst du das System dafür einsetzen. So ein typisches Betriebssystem für den Desktop dagegen ist mehr auf Durchsatz optimiert, was für einzelne Vorgänge zu nicht vorhersagbaren Verzögerungen führt.

Dieser Beitrag wurde von Kirill bearbeitet: 03. Juli 2012 - 11:39

Most rethrashing{
DiskCache=AllocateMemory(GetTotalAmountOfAvailableMemory);}
0

#11 Mitglied ist offline   Holger_N 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.111
  • Beigetreten: 11. September 10
  • Reputation: 458
  • Geschlecht:Männlich

geschrieben 03. Juli 2012 - 12:22

Beitrag anzeigenZitat (Kirill: 03. Juli 2012 - 11:38)

Doch, wenn dir ein System 200ms für die Abarbeitung einer Anfrage garantiert, garantiert dir das System halt die Abarbeitung innerhalb von 200ms. Wenn dein Prozess also 200ms Verzögerung toleriert, kannst du das System dafür einsetzen. So ein typisches Betriebssystem für den Desktop dagegen ist mehr auf Durchsatz optimiert, was für einzelne Vorgänge zu nicht vorhersagbaren Verzögerungen führt.


Das heißt doch aber auch nur, dass irgendjemand die 200 ms als Grenzwert festgelegt hat. Wenn dann für irgendwas 150 ms benötigt werden, dann wäre das nach dieser Festlegung "Echtzeit". Das nutzt doch aber jemandem, der höchstens 100 ms tolerieren kann dann auch nichts. Für den ist es dann auch keine Echtzeit auch wenn man es per Definition so bezeichnen dürfte.
Bauernregel: Regnets mächtig im April, passiert irgendwas, was sich auf April reimt.
0

#12 _Volume Z_

  • Gruppe: Gäste

geschrieben 03. Juli 2012 - 12:36

Urgh.

http://de.wikipedia..../Echtzeitsystem
0

#13 Mitglied ist offline   Kirill 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.590
  • Beigetreten: 04. Dezember 06
  • Reputation: 121
  • Geschlecht:Männlich
  • Wohnort:BT

geschrieben 03. Juli 2012 - 12:48

Beitrag anzeigenZitat (Holger_N: 03. Juli 2012 - 12:22)

Das heißt doch aber auch nur, dass irgendjemand die 200 ms als Grenzwert festgelegt hat. Wenn dann für irgendwas 150 ms benötigt werden, dann wäre das nach dieser Festlegung "Echtzeit". Das nutzt doch aber jemandem, der höchstens 100 ms tolerieren kann dann auch nichts. Für den ist es dann auch keine Echtzeit auch wenn man es per Definition so bezeichnen dürfte.
Dann holt der sich halt ein Echtzeitsystem, das 100ms garantiert. Oder meinst du, dass "Echtzeit" gleichzusetzen mit "200ms" ist?
Most rethrashing{
DiskCache=AllocateMemory(GetTotalAmountOfAvailableMemory);}
0

#14 Mitglied ist offline   Holger_N 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.111
  • Beigetreten: 11. September 10
  • Reputation: 458
  • Geschlecht:Männlich

geschrieben 03. Juli 2012 - 12:56

Beitrag anzeigenZitat (Volume Z: 03. Juli 2012 - 12:36)




Schreiben das Gleiche wie ich, nur fachmännischer formuliert.

Zitat

Die DIN-Norm 44300 definiert unter Echtzeitbetrieb (dort Realzeitbetrieb genannt) den Betrieb eines Rechnersystems, bei dem Programme zur Verarbeitung anfallender Daten ständig betriebsbereit sind, derart, dass die Verarbeitungsergebnisse innerhalb einer vorgegebenen Zeitspanne verfügbar sind. Diese Begriffsnorm hat sich in der Praxis als alleinig akzeptierte Definition nicht durchsetzen können, es dominieren die Begriffe aus dem englischen Sprachraum.


Beitrag anzeigenZitat (Kirill: 03. Juli 2012 - 12:48)

Dann holt der sich halt ein Echtzeitsystem, das 100ms garantiert. Oder meinst du, dass "Echtzeit" gleichzusetzen mit "200ms" ist?


Ich bezog mich da auf den Ausgangsbeitrag in welchem steht, dass XP kein Echtzeitsystem wäre. Nachdem was jetzt hier so steht käme es doch aber auf die Ansprüche des Nutzers an und XP wäre ein Echtzeitsystem, wenn die Verarbeitungszeitspannen für den User tolerabel sind.
Bauernregel: Regnets mächtig im April, passiert irgendwas, was sich auf April reimt.
0

#15 Mitglied ist offline   Kirill 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.590
  • Beigetreten: 04. Dezember 06
  • Reputation: 121
  • Geschlecht:Männlich
  • Wohnort:BT

geschrieben 03. Juli 2012 - 13:17

Beitrag anzeigenZitat (Holger_N: 03. Juli 2012 - 12:56)

Ich bezog mich da auf den Ausgangsbeitrag in welchem steht, dass XP kein Echtzeitsystem wäre. Nachdem was jetzt hier so steht käme es doch aber auf die Ansprüche des Nutzers an und XP wäre ein Echtzeitsystem, wenn die Verarbeitungszeitspannen für den User tolerabel sind.
Wie oft muss ich "garantiert" schreiben, damit du checkst, dass ich "garantiert" meine? Ein normales Desktopwindows garantiert nichts. Gut, dass der Vorgang irgendwann rum sein wird, ist scho wahr, aber zu den Anforderungen an an Echtzeitsystem gehören garantierte Antwortzeiten, und die garantiert XP nie und nimmer. Deine Worddatei kann in einer Sekunde abgespeichert sein, oder aber auch in 5. Wie wäre es mit 20? Je nach Zustand vom Diskcache, je nach Auslagerungssituation, je nach Prozesspriorität und anderen Prozessen kann die Reaktionszeit von alles zu nichts schwanken. Ein Echtzeitsystem sagt dir dagegen "Du, ich hab's in einer Sekunde, komme was wolle, solange du nicht mitm Hammer auf mich einprügelst". Das macht kein einziges Desktopsystem. Sogar die von dir zitierte Passage spricht von einer vorgegebenen Zeitspanne, warum ignorierst ebendiese ständig?

Dieser Beitrag wurde von Kirill bearbeitet: 03. Juli 2012 - 13:59

Most rethrashing{
DiskCache=AllocateMemory(GetTotalAmountOfAvailableMemory);}
0

Thema verteilen:


  • 2 Seiten +
  • 1
  • 2

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0