|
|
|
|
Strumenti |
30-01-2019, 19:27 | #1 |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3594
|
[C] applicativo real time
Ciao,
qualche tempo fa avevo fatto una ricerca intorno a WindowsXP ed avevo scoperto che in alcuni casi si poteva sperimentare una attesa anche di 300 ms prima che XP di servisse nuovamente un nostro processo e questo in quanto doveva fare altro; ovviamente non accadeva sempre, ma se si desidera scrivere un qualcosa di affidabile con un certo tempo che catturi ad esempio campioni da una scheda ogni 10 ms, xp non era il sistema operativo ideale. Anticipo che sono a conoscenza dell'esistenza di appositi SO scritti per tale scopo ma non è questo che mi interessa conoscere e che sto cercando. Ho cercato in rete ma non ho trovato nulla di documentato per quanto riguarda Windows 7/8/10 64 bit in merito a queste particolari ritardi/pause; qualcuno di voi ha avuto esperienze in merito? Grazie |
31-01-2019, 10:28 | #2 |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3594
|
nel frattempo ho trovato un software che mi consente di capire a grandi linee se l'accoppiata PC+SO è adatta al real time, si chiama LatencyMon
|
31-01-2019, 15:54 | #3 | |
Senior Member
Iscritto dal: Jan 2008
Messaggi: 8406
|
Quote:
Il problema che tu noti è però la variabilità delle latenze e onestamente ci sta, non essendo un sistema operativo realtime. E' normale che, sotto carichi cpu bound, si comporti così. In particolare ai thread realtime ( non realtime nel senso dei sistemi realtime, semplicemente la più alta priorità possibile ) viene concesso di non essere disturbati da nessuno. Ovviamente puoi mettere in ginocchio l'intero sistema con un thread del genere e le latenze ovviamente schizzano alle stelle. Per il tuo caso potresti usare https://docs.microsoft.com/en-us/win...eduler-service E' il meccanismo che Windows offre per gestire thread che hanno necessità soft realtime. |
|
31-01-2019, 18:37 | #4 | |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3594
|
Quote:
Oggi ho fatto qualche esperimento con Latencymon ed ho notato che un PC con Windows 7 con attivi solo i processi di sistema cioè, un sistema pulito, ha dei ritardi di 8000 us, il programma usa il simbolo dei microsecondi (1/10^6) secondi e non mi è chiaro se invece intende millisecondi 1/10^3 secondi, ma a conti fatti credo intenda microsecondi altrimenti avrei ritardi di 8 secondi e non sarebbe veritiero cioè sarebbe un PC bloccato. |
|
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:42.