Un système d`exploitation temps réel

publicité
Microware 0S-9
Un système d'exploitation
Un système d'exploitation, (en anglais operating system, abrégé OS), est l'ensemble de
programmes central d'un appareil informatique qui effectue les opérations de manipulation du
matériel. Il sert à coordonner, optimiser et uniformiser l'utilisation du matériel informatique
par les logiciels applicatifs.
Intermédiaire entre les logiciels applicatifs et le matériel, le système d'exploitation effectue de
nombreuses opérations au service des logiciels applicatifs et offre ainsi une manière unifiée
d'exploiter les périphériques de l'ordinateur par l'intermédiaire d'interfaces de programmation
banalisées.
Un système d'exploitation sert à coordonner l'utilisation du ou des processeur(s), et accorder
un certain temps pour l'exécution de chaque processus ; à réserver de l'espace dans les
mémoires pour les besoins des programmes et à organiser le contenu des disque durs ou
d'autres mémoires de masse en fichiers et répertoires.
Les systèmes d'exploitation sont présents dans tous les types d'appareil informatique :
ordinateur, assistant personnel, ainsi que console de jeu, téléphone portable ou GPS.
Un système d'exploitation est conçu pour fonctionner avec une gamme particulière de
machines (type de processeur, constructeur, architecture). Si un système d'exploitation est
disponible pour plusieurs gammes machines différentes, alors le même code source est
compilé et adapté à chaque gamme de machines. La liste exacte des machines sur lesquelles il
peut être utilisé dépend aussi de la palette des pilotes inclus dans le système d'exploitation.
Selon sa construction, un système d'exploitation peut être multi-tâches ou alors mono-tâche,
multi-utilisateurs ou alors mono-utilisateur, il peut aussi être multiprocesseurs et/ou en temps
réel.

Un OS est dit multi-tâches quand il permet l'exécution simultanée de plusieurs
programmes. Les premiers systèmes d'exploitation multi-tâches sont apparus dans les
années 1960, et tous les systèmes d'exploitation contemporains sont multi-tâches.

Il est dit multi-utilisateurs quand il est conçu pour être utilisé simultanément par
plusieurs usagers, souvent à travers un réseau informatique. De tels systèmes
d'exploitation sont typiquement utilisés pour des serveurs ainsi que des mainframes ou
des superordinateurs. Ils sont multi-tâches et en général sécurisés, c'est-à-dire qu'il
vont refuser d'exécuter toute opération pour laquelle l'usager n'a pas préalablement
reçu une permission.

Il est dit multi-processeurs quand il est conçu pour exploiter un ordinateur équipé de
plusieurs processeurs. Dans de tels systèmes d'exploitation, plusieurs programmes sont
exécutés simultanément par les différents processeurs.
1
Microware 0S-9

Il est dit temps réel quand il garantit que les opérations seront effectuées en respectant
des délais très stricts, et ce quelles que soient les conditions d'utilisation. De tels
systèmes d'exploitation sont utilisés dans l'industrie, l'aéronautique ou l'électronique
grand public pour créer des systèmes temps réel.

Les systèmes embarqués sont des systèmes d'exploitation prévus pour fonctionner sur
des machines de petite taille, possédant une autonomie réduite. Ainsi, une
caractéristique essentielle des systèmes embarqués est leur gestion avancée de
l'énergie et leur capacité à fonctionner avec des ressources limitées.
Un système d'exploitation temps réel
Un système d'exploitation temps réel (RTOS) est un système d'exploitation multitâche destiné
aux applications temps réel. Ces applications comprennent les systèmes embarqués
Un RTOS facilite la création d'un système temps réel, mais ne garantit pas que le résultat final
respecte les contraintes temps réel, ce qui exige le développement correct du logiciel. Un
RTOS n'a pas nécessairement pour but d'être performant et rapide, mais un RTOS fournit des
services et des primitives qui, si elles sont utilisées correctement, peuvent garantir les délais
souhaités. Un RTOS utilise des ordonnanceurs spécialisées afin de fournir aux développeurs
des systèmes temps réel les outils et les primitives nécessaires pour produire un comportement
temps réel souhaité dans le système final.
Temps réel strict/souple
On distingue deux types de temps réel suivant l'importance accordée aux contraintes
temporelles:


le temps réel strict ou dur (hard real-time) : ne tolère aucun dépassement de ces
contraintes, ce qui est souvent le cas lorsque de tels dépassements peuvent conduire à
des situations critiques, voire catastrophiques. Donc un système temps réel strict doit
respecter des limites temporelles données même dans la pire des situations d'exécution
possibles (pilote automatique d'avion, système de surveillance de centrale nucléaire,
matériel médical, etc).
et le temps réel souple ou mou (soft real-time) : s'accommode de dépassements des
contraintes temporelles dans certaines limites au-delà desquelles le système devient
inutilisable. Donc un système temps réel souple doit respecter ses limites pour une
moyenne de ses exécutions. On tolère un dépassement exceptionnel, qui sera peut-être
rattrapé à l'exécution suivante (visioconférence, jeux en réseau, etc).
2
Microware 0S-9
Introduction aux systèmes embarqués
Les systèmes embarqués recouvrent une multitude d'applications, allant de microcontrôleurs
simples aux plus sophistiqués des systèmes d'imagerie médicale et des applications
industrielles complexes (sondes spatiales, robot, PDA, ordinateur de bord de véhicule, etc.).
Au cœur de toutes ces différentes applications, un système d'exploitation (OS) est le socle
logiciel qui fournit un ensemble de services aidant les développeurs de logiciels pour livrer
leurs produits sur le marché plus rapidement et avec des performances optimales.
Macroware OS-9
OS-9 est un système d'exploitation multitâches, multi-utilisateurs similaire à Unix (Unix-like).
Pourtant à la différence de ce dernier, OS-9 est un système temps réel, compact et modulaire.
OS-9 est de part sa modularité et sa compacité un système d'exploitation embarqué. C'est à
dire qu'il est possible d'intégrer ce système d'exploitation dans un ensemble autonome sans
mémoire de masse.
Le système d'exploitation Microware OS-9 (de RadiSys) : la haute performance et haute
disponibilité en temps réel; est déployé et éprouvé dans des milliers de produits dans le monde
et représente des centaines d'applications embarquées dans les domaines d’automatisation et
contrôle industriels, d’automobile et de l'instrumentation médicale.
NB : Ne pas confondre avec Mac OS 9.
Origine de OS-9
Microware OS-9 est né en 1980 et a été conçu à l'origine pour le processeur Motorola 6809.
OS-9 s'exécute maintenant sur une multitude de plates-formes allant du processeur Motorola
68k au processeur PowerPC en passant par la gamme des processeurs Intel.
Processeur Motorola 6809
3
Microware 0S-9
Microware Systems Corporation est la société ayant produit le système d'exploitation OS-9.
Microware Systems Corporation a existé de 1977 jusqu'en septembre 2001, moment où la
société fut rachetée par RadiSys Corporation et devint une division de cette compagnie.
Caractéristiques principales d'OS-9
Temps réel strict (Hard Real-Time)
Contrairement à Windows et quelques Linux basiques (se règle à la compilation), Microware OS-9 a
été conçu dès le départ pour répondre aux exigences de hautes performances et à la fiabilité du tempscritique des applications embarquées, en respectant des limites temporelles données même dans les
pires situations d'exécution possibles.
Économe en ressources
OS-9 offre un excellent rendement même dans les environnements les plus restreintes. OS-9 et les
applications utilisateurs peuvent s’exécuter complètement en dehors de la mémoire (ROM / Flash),
laissant la RAM dédiée aux systèmes d'exploitation (ou aux autres programmes).
Les modules sont réentrants. Il faut comprendre par là, que les modules peuvent être partagés
par plusieurs processus. Ce qui permet une grande compacité car le code exécutable du
module n'est présent qu'une seule fois en mémoire, en plus de cela les processus partageant le
code requièrent seulement des exemplaires d’espace de données (la pile, les descripteurs de processus,
et d'autres structures du système).
Architecture modulaire scalable
L'architecture modulaire (c'est à dire qu'il est architecturé en modules mémoire) de OS-9, lui
permet la configuration dynamique des changements et lui offre des améliorations afin de répondre
aux nouvelles exigences du système (sans redémarrage).
Les applications de OS-9 sont écrites comme des modules autonomes, et ne sont pas liés dans une
seule base de code monolithique avec le noyau.
Virtuellement, n'importe quel module de l’OS-9 peut être ajouté, supprimé ou mis à jour soit au
démarrage du système ou lorsque le système est en marche. Cela signifie que de nouvelles
fonctionnalités peuvent être ajoutées facilement, en temps réel, et même après le déploiement sur le
terrain.
Fiabilité et sécurité
L’esprit de la conception de OS-9 a été : la fiabilité, la sécurité et la sûreté. Contrairement aux
4
Microware 0S-9
architectures monolithiques, l'architecture modulaire avancée de OS-9 offre un niveau de sécurité
optimal, ce qui est privilégié pour les environnements en réseau d'aujourd'hui.
Multi-coeurs et virtualisation
Couplé à “Microware Hypervisor virtualization technology“, l'OS-9 offre une flexibilité architecturale
jamais égalée. En effet, la plate-forme de virtualisation supporte un nombre illimité de processeurs /
hyper-threads, ce qui en fait de lui (OS-9) le choix approprié pour les architectures multi-processeurs.
Pour les clients qui cherchent à :
*réduire les coûts de propriété, de la réutilisation des applications et des outils de développement,
*consolider leurs OSs à temps réel, et leurs applications sur la même plateforme virtuelle,
*optimiser les performances et améliorer la fiabilité du système,
OS-9 est la meilleure solution.
Des services étendus et des intergiciels
L’architecture étendue de OS-9 pour les I/O, prend en charge un large éventail de dispositifs et leur
mise sous réseau (avec des gestionnaires de fichiers et pilotes de périphériques), procurant un lot de
services laissant aux clients plus de temps pour innover et à différencier leurs produits.
Compatibilité avec Unix
OS-9 est un système compatible avec Unix, au niveau du code. C'est à dire qu'un programme
écrit en langage C, pourra être compilé sur l'un ou l'autre de ces systèmes. Il est par contre
indispensable dans ce cas, d'accéder aux ressources par l'intermédiaire du système
d'exploitation et de se limiter à l'emploi des bibliothèques de fonctions standardisées.
Ce qui fait sa force
En plus de ces caractéristiques (citées ci-dessus) :












L’ordonnanceur est très sensible aux interruptions et aux événements extérieurs et assure la
réaction du système en temps réel.
La tolérance aux pannes avec la gestion des exceptions.
L’architecture basique d’un processus peut être vue comme un ensemble illimité de threads
fils.
Les IPCS communications inter-processus: signaux, événements, sémaphores, pipes et les
modules de données (boite aux lettres, file de messages…).
Préemptif, basé sur les priorités dynamiques
Les tâches sont réparties en classes, chaque classe regroupe les processus de même priorité.
La priorité d’une tâche peut être changée dynamiquement.
POSIX threads permet la portabilité de l’environnement OS-9.
Allocation dynamique de ressources aux processus privilégiés
Bibliothèques partagées, système de fichiers hiérarchique
Peut travailler sans mémoire de masse, le module système restant alors dans la RAM
Pas d'accès direct au matériel
5
Microware 0S-9



Le noyau du système ainsi que tous les modules d'entrée-sortie sont écrits en langage
assembleur, gage de rapidité.
De plus l'intégrité des modules est vérifié, à l'aide de CRC conférant à OS-9 une
grande sécurité.
Enfin, du fait de sa modularité, OS-9 est un système évolutif, pouvant s'adapter à une
multitude de processeur et d'architecture.
L’ordonnancement des tâches :
Le multitâche permet à plusieurs programmes indépendants, appelés processus ou tâches de
s'exécuter "simultanément".
Cela est rendu possible par le partage de la ressource processeur dans le temps. OS-9 organise
cette répartition en utilisant une file d'attente des tâches actives, organisée suivant un niveau
de priorité.
Priorités dynamiques
En passant du temps dans la file d'attente active, l’“Age“ (vieillissement) augmente
artificiellement la priorité effective des threads. Les niveaux de priorité peuvent être divisés
en classes prenant en compte l’ “âge“ des processus et leurs
priorités utilisant
l’ordonnancement strict des priorités.
La priorité d'un processus à un instant donné répond à l'équation suivante :
Priorité = Priorité Initiale + Age
La préemption
Le processeur est interrompu régulièrement par une horloge temps réel et détermine s'il faut
commuter les tâches ou non.
Si le processus en cours a une priorité inférieure au processus qui arrive en début de la file
d'attente, il y a commutation de tâches. Le processus interrompu est réintégrer dans la file
d'attente avec sa priorité initiale.
Si le processus en cours a une priorité supérieure ou égale au processus qui arrive en début de
la file d'attente, la priorité des tâches de la file est incrémentée, et le processus continue son
exécution.
Ce principe de file de tâches pose pourtant quelques problèmes :
Tout d'abord, ce mécanisme est antagoniste au temps réel, en effet, le temps de réponse à un
événement dépend de la place du processus qui l'a déclenché qu'occupe dans la file d'attente.
6
Microware 0S-9
Ce qui amène à se poser la question suivante : Comment gérer les événements asynchrones,
comme les interruptions ?
Le temps réel
Pour gérer les événements asynchrones prioritaires, les exceptions, OS-9 utilisent le
mécanisme de préemption.
Chaque processus peut accéder à n'importe quelle ressource du système par l'émission de la
requête “demande de service“ appropriée à l'OS-9.
C'est à dire que : à chaque point de scheduling (d’ordonnancement), le système définit un
seuil de priorité au-dessus duquel la tâche devient préemptive. En désignant par Pe la priorité
de l'événement, S le seuil de préemption et Pt la priorité du processus en cours.
On a l'algorithme suivant :
Principe de l’ordonnancement (avec préemption)
L'ordonnancement Round Robin permet de répartir le temps processeur entre les processus
préemptifs. Chacun de ces processus se voit allouer le même quantum temps à tour de rôle.
Exemple : Pour fixer les idées, le temps de commutation est de 55 µs auquel on ajoute 1,5 µs
par processus présent dans la file d'attente, le temps de préemption est de 11 µs, pour un
système à base de processeur 68020 cadencé à 20MHz.
Les états d’un processus
Durant la durée d’exécution d’un processus (à partir du moment où il demande la ressource
processeur jusqu’à sa fin d’exécution effective), il peut se retrouver dans l’un de ces
états (dans des files d’attente) suivants:
7
Microware 0S-9
Les états d’un processus
Communication entre tâches
Le multitâche permet donc de répartir le temps processeur entre plusieurs processus. Mais ce
multitâche ne sert à rien si il n'est pas possible de faire communiquer ces différents processus
entre eux. Pour ce faire OS-9 utilise suivant les besoins du programmeur :




Les modules de données.
Les signaux.
Les pipes.
Les disques magnétiques ou virtuels.
Les modules de données sont des blocs de mémoire partageables entre plusieurs processus. Ils
permettent un accès très rapide aux données, il doit être géré par le programmeur à l'aide de
variables événements. Les modules de données permettent l’exécution et la communication en
temps réel.
Les signaux permettent une transmission rapide d'une faible quantité d'information (un mot
maximum). Leur gestion est assurée par OS-9.
Les pipes sont des zones de mémoires gérées par OS-9 sous formes de structures FIFO (First
In First Out) où l'on stocke les informations à transmettre.
Les disques, quant à eux permettent de transmettre une grande quantité d'information. Les
disques virtuels sont des zones de mémoire vive gérées de la même façon qu'un disque
magnétique. Ce qui permet de transmettre une grande quantité d'information en améliorant la
vitesse. Les disques magnétiques permettent de plus de pérenniser les informations.
8
Microware 0S-9
Architecture des modules mémoires
OS-9 tourne plus vite par rapport aux systèmes d'exploitation micro-noyau, et offre un niveau
accru de sécurité, par rapport à des architectures monolithiques.
OS-9 utilise une structure modulaire avancée de logiciels qui crée un équilibre optimal entre
la vitesse et la protection des systèmes embarqués et des applications.
Tous les modules et composants qui constituent l’OS-9 (y compris le noyau, les gestionnaires
de fichiers, les pilotes et applications), sont stockés sous forme de modules mémoires
logiques, chacun est un programme autonome composé de la tête du module, le corps du
module, et un contrôle de redondance cyclique (CRC) de valeurs. Ces composants logiciels
logiques sont faciles à créer et à gérer, tout en assurant une haute disponibilité de la plateforme de OS-9.
Les modules mémoire de OS-9
Les modules sont réentrants. Il faut comprendre par là, que les modules peuvent être partagés
par plusieurs processus. Ce qui permet une grande compacité car le code exécutable du
module n'est présent qu'une seule fois en mémoire.
9
Microware 0S-9
Gestion de l’accès aux ressources
Le noyau temps réel de l’OS-9 permet l’exécution simultanée de plusieurs applications
indépendantes afin de s’échanger les tâches et ressources, à travers les moyens de
communication inter-processus (IPCs).
Les processus partagent la mémoire, bus E / S et d'autres ressources, et pour éviter des
incohérences et des problèmes qui peuvent être survenir du fait de cette utilisation partagée ;
Microware OS-9 prend en charge trois stratégies d’accès aux ressources:
1. Utilisateur/Etat du système: des restrictions imposées, laissent le système d'exploitation
demander dans les limites du processeur.
2. Les limites du processus: chaque processus accède aux ressources avec l’autorisation du
système d'exploitation.
OS-9 empêche les processus «sans autorisation appropriée» d’accéder aux ressources des
autres processus.
Si le système dispose d’une unité de gestion mémoire (MMU), il la laisse faire appliquer les
règles d'accès mémoire. S'il n'ya pas de MMU, OS-9 apporte applique lui-même ses règles de
protection de la mémoire.
3. / User groupe de protection: chaque processus, chaque module, et (pour la plupart des
fichiers systèmes) chaque fichier a un propriétaire associé. OS-9 utilise la notion de propriété
et des autorisations pour gérer les accès aux ressources.
Les niveaux des stratégies appliquées
pour la gestion des accès aux ressources
10
Microware 0S-9
Architecture logicielle d'OS-9
L'architecture d'OS-9 est organisée en plusieurs niveaux. Comme le montre la figure suivante,
elle peut se décomposer en 4 niveaux, constitué chacun d'un ou de plusieurs modules
mémoire.
Architecture logicielle du système OS-9
Au niveau 1, on trouve le noyau exécutif (kernel), chargé d'exécuter les fonctions propres au
système, comme la commutation de tâches ou l'allocation mémoire.
On y trouve aussi, le module clock spécifique au circuit horloge temps réel utilisé, chargé de
découper le temps en tranches (ticks) afin de cadencer la commutation de tâches.
Enfin, on trouve le module de donnée Init qui est une table de paramètres sollicitée par le
noyau durant le démarrage.
A ces trois modules indispensables, peuvent s'ajouter des modules de fonctions nécessaires à
une application spécifique. Ces modules de fonctions, ou librairies, sont très optimisés
puisqu'ils font partie du système, et permettent de répondre à une multitudes de besoins. Par
exemple, on pourra intégrer à ce niveau une librairie chargée de piloter un coprocesseur
mathématique effectuant les calculs sur les nombres en virgule flottante.
Au niveau 2, on trouve les gestionnaires de fichiers (files manager), chargés de traiter un type
particulier de transfert. On trouve par exemple un gestionnaire de fichiers orienté vers le
transfert de caractères (eg. Sequential Character File manager) et un autre orienté vers le
transfert de blocs de caractères (eg. Random Block File manager).
Au niveau 3, on trouve les gestionnaires de circuits (device manager), spécifiques à un type
de circuits intégrés donné (eg. Acia 6850). Comme tout les autres modules exécutables, ces
11
Microware 0S-9
gestionnaires sont réentrants, ainsi, pour un type de circuit donné, un seul de ces gestionnaires
est présent en mémoire, quelque soit le nombre de circuits physiquement présents.
Niveau 4, Les descripteurs des périphériques, petites tables de paramètres associés à chaque
port du système. Il y a autant de descripteurs qu'il y a de circuits présents physiquement.
Cette architecture peut paraître lourde et complexe, mais elle permet au programmeur et plus
généralement à l'utilisateur de s'affranchir de la configuration matérielle du système.
Quelques outils associés à Microware OS-9
OS-9 intègre des modules et des fonctionnalités pour le développement embarqué et pour les
environnements temps réel.
Microware OS-9 Board Level solution (BLS) : est une collection logicielle complète pour
créer, compiler (Ultra compilateur C/C++), déboguer (débogueur au niveau source C/C++) et
déployer des applications embarquées ; et comprend une vaste bibliothèque de solutions pour
l’optimisation de l’OS sur toutes les architectures.
Software Framework : le logiciel fournit une haute optimisation pour le compilateur C/C++,
un environnement de développement entièrement personnalisable, CodeWright éditeur de
fenêtres, des outils de débogage graphique, gestionnaire de projets, et les bibliothèques
d’intergiciels et de solutions.
Multimedia Application User Interface : l'OS-9 MAUI, est une suite multimédia (avec
MFM gestionnaire de fichiers), facilitant l'intégration de contrôle multimédia de vidéo, audio,
clavier et souris dans n'importe quelle application.
Microware Hawk : fournit un environnement de développement entièrement
personnalisable, et garantit une haute optimisation du compilateur C/C++, des outils de
débogage graphique, et des bibliothèques de intergiciels et de solutions.
HawkEye : analyseur logiciel (GUI) de visualiser le fonctionnement d’un OS-9 et des
modules d'application.
XiBaseGUI : outil graphique permettant la création de dispositifs d'affichage, d’interfaces
utilisateur et d’écrans tactiles.
IPsec : logiciel d'authentification et de cryptage pour la sécurisation des communications IP.
EtherCAT : temps réel, Ethernet haute performance à base des bus du système.
CANbus : contrôle-réseau pour les systèmes industriels et automobiles.
12
Microware 0S-9
Modbus : bus de communication série pour le contrôle industriel et d'automatisation.
Reliance File System : fichier de données pour la protection des missions des systèmes
embarqués critiques.
Microware hypervisor : l’hyperviseur temps réel permet plusieurs instances simultanées de
temps réel, sur des plateformes multi-core.
TECH-CHECK Diagnostic Platform :
*Outil unique pour un support client en ligne en temps réel
*Capture/envoie des cibles et fait des rapports d'informations au système hôte.
Gestion d’exception personnalisable : contient, et nettoie le système après délinquance
(disfonctionnement) logiciels.
Assistant de configuration : le menu système automatise le démarrage du système
d'exploitation pour construire des plates-formes de référence prises en charge:
*GUI “Graphical User Interface“ de configuration est construit en fonction des images du
système ;
*Pointer-cliquer pour contrôler la mise en réseau, configuration du TCP / IP, les graphiques et
le débogage ;
*Création automatique d'images logicielles pour le système cible.
Le tableau suivant donne la taille mémoire occupée par les modules d'OS-9. Dans la pratique,
on peut arriver à embarquer OS-9 dans 32 Ko de mémoire
Types de modules
Taille
Noyau
13,0 Ko
Gestionnaire de fichiers caractères
1,5 Ko
Gestionnaire de circuits Acia
1,3 Ko
Descripteur de périph.
0,1 Ko
Taille minimale du système.
15,9 Ko
Gestionnaire de fichiers disques
5,4 Ko
Gestionnaire de circuits disquettes
1,1 Ko
Gestionnaire de circuits disques durs 1,2 Ko
Gestionnaire de circuits pipes
1,8 Ko
Shell interpréteur
15,0 Ko
Tailles des modules d'OS-9
13
Microware 0S-9
Les services et extensions de OS-9
Au cœur du noyau de Microware OS-9, on y trouve une impressionnante collection de
services, d’extensions et d’APIs standard, qui supportent pratiquement toutes les catégories de
périphériques pour les systèmes embarqués.
Voici la liste des extensions prises en charge :
* I/O Série/Parallèle
* USB 1.1/2.0
* Flash microSD
* Disque dure I/O (SATA, SCSI, IDE)
* PCMCIA I/O, PCI I/O, PCI Express, PCIX, Compact PCI
* TCP/UDP/IPv4/v6
* SLIP et PPP client support
* NFS Server et Client
* Exemples de pilotes et de structures
* Quelques images de démarrage finies portées pour le(s) plateforme de référence (s)
Connectivité du système avec ses outils et extensions
14
Microware 0S-9
Normalisation
Les versions actuelles du système d’exploitation Microware OS-9 sont compatibles avec la
norme POSIX. IEEE 1003.
Le système d’exploitation de la fameuse Microware (OS-9) est compatible Unix, du fait qu’il
est un système Unix-like.
OS-9 est-il libre, open-source, payant?
Microware OS-9 est un logiciel propriétaire (non libre ou privateur) de Microware Systems
Corporation (de 1980 à septembre 2001) puis de RadiSys Corporation depuis.
(Et de même pour la documentation technique officielle de OS-9).
Les versions de l’os-9
Le tableau suivant représente les dernières versions de OS-9 pour chaque architecture.
Product
OS-9 for 68K
Version Paru en
1.3
Février 2006
OS-9 for MIPS32
3.1
Novembre 2001
OS-9 for MIPS64
4.4
Septembre 2004
OS-9 for MIPS3000
OS-9 for PowerPC
OS-9 for SH-3
OS-9 for SH-4
OS-9 for SH-4A
OS-9 for StrongARM
OS-9 for x86
OS-9 for XScale
4.4.1
Octobre2004
4.8
Juin 2007
4.7.2
Mai 2007
4.7.1
Août 2006
4.7.1
Août 2006
4.8
Juin 2007
4.9
Février 2008
4.3.1
Avril 2004
15
Microware 0S-9
Plates-formes matérielles et Familles de processeurs
Le système d'exploitation Microware OS-9 offre l’option “out-of-the-box“1 pour supporter une vaste
gamme de leader d’architectures et de processeurs:
Intel x86/Pentium
CompactMAX CPU7.2
MEN F17
RadiSys Procelerant CE915GMA
RadiSys Procelerant CE945GM2A
RadiSys Procelerant CE3100
RadiSys Procelerant CEGM45
RadiSys Procelerant Z500
RadiSys Endura TP945GM
Majority of single/multi-core x86 CPU-based
embedded boards
PowerPC
AMCC 403GAEVB / 405GPEVB
AMCC440EPx
AMCC440GX
MicroSys MPX8548
MicroSys CPU87
MicroSys MPX5200
MicroSys MPX8349
MicroSys PM520
MicroSys PM827
Emerson MVME2100
Emerson MVME2300
Emerson MVME2400
Emerson MVME2600
Emerson MVME2700
Emerson MVME3600
Emerson MVME3100 series
Emerson MVME5100 series
Emerson MVME5500 series
Emerson MVME6100 series
Freescale MPC5554
Freescale MPC5553EVB
Freescale MPC555 / 565
Freescale MBX8xxx
Freescale 8xxFADS
Freescale RPXL850SR
Kontron VMP1
Kontron VMP2
Kontron VMP3
Kontron E2Brain EB8245
N.A.T. NAMC8560
TQM85XX
TQM5200
TEWS TVME8240
MVME4100
ARM/StrongARM
ADS Graphics Client
ADS Grahpics Master
ADS Graphics Master (64MB)
ADS Thin Client
ARM PID7T
Cirrus Logic CDB89712
Cirrus Logic EP7212
Intel Assabet / Neponset
Intel SideARM / Sidekick
SuperH
Hitachi SH7709
Hitachi SH7709ASE
Hitachi SH7750SE
Hitachi SH7780SE
MIPS
IDT 79EB355
IDT 79S334
MIPS Atlas
Toshiba JMR TX3927
Toshiba TX4927
Toshiba TX4937
XScale
IXP425
RadiSys EXS-6424
PXA255
PXA270
Keith&Koep Trizeps4
Motorola
MVME162
MVME167
MVME172
MVME177
Freescale ColdFire
MCF5475 EVB
MCF5485 EVB
1
En français: “hors-de-la-boîte“ l'expression est souvent employée dans le domaine des logiciels, et se sont
ceux qui ne nécessitent aucune installation supplémentaire, ni de plug-ins, ni d'extensions ni d’autres produits.
Tout ce qui est rapidement utilisable, sans aucune interruption de longues démarches d'initialisation.
16
Microware 0S-9
Domaines d’utilisation
Aujourd’hui, les systèmes embarqués recouvrent une multitude d'applications, allant de
microcontrôleurs simples aux plus sophistiqués des systèmes d'imagerie médicale à des
applications complexes industrielles. Et c’est le cas de OS-9.
Grâce à sa haute performance, haute disponibilité en temps réel, et du fait de sa modularité,
Le système d'exploitation Microware OS-9 est un système évolutif, pouvant s'adapter à une
multitude de processeur et d'architecture matérielles 16, 32 et 64 bits (allant du processeur
Motorola 68k au processeur PowerPC en passant par la gamme des processeurs Intel).
OS-9 est déployé et éprouvé dans des milliers de produits dans le monde et représente des
centaines d'applications embarquées (automatisation industrielle, contrôle automobile et
instrumentation médicale):
* La première utilisation de Microware OS-9 était en 1980, dans le processeur Motorola 6809
auquel il est conçu.
*OS-9 est le système qui a été retenu par Sony et Philips pour gérer leur lecteur CD-I.
Le processeur Motorola 6809
Le lecteur CD-I (Philips)
*Système de la télévision DAVID (Digital Audio Video Interactive Decoder) aux Etats-Unis
et en Europe.
* Systèmes embarqués implantés dans les tableaux de bord automobiles, thermostats
programmables, contrôleurs électroménagers, téléphones cellulaires mobiles, PDAs
(Personnal Digital Assistants), pagers, set-top-boxes, communicateurs Internet (filaire et sans
fil), robots industriels, vaisseaux spatiaux, contrôleur des commandes des systèmes
industriels, et matériel de recherche scientifique, etc.
Avenir de OS-9
L’avenir de OS-9 le destine a être intégré au cœur des processeurs Motorola grâce à une
coopération technique et financière entre cette société et Microware. Mais ce n'est pas le seul
domaine d'expansion, Microware est partenaire de General Instruments pour le
développement de la télévision interactive aux États Unis, dans les domaines de la
décompression vidéo MPEG-2 et les interfaces graphiques, et autres.
17
Microware 0S-9
Conclusion
C’est quoi Microware OS-9?
OS-9 est un système d'exploitation :
Multi-tâches.
Multi-utilisateurs
Noyau à temps réel.
Compact et modulaire, embarqué.
Sûr et évolutif.
Pourquoi Microware OS-9?
Déterministe - Efficace - Adaptable - Démarrage rapide
Microware OS-9 est compact, il est une collection de fonctionnalités systèmes composée du
noyau OS, des services du noyau, de l'Industrie des API standards, des intergiciels, et d'un
IDE “Integrated Development Environment“ complet, permettant aux développeurs de
concevoir leurs applications et appareils en toutes précisions et performances, dans des délais
raisonnables.
Où va OS-9?
Son avenir le destine a être intégré au coeur d’un grand nombre de processeurs Motorola
grâce à une coopération technique et financière entre cette société et Microware. Mais ce n'est
pas le seul domaine d'expansion, Microware est partenaire de General Instruments pour le
développement de la télévision interactive (DAVID) aux États-Unis et en Europe, dans les
domaines de la décompression vidéo MPEG-2 et les interfaces graphiques ; et dans beaucoup
d’autres projets.
18
Microware 0S-9
Références





http://www.radisys.com
http://www.arm.com/
http://www.microware.com/
http://os9archive.rtsi.com/
http://membres.lycos.fr/os9/
Et voici une liste de livres disponibles traitant OS-9 (format papier, donc payants) :

OS-9 Insights (3.0 Edition)
Auteur: Peter Dibble
ISBN 0-981035-05-8
Disponible auprès de Microware Systems Corporation

OS-9 Guru 1: The Facts
Auteur: Paul S. Dayan
ISBN 0-9819228-0-7
Disponible auprès de Galactic Industrial

The OS-9 Catalog

OS-9 Primer
Auteur: Mark A. Heilpern
ISBN 0-918035-04-X
Disponible auprès de Microware Systems Corporation
Note
J’ai voulu bien :
 Détailler beaucoup plus dans l’étude du : noyau, tâches (création, opérations…),
routines d’interruption, gestion des ressources(avec les différentes variantes) et
gestion des communications (utilisation des IPCs…), mais les documents que j’ai
consultés sont moindres et pas bien clairs (il y a même des fois des contradictions
entre les concepts) “pour moi“.
 Faire une démonstration d’un exemple d’application (code, exécution…), et expliquer
la démarche d’installation et la configuration de l’OS, mais le fait que Macroware
OS-9 (logiciel et documentation technique) est payant, j’ai pas pu me permettre.
19
Téléchargement