
# Systèmes d'exploitation et Programmation temps-réel

> Note :
> - 12 h de cours
> - 10 h de TP
>
> 1. Introduction
> 2. Système d'exploitation et temps réel
> 3. Interuptions de processus
> 4. Outils de synchronisation et de communication des taches
> 5. Gestion de la mémoire
> 6. Ordonancement et gestion des taches, ordonancement temps réel

# Introduction

Des domaines d'application :

- automatisme
	- avionique
	- robotique
	- villes intelligentes
	- armement

- multimédia
	- télécommunications
	- e-commerce
	- santé, implants
	- domotique

## Exemple d'une voiture moderne

- 30        calculateurs
- 100       capteurs
- 1 000 000 lignes de code

## Définitions

Un système embarqué
- dispositif matériel comportant des parties logicielles
- utilisé pour controler et agir sur son environnement
- observe les variations de son environnement grace à des capteurs et agir sur lui grace à des actionneurs

contraintes physiques peuvent s'appliquer :
- résistance à des températures extrêmes
- résistance aux champs magnétiques
- résistance aux vibrations

Les termes de système embarqué désignent aussi bien le matériel que le logiciel utilisé.
Pour concevoir un système embarqué, il faut généralement combiner des compétences en électronique, en informatique industrielle et en automatique.

Un système embarqué est un système informatisé spécialisé qui constitue une partie intégrante d'un système plus large ou une machine.
Typiquement, c'est un système sur un seul processeur et dont les programmes sont stockés en mémoire non volatile.

## Histoire

- Le premier système à être embarqué a été le système de guidage de la mission apolo en 1967.
- Le premier processeur spécialisé pour l'embarqué, le Intel 4004 est sorti en 1971.
- Le premier appareil commercial piloté par ordinateur était l'airbus A320 en 1984.
- Le premier métro autonome a été le métro de lile en 1983.
- L'émergeance des IoT en 1999.
- Premier smartphone tactile correctement commercialisé en 2007 (après philips).
- Premières attaques d'envergures par bot internet en 2016.

## Caractéristiques

- Encombrement de l'équipement (mémoire limitée pas de disque en général)
- Consommation d'énergie et autonomie (batterie)
- Mobilité
- Communication
- Contraintes de sécurité
- Contraintes de temps réel
- Ergonomie
- Impacts : éthiques et sociétaux
- coût de produits en relation avec le secteur cible

- intégration assive de composants embarqués répartis pour batir la société de l'information
	- téléphones cellulaires
	- tablettes
	- automobile
	- appareils médicaux
	- photo/vidéo/hifi
	- électroménager
	- avionique
	- spacial
	- jouets

- outils théorques pratiques our l'intégration permettantn de prendre en compte tous ces critères

- construire des systèmes de fonctionnalité et qualité déterminée et agarantie, à cout acceptable.


## Considérations

- Techniqeus :       conception conjointe
- économiques :      optimisation par rapport au marché, entre cout, qualité et spécialisation
- multi compétence : combinaison de compétences en logiciel, controle, réseaux, ingénierie en électronique, ihm, automatique, médecine, mécanique

## Problématiques

- Hétérogénéité : Construire des systèmes complexes par intégration de composants hétérogènes
- Complexité :    L'effort de développement augmente exonsentiellement avec le nombre de composantsi intégrés, d'où la nécessité de remplacer les méthodes de validation postérieure par des méthodes de validation incrémentale.
- Intelligence :  Moyen d'améliorer la qualité de systèmes : autodiagnostic, auto configuration, adaptabilité à l'environnement, évaluation des risques.
