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

