Criticité mixte
# Criticité mixte

Un système à criticité mixte est un système informatique dont la particularité réside dans le fait qu’il se compose de fonctionnalités critiques et non-critiques . Ce type de système est typiquement soumis à de multiples procédures de certifications, qui ont pour objectif de valider la sûreté du système et la sécurité de ses utilisateurs. On retrouve typiquement ces systèmes informatiques déployés sur des plates-formes embarquées, par exemple dans des dispositifs aériens et automobiles.

Afin de maintenir un niveau de sécurité et de fiabilité suffisant pour le secteur d'activité, ces systèmes se basent sur des solutions logicielles ou matérielles et parfois sur des preuves formelles.

## Modèles de criticité mixte

### Système temps-réel

Un modèle retrouvé dans les systèmes à criticité mixte concerne la gestion des tâches dans un environnement temps-réel. Un système est défini comme un ensemble fini de composants K. Chaque composant a un niveau de criticité L, défini par le développeur du système. Ces composants sont appelés tâches. Chaque tâche $\tau$est définie par :

* Une période d’exécution P
* Une échéance E
* Un pire temps d’exécution C
* Un niveau de criticité L

Dans un système temps-réel, pour deux tâches $T_1$ et $T_{2,}$ La criticité est définie par :

$L1>L2\implies C1\geq C2$

$L1>L2\implies P1\leq P2$

$L1>L2\implies E1\geq E2$

## Isolation dans les systèmes à criticité mixte

### Noyau de séparation

Les noyaux de séparation sont des noyaux fournissant un service d'isolation spatiale et/ou temporelle en mettant en place des environnements (partition) séparés au point de vue mémoire, avec un fort contrôle des flux de données entre ces environnements.

### Partitionnement

Dans le domaine des systèmes embarqués critiques, le concept de partitionnement permet d'implémenter un environnement avec de fortes garanties de sécurité. Un système utilisant un mécanisme de partitionnement a comme propriété de confiner les erreurs ou pannes. Une erreur qui survient est isolée du reste du système afin d'éviter toute propagation.

On distingue deux types de partitionnements. Le partitionnement spatial (mémoire) ainsi que le partitionnement temporel (ordonnancement). Pour ce faire, des noyaux de séparation sont utilisés afin d'implémenter les mécanismes de partitionnement. Les composants gérés par ce type de système sont nommés partitions.

### Isolation spatiale

L'isolation spatiale garantit que chaque partition ne peut changer le code des autres partitions ou accéder à des données privées.

### Isolation temporelle

Dans un système temps-réel, l'isolation $temporelle^,$ garantit que :

* l'exécution d'une tâche n'affecte pas le comportement des autres tâches
* chaque tâche atteint ses objectifs d'exécution (délai, durée, échéance).
