Assembleur, Compilateur et Éditeur de Liens

Slides:



Advertisements
Présentations similaires
UNIX AVANCE Yves PAGNOTTE – Janvier – QUELQUES RAPPELS SUR LES SYSTEMES D’EXPLOITATION 1.
Advertisements

Introduction à la programmation
1 Les logiciels en général sont classés en deux familles:  Logiciels de base  Logiciels d’applications (applications) 2.
CHAftITREI ARCHITECTURE de BASE. Modèle de Von Neumann Langage d’assemblage1 John Von Neumann est à l'origine d'un modèle de machine universelle de traitement.
1 Gestion Electronique de documents (GED) ✔ Définition Efficacité d'une entreprise dépend de la capacité à traiter et consulter les informations qu'elle.
1 Créer un extension OpenOffice.org avec Eclipse Créer une extension OpenOffice.org avec Eclipse.
TP 1 BIS Programmation structurée à l’aide de fonctions (FC) et de bloc fonctionnels (FB)
La mise en réseau des ordinateurs à l'école Sources : Educnet christian.caleca.free.fr.
DIAGRAMME DE DEPLOIEMENT Exposé de: MBALLA MEKONGO Michèle MBOUNA FEUZE William SIEYADJEU Alex Lionel CHOPGWE Leonard NDUMATE Landry TIDJON Lionel.
Système d’exploitation: Principe IFT6800 – E 2008 Pierre Poulin.
Cahier des charges.
NOTIONS INFORMATIQUES : RAPPEL
appareil de mesure (pHmètre P310 Chauvin-Arnoux) Pierre DIEUMEGARD,
RMLL, Saint-Étienne, 5 juillet 2017
La technologie des mémoires
JAVA.
Plan 1. L’ordinateur : Les connaissances de base
Utilisation de Windows
Chapitre 2 : Principe de la dynamique
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Usine de Développement.
Comprendre la définition de bit par seconde à partir
Algorithmique demander jeu du pendu.
Ajouter le code dans une page html
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Les composants informatiques
Javadoc et débogueur Semaine 03 Version A16.
Architecture de machines Le microprocesseur
Principes de programmation (suite)
Master Réseaux et Systèmes Distribués (RSD) Algorithmique des systèmes
Système d’exploitation Windows XP
Semaine #4 INF130 par Frédérick Henri.
SYSTÈME D’EXPLOITATION I
Ceci est un exemple ODP 26/03/2007.
Guide des différences entre les deux versions de l’interface web
Instructions et micro-instructions
Windev.
Modèle OSI.
Notion De Gestion De Bases De Données
Création Et Modification De La Structure De La Base De Données
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
Base de Données, RFID et Langage SQL
Sfaihi Yassine Rabai Fatma Aissaoui Walid
Package R Markdown: Un outil pour générer des pages html avec R Studio
Plus de 4000 langages....
Architectures parallèles
Bus et adressage GIF-1001: Ordinateurs: Structure et Applications
Formation sur les bases de données relationnelles.
Composantes principales des ordinateurs
G.ELGHOUMARI Université ParisII Panthéon-Assas
Programmation Android Première application Android
Mémoire: cache, RAM, disque dur
Révision du format des données
Programmation Android Composantes d’une application
B.Shishedjiev - Informatique
Introduction aux microprocesseurs
Architecture matérielle des ordinateurs
CARACTERISTIQUES D’INERTIE DES SOLIDES
Catherine Cyrot - bibliothèques numériques - Cours 5
PRO1026 Programmation et enseignement
7- Nouveaux services pédagogiques pour les élèves
Présenté par Viviane Lévesque
LE TORSEUR STATIQUE 1) Définition 2) Notation 3) Deux cas particuliers
Retour sur les interfaces
Enseignement de Spécialité (EdS) classes de Première et Terminale
Pourquoi MIPS Assembler ?
Python Nicolas THIBAULT
UC : Diagramme des cas d’utilisation Req : Diagramme d’exigence
Les données structurées et leur traitement
Transcription de la présentation:

Assembleur, Compilateur et Éditeur de Liens Pierre de rosette GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015 Jean-François Lalonde

Assembleur et compilateur Langage assembleur Langage compilé Assembleur Compilateur Binaire (langage machine) Binaire (langage machine)

Assembleur Définition: le langage assembleur permet d’écrire les instructions du microprocesseur en mnémoniques plutôt qu’en binaire (code machine). Le langage assembleur est traduit en code machine par un programme aussi nommé “assembleur”. But principal: Faciliter l’écriture de programmes pour un microprocesseur donné. Niveau d’abstraction et portabilité L’assembleur est très près du code machine. Une instruction d’assembleur correspond habituellement à une instruction machine. Un programme en assembleur est indissociable du microprocesseur ou jeu d’instructions pour lequel il a été construit. Exemples d’assembleur: Il existe habituellement un assembleur pour chaque famille de microprocesseur.

Compilateur et langage compilé Définition: un langage compilé est constitué de chaînes de caractère interprétées par un compilateur afin de générer de l’assembleur et, ultimement, du langage machine. But principal: Faciliter l’écriture de programmes et rendre les programmes disponibles sur tous les microprocesseurs pour lesquels il existe un compilateur. Niveau d’abstraction et portabilité Les langages de haut niveau sont relativement indépendants du matériel. Le compilateur transforme habituellement une instruction de haut niveau en plusieurs instructions d’assembleur. Un programme en langage de haut niveau peut être compilé pour être utilisé sur plusieurs microprocesseurs. Exemples: Fortran, Pascal, Basic, C, C++…

Assembleur, compilateur et éditeur de liens Langage assembleur Langage compilé Langage compilé Assembleur Compilateur Compilateur Binaire (fichier “objet”) Binaire (fichier “objet”) Binaire (fichier “objet”) Éditeur de liens Libraries externes Exécutable

Éditeur de liens (Linker) Définition: l’éditeur de liens rassemble toutes les fonctions et variables d’un programme afin de créer l’exécutable. Il agence les éléments du programme provenant de diverses sources (fichiers objets, librairies dynamiques) pour que celui puisse être mis en mémoire par le système d’exploitation. But principal: Relier plusieurs segments de code machine afin de constituer un programme. Buts secondaires Déterminer les emplacements en mémoire de chaque composante du programme. Faire un lien entre toutes les fonctions et les appels de fonctions. Faire un lien entre les variables globales de différents fichiers. Faire un lien entre tous les fichiers du programme! Niveau d’abstraction et portabilité Qu’on utilise un assembleur ou un compilateur, il existe toujours un éditeur de lien qui les accompagne…

Langage interprété Définition: Un langage interprété n’est pas transformé en code machine. Il s’agit de fichiers textes qui sont traduits par un programme (habituellement nommé un engine) qui « agit » en fonction du contenu des fichiers. But principal: Permettre d’avoir des programmes (fichiers textes) totalement indépendants de la plateforme utilisée.. Niveau d’abstraction et portabilité Presque complètement indépendant du matériel. Très haut niveau d’abstraction Exemples: HTML, Python, Matlab,…

Comparaisons Accéder au matériel Temps de programmation Vitesse d’exécution assembleur: très rapide! compilé: très rapide, mais pas aussi rapide que de l’assembleur… interprété: très lent… Grosseur du programme assembleur: très petit compilé: très gros interprété: dépend de l’interpréteur Accéder au matériel assembleur: naturel compilé: faisable interprété: ardu Temps de programmation interprété: rapide compilé: un peu plus long (généralement), mais néanmoins rapide assembleur: éternel!