Les fichiers exécutables
En informatique et en technologies de l'information, un fichier exécutable ou simplement un exécutable est un fichier contenant un programme et identifié par le système d'exploitation en tant que tel. Le chargement d'un tel fichier entraîne la création d'un processus dans le système, et l'exécution du programme, par opposition au fichier de données qui doit d'abord être interprété par un programme pour prendre sens. Traditionnellement, le programme contenu dans un fichier exécutable contient lui-même des instructions codées dans un langage compréhensible par un processeur. Cependant, dans une acceptation plus générale, n'importe quel fichier contenant des instructions destinée à un interpréteur ou une machine virtuelle, comme des scripts ou du bytecode, peut aussi être considéré comme un exécutable.
Les différents formats de fichier exécutable
Les différents formats des fichiers exécutables contiennent tous des informations que peut exécuter un système d'exploitation. La différence est que l'extension va définir la manière dont ce fichier doit être lu et interprété.
Voci quelques exemples de formats de fichier exécutable:
- .exe: Le .exe est une extension de nom de fichier qui désigne un fichier exécutable. Cette extension identifie le fichier principal de tous les programmes exécutables fonctionnant sous les différentes versions de ces systèmes d'exploitation. Un double clic permettra d'exécuter les tâches prévues pour ces programmes. Elle est utilisée pour nommer les fichiers exécutables des systèmes d'exploitation Microsoft Windows, DOS ou encore OpenVMS, Symbian OS ou OS/2. Ces fichiers sont (généralement) distribués aux utilisateur parmi les applications au travers des stores d'applications, des programmes d'Installation de logiciel, ou préinstallés par le constructeur de l'ordinateur. C'est le fichier type qui doit lancer le programme
- .bat: .BAT est l'extension d'un fichier de commandes MS-DOS. Réaliser un tel fichier permet de concevoir des scripts qui seront interprétés par le "shell" ou interpréteur de commandes (command.com ou cmd.exe) pour notamment exécuter des fichiers .EXE ou .COM. Cette extension est principalement utilisée sur les systèmes d'exploitation de Microsoft (DOS et Windows). Elle peut être assimilée (dans une certaine mesure) à l'extension .sh des scripts shell Unix (ceux du Bourne shell plus exactement).BAT tire son nom de l'anglais batch, qui signifie lot. .BAT sert à créer des programmes facilement à l'aide du bloc note. Si le fichier est inconnu, il est préférable de ne pas le lancer (à l'aide d'un double clic), mais au contraire il faut l'éditer (à l'aide d'un clic droit puis éditer) pour voir ce qu'il contient. En effet, il peut s'agir d'un script malveillant tel qu'un cheval de Troie.
- .com: Alors que les fichiers exécutables contiennent généralement des informations destinées à renseigner le système d'exploitation sur la façon de le charger et de le lancer, les fichiers .com ont pour particularité de ne respecter aucun format particulier. Le système le copie simplement en mémoire après 256 octets d'informations sur l'environnement, de sorte que l'adresse de départ est 100h. Une convention veut que les données soient placées au début du fichier, juste après une instruction de saut vers le code exécutable. L'extrême simplicité de ce format posait problème pour réaliser des programmes évolués, notamment pour l'accès à la mémoire vive au-delà du premier mébioctet, ce qui explique son abandon progressif au profit du format .exe. Certains fichiers d'extension .com sont au format PE ( formats des fchiers exécutables sous windows ), le système les reconnaît à leurs deux premiers octets.
- .sh:.Les extensions de fichier SH créées avec le langage de programmation Bash sont des fichiers de type source code et script qui contiennent des commandes déterminant les actions à accomplir par le système d’exploitation, lors de l’utilisation d’applications et de programmes spécifiques. Le code source et les scripts sont généralement rédigés en texte brut. Le code source est dans un format binaire exécutable créé à l’aide d’un compilateur, et le fichier de script est utilisé pour automatiser des tâches spécifiques pour l’exécution des programmes et des applications.