Introduction à l'informatique Notions élémentaires 01 : Ordinateur, programme, langage, … Jacques Bapst [email protected] Introduction à l'informatique / Notions élémentaires Informatique / Ordinateur Le mot "Informatique" a été créé (vers 1960) à partir des deux mots "information" et "automatique". L'informatique est donc la science qui s'occupe du traitement automatique de l'information. Le traitement automatique de l'information implique l'utilisation de machines communément appelée "ordinateur". Un ordinateur est donc une machine capable de traiter automatiquement des données (informations) sur la base d'un programme qui définit la séquence des opération à effectuer (instructions). L'ordinateur communique avec ses utilisateurs (ou avec d'autres systèmes) au moyen d'équipements appelés périphériques (écran, clavier, souris, carte-son, carte-réseau, …). EIA-FR / Jacques Bapst II1_01 2 Introduction à l'informatique / Notions élémentaires Matériel / Hardware / Jacques Bapst © EIA-FR Cathy Berthouzoz, HEVs 2002 II1_01 3 Introduction à l'informatique / Notions élémentaires Unité centrale [1] Au cœur d'un ordinateur on trouve l'unité centrale qui est principalement constituée du (ou des) processeur(s) ainsi que de la mémoire vive (RAM). L'unité centrale de la plupart des ordinateurs est conçue sur une architecture connue sous le nom «d'architecture de Von Neumann». Cette architecture (qui date de 1945 !) est composée de trois éléments principaux : • Une unité de commande qui donne les ordres et synchronise les opérations • Une unité de traitement qui effectue les opérations (arithmétiques, logiques, …) • Une mémoire centrale dans laquelle sont stockées aussi bien les instructions (le programme) que les données (opérandes et résultats) EIA-FR / Jacques Bapst II1_01 4 Introduction à l'informatique / Notions élémentaires Unité centrale [2] L'architecture de l'unité centrale peut être illustrée par le schéma suivant : Mémoire centrale (RAM) Processeur (CPU) Horloge Unité de commande Instructions Adresse Mot mémoire Ordres Données Unité de traitement EIA-FR / Jacques Bapst Résultats II1_01 5 Introduction à l'informatique / Notions élémentaires Notion de programme [1] Un programme est une suite d'instructions, rédigées dans un langage particulier, et utilisées par l'ordinateur pour effectuer un traitement déterminé. L'ordinateur traduit le programme en une suite d'opérations élémentaires (actions atomiques). Les programmes constituent le logiciel (software) Exemples : • Programme pour trier une suite de nombres • Programme pour piloter une acquisition de données de laboratoire Fondamentalement, l'ordinateur et l'humain ne parlent pas le même langage ! Il en résulte la nécessité : • De trouver un terrain d'entente (dialecte commun, règles) • De recourir aux services d'un traducteur (compilateur, interprète) EIA-FR / Jacques Bapst II1_01 6 Introduction à l'informatique / Notions élémentaires Notion de programme [2] Par exemple, le tri d'une suite de nombres : Programme Règles Pour trier n nombres, procéder de la sorte: Traduction 1. Appeler A le 1er nombre de la liste 2. Appeler B le nombre qui suit A dans la liste 3. Si A>B, permuter les valeurs des 2 nombres 4. Si B n'est pas le dernier nombre de la liste, appeler B le nombre qui suit B dans la liste et retourner en 3 .... EIA-FR / Jacques Bapst 01001010011101010100100100111010 10110111101101000010101100100101 00101000100110101001001001110101 11011011101111111111010100100100 00000000000000000000001110100111 1000000000 ... 124 52 7212 223 572 21 6838 Exécution 21 52 124 223 572 6838 7212 II1_01 7 Introduction à l'informatique / Notions élémentaires Étapes du développement fichier source Etape I .java Editeur Le fichier source (.java) est créé/modifié à l'aide de l'éditeur et stocké sur disque fichier classe Etape II Compilateur .class Le compilateur crée du bytecode et le stocke dans un fichier .class Mémoire vive Etape III Etape IV Class loader BC verifier Le bytecode verifier confirme que le code est valide et qu'il ne viole pas les règles de sécurité de Java. Le class loader amène le bytecode en mémoire vive Etape V EIA-FR / Jacques Bapst Interpréteur Java L'interpréteur Java lit le bytecode et le traduit en langage compréhensible par l'ordinateur, qui exécute alors le code. II1_01 8 Introduction à l'informatique / Notions élémentaires Logiciel L'ensemble des programmes informatiques constitue le logiciel (software) par opposition au matériel (hardware). Le domaine d'application des logiciels est très vaste et l'on peut les classer de différentes manières. On distingue généralement : • Les logiciels de base, notamment le système d'exploitation, les gestionnaires de périphériques (drivers), les gestionnaires de fichiers, les bases de données, etc. • Les logiciels qui servent au développement des applications (environnement de développement, compilateurs, debugger, linker, etc.) • Les programmes applicatifs (applications) qui recouvrent un très vaste domaine d'utilisation (bureautique, DAO, CAO, xAO, acquisition et traitement de données, contrôle de processus, simulation, robotique, calcul numérique, jeux, …) EIA-FR / Jacques Bapst II1_01 9 Introduction à l'informatique / Notions élémentaires Système d'exploitation / Jacques Bapst © EIA-FR Cathy Berthouzoz, HEVs 2002 II1_01 10 Introduction à l'informatique / Notions élémentaires Applications et utilitaires / Jacques Bapst © EIA-FR Cathy Berthouzoz, HEVs 2002 II1_01 11 Introduction à l'informatique / Notions élémentaires Réseau (Network) [1] Le réseau (Network) permet l'interconnexion des ordinateurs et des périphériques en offrant un canal de transmission entre ces différents éléments (qui constituent les nœuds du réseau). Cette interconnexion peut être réalisée à l'aide de différentes technologies : câble électrique, fibre optique, onde herzienne, … Plusieurs topologies de réseau sont envisageables (bus, étoile, anneau, …). Généralement, au sein d'un réseau, certains ordinateurs jouent le rôle de serveurs : ils gèrent les éléments du réseau, mémorisent des données, administrent des périphériques, authentifient les utilisateurs, etc. Ils sont au service des postes clients. Des réseaux peuvent être établis à différentes échelles : • Au niveau d'un local, d'un bâtiment, d'une entreprise (LAN) • Au niveau de plusieurs sites, au niveau mondial (WAN) EIA-FR / Jacques Bapst II1_01 12 Introduction à l'informatique / Notions élémentaires Réseau (Network) [2] / Jacques Bapst © EIA-FR Cathy Berthouzoz, HEVs 2002 II1_01 13 Introduction à l'informatique / Notions élémentaires Pour en savoir plus … Il existe, sur Internet, de très nombreux sites d'introduction à l'informatique, de formation ou de vulgarisation dans l'un ou l'autre des domaines liés à l'utilisation d'un ordinateur (matériel et logiciel). Quelques références (parmi beaucoup d'autres) : • www.commentcamarche.net Vulgarisation informatique en français (différents domaines) • www.howstuffworks.com Un équivalent (beaucoup plus vaste) en anglais. Voir rubrique Computers • www.univ-tours.fr/discala Initiation à l'informatique et à la programmation (université de Tours) • www.grappa.univ-lille3.fr/polys/intro-info Introduction à l'informatique (université de Lille) • www.guill.net De nombreux documents sur la transmission de données, les réseaux, les protocoles, etc. EIA-FR / Jacques Bapst II1_01 14