next up previous contents
suivant: Description des outils monter: Développement d'un système d'exploitation précédent: Exemples d'applications   Table des matières

Conclusion

Expresso possède un noyau complètement préemptif qui peut gérer un maximum de 64 tâches avec des priorités uniques. Le noyau offre un système déterministe avec un ordonnanceur simple et efficace qui exécute en permanence la tâche de plus haute priorité exécutable. L'ensemble du système est configurable pour diminuer la taille de mémoire utilisée tant au niveau du code que des données.

Deux mécanismes de communication entre tâches sont disponibles. Les sémaphores avec les primitives habituelles "wait" et "signal", l'opération "wait" peut être assortie d'un délai maximum pour faciliter le respect de certaines contraintes. Les files de messages permettent d'envoyer et de recevoir des messages dans une zone de mémoire partagée, les opérations de reception peuvent aussi être assorties d'un délai maximum.

Une tâche peut se temporiser durant un certain délai, donné en battements d'horloge ou en secondes. Lorsqu'une tâche est temporisée, elle est mise en attente et d'autres tâches de priorité plus basses peuvent s'exécuter. L'interruption d'horloge est déclenchée toutes les 100 ms mais il est possible de modifier cette valeur et de configurer la fréquence de cette interruption.

Le système d'exploitation est portable sur différents types d'architecture. La partie dépendante du matériel est organisée en trois parties qui permettent de facilement porter Expresso sur différents processeurs d'une même architecture ou sur des machines différentes utilisant le même processeur. Pour l'instant, Expresso est disponible pour l'architecture Motorola 68000 sans unité de gestion de mémoire dans trois versions de processeurs et sur trois modèles de Palm. La seule exigence point de vue matériel est de disposer d'une pile adressable et de pouvoir effectuer le changement de contexte entre deux tâches. Cette exigence est remplie par la majorité des processeurs actuels.

Dans le développement d'application temps-réel, les interruptions jouent un rôle fondamental car elles permettent de réagir très rapidement à certains évènements. Expresso a mis en oeuvre un mécanisme de gestion d'interruptions évolué qui permet à l'utilisateur de créer, installer, supprimer, activer et désactiver des routines d'interruptions très facilement et sans avoir besoin de travailler en assembleur ni se soucier de la sauvegarde des registres, etc. Il est toujours possible pour des opérations très critiques de créer une routine très efficace, sans utiliser l'interface fournie par Expresso.

Le Palm offre tout une série de périphériques de communication. Expresso permet d'utiliser certains de ces périphériques. Il est possible d'écrire des caractères et de dessiner sur l'écran LCD, un mode console est aussi prévu pour simplier l'affichage de message à l'écran. Expresso permet aussi d'utiliser le port série du Palm (UART) et l'écran tactile (digitizer).

Le système d'exploitation temps-réel Expresso associé à un Palm fournit un environnement fiable, mobile et à un coût très intéressant qui permet la réalisation d'applications temps-réels avec une machine de la taille d'un paquet de cigarette. Ce duo permet d'envisager une multitude d'applications pour l'industrie et la recherche scientifique.


next up previous contents
suivant: Description des outils monter: Développement d'un système d'exploitation précédent: Exemples d'applications   Table des matières
Fabian Skivee 2002-06-04