WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Les systèmes embarqués

( Télécharger le fichier original )
par Ramzi BOULKROUNE
Université de Annaba - Ingénieur d'état en électronique option télécommunication 2009
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

II.7.2. Le ciblage logiciel en général :

Dans ce travail nous présentons un flot de ciblage avec génération de système d'exploitation. Dans cette section nous nous intéresserons au ciblage logiciel de manière plus générale, c'est-à-dire sans se soucier des architectures spécifiques et sans l'introduction ou non de systèmes d'exploitation dans le flot. Dans un premier temps nous donnons quelques définitions concernant le ciblage logiciel et notamment la nuance entre ciblage et compilation, puis nous nous intéressons aux flots de ciblage avec les représentations utilisées et les étapes à suivre.

II.7.2.1. Notion d'exécutable :

Le logiciel peut se présenter sous plusieurs formes, dans plusieurs langages. Cependant, le processeur sur lequel il s'exécute ne comprend en général qu'un langage basé sur des suites de 0 et de 1, on parle de langage machine. Un programme est dit exécutable lorsqu'il se présente sous cette forme, c'est-à-dire qu'il est « compris » par le processeur et qu'il peut donc être exécuté.

On parle parfois de langage exécutable pour les langages qui peuvent être traduits en un langage exécutable (par exemple le C), par opposition à ceux qui ne le permettent pas (par exemple UML).

Il existe de très nombreux processeurs et ils ne sont en générale pas compatibles entre eux. En particulier, ils ne « comprennent » pas le même langage machine. Dès lors, la notion d'exécutable n'est pas générale : un programme est sous une forme exécutable pour un processeur donné.

De nos jours il existe aussi ce que l'on appelle des machines virtuelles, qui sont des couches logicielles ajoutées aux processeurs et comprenant le même langage quel que soit le processeur sur lequel elles sont installées. L'exemple le plus connu est le langage Java qui s'exécute sur une machine virtuelle Java. Dans ce cas, un programme exécutable pour la machine virtuelle, l'est indépendamment du processeur. L'avantage est qu'un même programme peut fonctionner quel que soit le processeur. L'inconvénient est que ces machines sont en général très lentes.

II.7.2.2. Définition du ciblage logiciel :

Le ciblage logiciel consiste à produire une description exécutable (pour une architecture matérielle donnée) d'une application logicielle, à partir d'une ou plusieurs descriptions de haut niveau de cette dernière, ne contenant pas de détails d'implémentation.

Le ciblage n'est pas exactement une compilation. En effet, une compilation est simplement la traduction d'un langage vers un autre. Le compilateur ne doit donc effectuer aucun changement dans la sémantique de la description. Le compilateur ne réalise donc pas de raffinement dans la description et n'est pas capable de l'adapter à l'architecture cible. Pour que la compilation puisse produire un logiciel correct, il est nécessaire au préalable, d'adapter cette description d'entre à l'architecture.

Le ciblage logiciel quant à lui effectue cette adaptation, la compilation étant l'étape finale d'un flot de ciblage. Un tel flot va tout d'abord raffiné certaines parties de la description d'entrée pour qu'elle soit compatible et efficace avec l'architecture cible. Cela veut dire qu'elle change la sémantique de cette description. Par exemple, dans le cas d'une spécification système, le ciblage logiciel consiste à traiter les concepts de haut niveau contenus dans la description (communication, structures parallèles) pour rendre la spécification exécutable pour une architecture donnée.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Il faudrait pour le bonheur des états que les philosophes fussent roi ou que les rois fussent philosophes"   Platon