Exemple de système temps réel

Dans un système en temps réel, l`exactitude du comportement du système dépend non seulement des résultats logiques des calculs, mais aussi de l`instant physique auquel ces résultats sont produits. L`insertion d`une tâche nécessite alors la marche de la liste prête jusqu`à atteindre soit la fin de la liste, soit une tâche de priorité inférieure à celle de la tâche en cours d`insertion. Les programmes en temps réel doivent garantir la réponse dans des délais précis, souvent appelés «échéances». Dans la planification préemptive, la tâche en cours d`exécution sera préemptée à l`arrivée d`une tâche de priorité plus élevée. Ainsi, l`objectif d`un système en temps réel dur est de s`assurer que toutes les échéances sont remplies, mais pour les systèmes en temps réel souples, l`objectif devient de répondre à un certain sous-ensemble de délais afin d`optimiser certains critères spécifiques à l`application. Par conséquent, un tel serveur réseau ne serait pas considéré comme un système en temps réel: défaillances temporelles (retards, délais d`attente, etc.). Les facteurs clés d`un système d`exploitation en temps réel sont une latence d`interruption minimale et une latence minimale de commutation des threads; un système d`exploitation en temps réel est valorisé plus pour la rapidité ou la façon dont il peut réagir de façon prévisible que pour la quantité de travail qu`il peut effectuer dans un laps de temps donné. Par exemple, un système de commande de moteur de voiture est un système en temps réel dur parce qu`un signal retardé peut causer la défaillance du moteur ou des dommages. En général, cette méthode de protection est utilisée uniquement lorsque la section critique n`est que quelques instructions et ne contient pas de boucles. Sur les systèmes non préemptifs plus simples mais toujours multitâches, une tâche doit renoncer à son temps sur le CPU à d`autres tâches, ce qui peut entraîner la file d`attente prête à avoir un plus grand nombre de tâches globales dans l`état prêt à être exécuté (famine de ressource). Une autre raison d`éviter l`allocation de mémoire dynamique est la fragmentation de mémoire.

L`utilisation du processeur peut jusqu`à 100% avec EDF, même lorsque les périodes de travail ne sont pas des multiples de la plus petite période. Les SS implémentant l`architecture unifiée résolvent le problème en désactivant simplement les interruptions pendant que le catalogue interne est mis à jour. L`exactitude de ces types de systèmes dépend de leurs aspects temporels et de leurs aspects fonctionnels. La planification en temps réel dure peut être classifie globalement en deux types: statique et dynamique. Dans un système en temps réel dur, les performances de crête-charge doivent être prévisibles et ne doivent pas violer les échéances prédéfinies. L`allocation de mémoire est plus critique dans un système d`exploitation en temps réel que dans d`autres systèmes d`exploitation. La haute performance est indicative de la quantité de traitement qui est effectuée dans un laps de temps donné, tandis que le temps réel est la capacité de se faire avec le traitement pour donner une sortie utile dans le temps disponible. Les systèmes en temps réel durs ont de petits fichiers de données et des bases de données en temps réel. En informatique, l`informatique en temps réel (RTC), ou le calcul réactif décrit les systèmes matériels et logiciels soumis à une «contrainte en temps réel», par exemple de l`événement à la réponse du système.