Des développeurs dévoués de FreeRTOS ont travaillé en partenariat étroit avec les plus grandes sociétés de puces du monde depuis plus de 15 ans pour vous fournir desRTOS et des outils de haute qualité, de qualité commerciale et complètement gratuits……mais qu’est-ce qu’un RTOS?

Cette page commence par définir un système d’exploitation, puis l’affine pour définir un système d’exploitation en temps réel (RTOS), puis l’affine encore une fois pour définir un noyau en temps réel (ou exécutif en temps réel).

Voir aussi l’article de la FAQ « pourquoi un RTOS » pour des informations sur quand et pourquoi il peut être utile d’utiliser un RTOS dans votre conception logicielle de systèmes embarqués.

Qu’est-ce qu’un système d’exploitation général ?

Un système d’exploitation est un programme informatique qui prend en charge les fonctions de base d’un ordinateur et fournit des services à d’autres programmes (ou applications)qui s’exécutent sur l’ordinateur.Les applications fournissent la fonctionnalité que l’utilisateur de l’ordinateurveut ou a besoin. Les services fournis par le système d’exploitation rendent l’écriture des applications plus rapide, plus simple et plus facile à maintenir.Si vous lisez cette page web, alors vous utilisez un navigateur web (le programme d’application qui fournit la fonctionnalité qui vous intéresse), qui va lui-même s’exécuter dans un environnement fourni par un système d’exploitation.

Qu’est-ce qu’un RTOS ?

La plupart des systèmes d’exploitation semblent permettre à plusieurs programmes de s’exécuter en même temps. C’est ce qu’on appelle le multi-tâches. En réalité, chaque cœur de processeur ne peut exécuter qu’un seul fil d’exécution à un moment donné.Une partie du système d’exploitation appelée l’ordonnanceur est responsable de la décision de quel programme exécuter quand, et fournit l’illusion d’une exécution simultanée en passant rapidement d’un programme à l’autre.

Le type d’un système d’exploitation est défini par la façon dont l’ordonnanceur décide quel programme exécuter quand. Par exemple, l’ordonnanceur utilisé dans un système d’exploitation multi-utilisateurs (tel qu’Unix) veillera à ce que chaque utilisateur obtienne une part équitable du temps de traitement. Autre exemple, l’ordonnanceur d’un système d’exploitation de bureau (tel que Windows) essaie de s’assurer que l’ordinateur reste réactif à son utilisateur.

L’ordonnanceur d’un système d’exploitation en temps réel (RTOS) est conçu pour fournir un modèle d’exécution prévisible (normalement décrit comme déterministe).Ceci est particulièrement intéressant pour les systèmes embarqués car ces derniers ont souvent des exigences en temps réel. Une exigence en temps réel est une exigence qui spécifie que le système embarqué doit répondre à un certain événement dans un temps strictement défini (la date limite).Une garantie de respect des exigences en temps réel ne peut être faite que si le comportement de l’ordonnanceur du système d’exploitation peut être prédit (et est donc déterministe).

Les ordonnanceurs en temps réel traditionnels, tels que l’ordonnanceur utilisé dans FreeRTOS,atteignent le déterminisme en permettant à l’utilisateur d’attribuer une priorité à chaque fil d’exécution. L’ordonnanceur utilise alors la priorité pour savoir quel fil d’exécution doit être exécuté ensuite. Dans FreeRTOS, un fil d’exécution est appelé une tâche.

Qu’est-ce que FreeRTOS?

FreeRTOS est une classe de RTOS qui est conçue pour être assez petite pour fonctionner sur un microcontrôleur – bien que son utilisation ne soit pas limitée aux applications de microcontrôleur.

Un microcontrôleur est un petit processeur aux ressources limitées qui incorpore, sur une seule puce, le processeur lui-même, la mémoire morte (ROM ou Flash) pour contenir le programme à exécuter, et la mémoire vive (RAM) nécessaire aux programmes qu’il exécute. En général, le programme est exécuté directement à partir de la mémoire morte.

Les microcontrôleurs sont utilisés dans des applications profondément intégrées (ces applications où vous ne voyez jamais les processeurs eux-mêmes, ou le logiciel qu’ils exécutent) qui ont normalement un travail très spécifique et dédié à faire. Les contraintes de taille, et la nature de l’application finale dédiée, justifient rarement l’utilisation d’une implémentation complète de RTOS – ou même rendent possible l’utilisation d’une implémentation complète de RTOS.FreeRTOS fournit donc uniquement les fonctionnalités essentielles de programmation en temps réel, de communication inter-tâches, de synchronisation et de primitives de synchronisation. Cela signifie qu’il est plus précisément décrit comme un noyau en temps réel, ou un exécutif en temps réel. Des fonctionnalités supplémentaires, telles qu’une interface de console de commande, ou des piles de réseau, peuvent ensuite être incluses avec des composants complémentaires.

Suivant : Principes fondamentaux des RTOS

.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.