On Fri, Nov 15, 2002 at 02:08:28PM +0100, Olivier Rioland wrote:
> Selon moi, c'est plut�t au niveau du temps de r�ponse :

Pas mal, mais beaucoup trop vague.
 
> Prenons le cas o� un processus A est en train d'�tre
> ex�cuter par la machine (une t�che de fond). Un �v�nement
> ext�rieur intervient devant lancer un processus B. Alors
> il faut que le processus A c�de la place au processus B en
> un temps maximum connu (g�n�ralement une centaine de
> micro-secondes, parfois moins) avec une tol�rance minimum
> (ex : le temps d'attente est sup�rieur � 1 ms dans
> seulement 2% des cas). 

Non; si ton ABS fait un cycle toutes les 40us, le temps
d'attente ne doit jamais �tre sup�rieur � 40us. Si dans 2%
des cas (500 fois par secondes!) tu es � 1ms, il ne va pas
falloir longtemps pour que tu t'arr�tes dans un mur.

En fait, ton exemple est exactement l'oppos� du temps r�el:
dans tout syst�me Linux, quand j'appuie sur ma souris, je
m'attend � ce que le click soit pris en compte dans les
50ms. Dans 5% des cas, �a peut prendre 500ms. Une fois par
mois, �a prend plusieurs seconde (pasque je suis en train de
swapper ou qqch dans le genre). Et dans le cas g�neral, je
n'ai pas de limite sup�rieure de temps.

Donc, le "temps maximum" doit �tre effectivement connu, mais
nettement plus pr�cis�ment que �a... et dans le cas de l'ABS
(ou du missile), le temps maximum doit �tre *garanti*.

(Incidemment, il n'y a pas de temps de r�ponse
"g�n�ralement" accept� � 100 micro-secondes: �a d�pend
enti�rement de ce que tu fais).

> Sous linux, ce temps est de l'ordre de 10 ms

Comment tu mesures?

La derni�re fois que j'ai mesur� �a, j'avais un process qui
attendait un signal sur une entr�e d'interruption; quand le
process se reveillait, il changeait l'�tat d'une sortie.
Entre l'activation de l'entr�e et le changement de la
sortie, j'ai mesur� 100uS. Sur un strong-arm � 220MHz, donc
pas une b�te de course.


> (correspondant � la fr�quence moyenne d'arriv�e d'infos de
> la part d'un utilisateur humain quand il tape au clavier
> tr�s vite).

Quel rapport entre la vitesse de frappe et le temps de
r�ponse du syst�me??!? Si je tape plus vite, il r�pond plus
vite? Je pense que tu confonds des choses qui n'ont rien �
voir, ou alors tu n'es pas clair.

> Des OS temps r�el existent pour plateforme intel, comme
> par exemple QNX, mais ils sont chers. L'id�e de proposer
> un syst�me temps r�el bas� sur le noyau Linux est donc
> plut�t int�ressante (je ne connais cependant pas de cas
> concrets o� �a a �t� utilis�).

En g�n�ral, pour faire du temps r�el, il vaut mieux ne pas
utiliser une plateforme Intel (bas� sur *86), car
l'architecture rend l'evaluation du temps de r�ponse presque
impossible (les instructions ne prennent pas toutes le m�me
temps d'execution; certaines peuvent durer des �ternit�s
quand on commence � faire des rep; si je me souviens bien,
toutes les interruptions n'arrivent pas � la m�me vitesse
non plus).

Cela dit, eCos par exemple est gratuit, se trouve qq part
sur www.redhat.com (pas taper -- RedHat fait aussi de tr�s
bonnes choses dans le domaine de l'embarqu�, c'est juste
leur distribution qui n'est pas tr�s bonne ;-) ).

/Y

Répondre à