• [^] # Re: Mon expérience perso...

    Posté par . En réponse à la dépêche Systèmes de fichiers journalisé sur Linux. Évalué à 10.

    c'est pas temps réel mais débit garanti



    bah, si, justement. C'est bien ça le temps réel :

    Le principe du temps réel, c'est que l'on connait le temps exact que va mettre telle ou telle action. Donc c'est içi un exemple pratique : on est sur du débit dont on dispose pour enregistrer par exemple la vidéo...




    Tout ceci est exact mis à part que l'on ne connait pas réellement le temps exact d'une action mais plutot une _borne supérieure_ du temps d'exécution tache.

    Plus généralement on n'a à faire à un système ou à une application temps réelle lorsque l'on associe des contraintes temporelles aux taches et que le système (ou l'application) les respecte. Généralement ces contraintes temporelles s'expriment sous la forme de date limite d'exécution des taches à ne pas dépasser.



    Il est important de noter que, contrairement aux idées recues, temps réels ne signifie pas vitesse réelle. Ainsi une application de transmission vidéo qui assurerait un débit de 10 images par secondes ne serait pas une application en vitesse réelle mais serait tout de meme une application temps réelle.



    De plus si la définition du temps réel ne s'axe pas directement sur la garantie de certains débits, les applications garantissant certains débits sont des applications temps réels. Pour prendre l'exemple le plus classique de la transmission vidéo, si l'on veut garantir un débit de 25 images/s alors chaque tâche "affichage d'une image" à pour date limite d'exécution :

    date du début de l'application + nbr d'images ayant déjà été affichée * 40ms + 40 ms

    vi, mais temps réel c'est plutot associé a la gestion des processus, alors que la c'est plutot comment sont organisées les données sur le disque pour garantir le débit

    La encore, tu n'as pas tout à fait tort mais ca n'a rien de contradictoire avec la nécessisté de garantir des débits ou de facon générale de respecter les dates limites d'exécution. C'est meme directement lié. En fait dire que le temps réel est associé au gestionnaire de processus n'est pas très précis, il est plus précis de dire que l'ajout de contraintes temps réels à un système exige une modification de l'ordonnenceur (qui est la partie la plus importante du gestionnaire de processus). En effet quand plusieurs processus s'exécutent simultanément et que certains d'eux ont des dates limites d'exécution (deadline), c'est à l'ordonnanceur d'ordonnancer correctement les processus afin que les dates limites d'exécution soient respectées.



    Pour de plus amples informations sur le temps réel je vous conseille l'excellent site :

    http://www.real-time.org(...(...))

    créé par un chercheur E. Douglas Jensen, ayant fait ses études à Carnegie Mellon, ayant 30 ans d'expérience dans le domaine et ayant dirigé les spécifications temps réel de Java.