590 likes | 827 Views
Hal 9000 est le nom d'un puissant ordinateur doté d'intelligence artificielle, gérant le vaisseau spatial Discovery 1 dans le célèbre film 2001, l'odyssée de l'espace de Stanley Kubrick (1968). ISFATES – L1 : UE Informatique1. Informatique. Histoire & notions de base.
E N D
Hal 9000 est le nom d'un puissant ordinateur doté d'intelligence artificielle, gérant le vaisseau spatial Discovery 1 dans le célèbre film 2001, l'odyssée de l'espace de Stanley Kubrick (1968).
ISFATES – L1 : UE Informatique1 Informatique Histoire & notions de base Par Julien Brancher UFR MIM Université Paul Verlaine – METZ Version sept. 2006
PLAN DU COURS • Historique et les métiers de l’informatique • Architecture d’un micro-ordinateur • Systèmes d’exploitation • Du langage binaire au langage hexadécimal • Algorithmique et programmation
Un peu d’histoire … • Invention du calcul • Mécanisation du calcul • 1ers calculateurs mécaniques • Calculateurs électriques • Calculateurs électroniques • Micro-ordinateurs 1 2 3 4 5 6 Antiquité 1200 1600 1889 1945 1956 1980
Un peu d’histoire … • Invention du calcul • Utilisation de systèmes primitifs à base 5,10,60 • Utilisation des chiffres romains : I, V, X, L, C • Opérations de base difficiles • Apparition du 0 par les égyptiens et introduit au XIIème siècle en Europe • Mise en place de la numérotation décimale
Un peu d’histoire … • Mécanisation du calcul • 1er boulier (Chine -300) • Logarithmes de NEPER • Pascaline (1642) • Leibniz (1670) • Machine différentielle (1822) • Machine analytique (1830) Le boulier chinois La Pascaline La machine analytique
Un peu d’histoire … • Au XXème siècle… • Cryptage/décryptage • « Machine de Turing » • Calculateur à cartes perforées (IBM – 1935) • ENIAC (Neumann - 1945) • TI invente le circuit intégré (1958 et 1er ordinateur en 1968) • 1er super-ordinateur CRAY (1970) : 160MOS Un super ordinateur CRAY 2 Un circuit intégré … Alan Mathison TURING (1912-1954) Mathématicien anglais
Un peu d’histoire … • ENIAC : quelques chiffres… • 5000 opérations / s • 500.000 $ • 30 t. • 30 mètres le long • 2.50 mètres de haut • 160 m² • 1500 relais • 17.468 tubes à vide • Apparition du 1er bug !
Un peu d’histoire … • Micro-informatique… • MICRAL N : (INRA – 1973) • Steve Jobs/Steve Wozniak : • Apple1 (1976) = 1er micro-ordinateur (1MHz - 8ko RAM) • Macintosh (1984) à 8MHz/128ko RAM + souris • IBM PC (1981) - CHER • Nouvelle ère : • Écrans plats LCD • PowerPC G4 à 1,42 GHz • Intel Pentium 4 516 à 2,93 GHz • RAM à 512 Mo • Disque dur de 160 Go • Périphériques : lecteur DVD-ROM et graveur CD/DVD biformat double couche, etc.
Un peu d’histoire … • Loi de moore • Gordon Moore (1965) • Cofondateur INTEL • Généralisation • 40 années vérifiées • Limite théorique : 2018
Métiers de l'informatique • Fonctions spécialisées : • Réseau • Développement informatique • Sécurité des systèmes informatiques • Infographie • Ergonomie…
Métiers de l'informatique • Métiers de l'exploitation et de la production • Systèmes informatiques et des réseaux • Assister les utilisateurs de nouvelles technologies • Métiers de la conception et du développement • Analyser un besoin • Concevoir des solutions et les modéliser • Implémenter programmer en un langage informatique • Métiers du conseil et de l'expertise • Etudier les besoins ou les solutions existantes dans une entreprise afin d'aider à la mise en œuvre d'une nouvelle architecture. Les principaux domaines d'application sont les systèmes d'information ou la sécurité informatique.
Métiers de l'informatique • Domaines d'application • L'informatique industrielle, scientifique et technologique • L'informatique de gestion • Les télécommunications et réseaux
Métiers de l'informatique • Informatique industrielle, scientifique et technologique • Fabrication de produits industriels • Bureau d'études (CAO) : production (fabrication assistée par ordinateur, automatique, robotique) • Logistique, la gestion des stocks, etc. • Laboratoire de recherche fondamentale ou les services R&D (recherche et développement) : Modéliser, Simuler, Analyser des phénomènes. • Informatique de gestion • Simplification de la gestion administrative : suivi des clients, fiche de paye, facturation. • Système d'information : progiciel de gestion intégré (ERP). • Télécommunications et réseaux • Transmission d'information : réseaux informatiques et téléphonie
Architecture : mainframe et PC • 1ers réseaux Ordinateur central : le «mainframe» • Relié à différents terminaux utilisateurs • Grande puissance chargé de • Gérer les sessions utilisateurs des terminaux • Gérer de manière centralisée les applications entreprise • Cependant : • La performance du système tout entier repose sur les capacités de traitement de l'ordinateur central • Qualifié d'« informatique lourde »
Architecture d’un micro-PC • Plusieurs types de PC (Personal Computer) • PC de bureau • PC portable • Pocket PC
Constitution générale d’un PC Unité centrale Carte mère, Microprocesseur, Disques de stockage : Disques durs Lecteur de disquette CD-ROM, DVD-ROM Lecteur ZIP … … Périphériques internes Carte vidéo Carte son … Périphériques externes : Périphériques d’entrés souris, clavier, scanner, … Périphériques de sorties écrans, imprimantes, … Entrés-sorties Disques amovibles (clé USB) Architecture d’un micro-PC
Architecture d’un micro-PC Processeur (CPU) Mémoire principale (M.P.) Code instructions Unité de commande Programme Données binaires Unité de traitements U.A.L. Données Informations codées en binaire Unité d’entrées/sorties BUS système
Architecture d’un micro-PC • La carte mère • Elément constitutif principal de l’UC (« Socle de connexion ») • Ports = emplacements de cartes d’extension et périphériques • AGP : carte vidéo • PCI : carte son, … • PS2 : souris, clavier • IDE : disques durs • // : imprimantes • Microprocesseur socket
Architecture d’un micro-PC • Unité centrale : le processeur • Marques : AMD Athlon, Intel Pentium, Intel 4004 • Fréquence de l’horloge : en MegaHertz (MHz) …mesure le nombre de calculs à la seconde : 1000MHz = 1 GHz = 1.000.000.000 calculs/s • Transistors …pour faire des opérations de base = plusieurs millions sur un seul processeur (Loi de Moore : double tous les 18 mois) • Silicium = cher
Architecture d’un micro-PC • Unité centrale : les types de mémoire • Mémoires liées au processeur (accès très rapide) • Registres : stocke des données de calcul • Mémoire cache : stocke des instructions (256, 512Ko) • Mémoire morte (ROM) : mémoire « gravée » • Stocke des données pour le Bios par exemple • Mémoire vive (RAM) • Mémoire principale mais « volatile » (128, 256, 512 Mo) • Permet le lancement du système, d’applications, … • Mémoire de masse : DD, CD-ROM (40,80,160 Go)
Architecture d’un micro-PC • Le disque dur, le CD-ROM, … • Capacités de stockage = mémoires de masse • Taux de transfert (bits/s) et vitesse de rotation pour les DD (tours/min) = rapidité d’accès aux données • Interface (SCSI, IDE, USB) = ports de branchement du disques (~ taux de transfert)
Architecture d’un micro-PC • Périphériques internes • Connectés à l'intérieur du PC (ports AGP, PCI, ISA) • La carte vidéo (indispensable) l'image au moniteur • de la carte son son vers les enceintes …et depuis quelques années : • d'un modem interne • de la carte réseau (interconnexion de plusieurs ordinateurs) • Cartes TV, carte d’acquisitions (vidéos), radio...
Architecture d’un micro-PC • Périphériques externes • Input : saisie des données (clavier, souris, scanner, webcam) • Output : affichage des données (moniteur, imprimante, enceintes) • Notion de Plug & Play : (connecter et utiliser)
Introduction au système : BIOS • « Basic Input/Output System » Système de gestion élémentaire des entrées/sorties » • Contrôle des éléments matériels • ROM + EEPROM (« flasher » = action de modifier l'EEPROM par impulsions électriques). • Rôle (entre autre) : • Inventaire du matériel présent dans l'ordinateur • Effectue un test (appelé POST, pour "Power-On Self Test") • Effectuer un test du processeur (CPU) • Vérifie la mémoire vive et la mémoire cache • Vérifie toutes les configurations (clavier, disquettes, disques durs ...) • Si il y a une erreur : • Affiche un message à l'écran • Emet un signal sonore, séquence de bips (beeps en anglais) • Envoie un code (appelé code POST) pouvant être récupéré à l'aide d'un matériel spécifique de diagnostic. • Si aucune erreur : bip bref
Systèmes d’exploitation • Operating System (O.S.) • Deux fonctions principales : • gérer les ressources de l’installation matérielle • assurer un ensemble de services (Interface Homme Machine - IHM) • Qualités d’un O.S. • Fiabilité sur les défaillances matérielles ou des erreurs des utilisateurs (éviter les pertes d’information) • Efficacité : Utiliser au mieux les ressources et possibilités matérielles • Simplicité : langage de commande et des diagnostics d’erreurs • Adaptabilité : permettre des modifications matérielles et logicielles
Systèmes d’exploitation • Assure les échanges entre le processeur, la mémoire, et les ressources physiques • Transmet au périphérique via son pilote • Offrir à l'utilisateur une interface homme-machine (IHM) • Permet la gestion : • Du processeur : algorithme d'ordonnancement • De la mémoire vive : espace mémoire alloué à chaque application, «mémoire virtuelle» sur le disque (plus lente) • Des droits : sécurité • De la lecture et l'écriture dans le système de fichiers et les droits d'accès aux fichiers par les utilisateurs et les applications.
Systèmes d’exploitation • Composition : • Le noyau (kernel) • L'interpréteur de commande (shell) : communication avec le système d'exploitation par l'intermédiaire d'un langage de commandes • Le système de fichiers ( «file system», FS) : gestion des fichiers dans une arborescence
Systèmes d’exploitation • Comment fonctionne un O.S. ? APPLICATIONS (software) gestion des travaux gestion des fichiers gestion des E/S gestion mémoire Noyau Système d’exploitation MATERIEL (hardware)
Systèmes d’exploitation • Répertoires • Dossier (folder) : organise des fichiers et des « sous-répertoires » • Répertoire racine : 1er dossier : "\" Windows ou "/" UNIX / Linux • Répertoire parent ("cd .." DOS/UNIX) • Fichiers • Fichiers binaires : suite d'informations de 0 et de 1 • Fichier texte est un fichier composé de caractères stockés sous la forme d'octets (caractères). • Enregistré sur un support de stockage sous la forme "nom_du_fichier.ext" • ".ext" extension lié au type de prog. pour l’ouverture du fichier • Chemin (path) = succession de dossiers de la racine pour atteindre un fichier : • Windows « x:\repertoire1\repertoire2\ » • Unix « /repertoire1/repertoire2/ »
Systèmes d’exploitation • Extensions à connaitre : • exe, dll • txt • pdf • zip, rar, cab • doc, xls, ppt • odt, odc, odp • bmp, jpg, gif, png • avi,mp3, wmv, mpg • html, htm, xml
Systèmes d’exploitation : marché • Distributions Linux : • Windows : • Autres :
Systèmes d’exploitation • Systèmes de fichiers (SF) • Organiser les données • Gestion de la mémoire sur les espaces de stockages • Choix de l’OS = SF imposé • Pb de compatibilités si plusieurs OS sur un PC • SF améliorés car capacités (FAT16 NTFS)
Systèmes d’exploitation • Et le bug de l’an 2000 …?? • Vieux ordinateurs - gros systèmes (banques, organismes importants) • Dates codées sur deux chiffres (98 au lieu de 1998) • Economie sur la mémoire • An 2000 = An 00 (1900) ?? … Où est le problème ? • Lundi 1er janvier 1900 // samedi 1er janvier 2000 • Année 2000 bissextile // année 1900 non bissextile • Les systèmes fonctionnent avec l'horloge du système • manière aléatoire (e-mails, des fichiers, …) • résultats erronés • arrêt du système • Patchs (corrections logicielles) à installer/programmer
Du binaire à l’hexadécimal • Ce qu’on connaît : la base 10 (décimale) • Histoire : nos 10 doigts !! • 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 : pour tous les nombres base 10 • Notions de dizaine, centaine, millier … = paquets • Mais nous n’aurions eût que 2 doigts ??? 5 + 8 ____ 3 retenue 1 13 5 + 26 ____ 1 retenue 1+2 31 124 + 458 ____ 2 retenue 1+7 82 8 retenue 0+5 582
Du binaire à l’hexadécimal • Ce que l’ordinateur connaît : la base 2 (binaire) • Passage électrique dans un transistor : 0 ou 1 (booléen) • Calculs arithmétiques du CPU avec 2 chiffres ? • Un chiffre binaire représente un bit informatique • 8 bits représente un octet 0 + 0 ____ 0 pas de problème! 1 + 0 ____ 1 pas de problème! 1 + 1 ____ 0 car 2 n’existe plus! retenue = 1 donc 10
Du binaire à l’hexadécimal • Valeur binaire sur 3 bits : • Il y a 8 états différents (23 possibilités) Base 2 Base 10 (sur 3bits) 000 0 001 1 010 2 011 3 100 4 101 5 110 6 111 7
Du binaire à l’hexadécimal • Valeur binaire sur 8 bits (1 octet) : • Il y a 256 états différents (28 possibilités) Base 2 Base 10 (sur 8bits) 0000 0000 0 0000 0001 1 0000 0010 2 … … 1000 1111 143 1001 0000 144 … … 1111 1101 253 1111 1110 254 1111 1111 255
Du binaire à l’hexadécimal • Codage des caractères ASCII (années 60) • « Code Americain Standard pour l'Echange d'Informations » • Codage reconnu par l’ordinateur : binaire texte humain • Codées sur 8 bits = 1 octet ( =poids d’un caractère) • 28 = 256 caractères (codés de 0 à 255) Table standard du codage ASCII
Du binaire à l’hexadécimal • Ce qui explique bien des choses … 1 octet = 23 bits = 8 bits = 1 caractère 1 Ko = 210 octets = 1.024 octets 1 Mo = 220 octets = 1.048.576 octets 1 Go = 230 octets = 1.073.741.824 octets 1 To = 240 octets = 1.099.511.627.776 octets Attention : 1 byte = 1 octet en anglais Remarque : 1 fichier texte vide = 0 octet 1 fichier texte de 50.000 car. = 50 Ko
Du binaire à l’hexadécimal • Ce qui simplifie la base 2 : la base 16 (hexa) • Nombres binaires ingérables car longs • Consiste à compter sur une base 16 : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F • Tableau des conversions (4 bits = 1 chiffre hexa) :
Algorithmique et langages • Notions d’algorithme et de programmation • Fournir la solution à un problème • Analyser le problème dans un langage descriptif : analyse • Traduire l'algorithme dans un langage de programmation : programmation • Langage de programmation = intermédiaire humain / machine • Langage proche de la machine mais intelligible par l'humain (syntaxe stricte) • Transformer en langage machine : compilation (programme = compilateur)
Algorithmique et langages • Notions d’algorithme et de programmation • Caractéristiques d'un algorithme • Lisible : l'algorithme doit être compréhensible même par un non-informaticien • Aucune notion technique relative à un programme particulier ou à un OS donné • Précis et concis : un algorithme ne doit pas dépasser une page ou alors décomposer le problème en plusieurs sous-problèmes • Structuré : composé de différentes parties facilement identifiables
Algorithmique et langages • Exemple : Nom : addDeuxEntiers Rôle : Additionner 2 entiers a et b et mettre le résultat dans c Entrée : a,b : entier Sortie : c : entier Déclaration : - début c a+b fin
Algorithmique et langages • Formalisme utilisé : • Entête • Nom • Rôle • Paramètres d’entrée (données indispensables) • Résultats en sortie (données calculées et produites) • Déclarations locales : variables locales utiles • Corps • Mot-clef : debut • Suite d’instructions indentées • Mot-clef : fin
Algorithmique et langages • Variables et types de données : • Variable • Valeur modifiable stockée du programme • Identifiée par un nom • Appartient à un type (déclaration de la variable) • Quelques type de données • Entier : peut prendre les valeurs 0 1 54 4545 … • Réel : peut prendre les valeurs 0,5 12,54452 3,1415 …. • Chaîne de caractères : ‘g’,’bonjour’,’ma maison’ • Booléen : 0 ou 1 (VRAI ou FAUX) Identifiant de la variable : type de variable
Algorithmique et langages • Exemple d’algorithme : Nom : euroVersFrancs Rôle : Convertisseur d’un prix en euros en francs, avec saisie du prix en euros et affichage en francs Entrée : - Sortie : - Déclaration : valeurEuro, valeurFranc, tauxConversion : Réel début tauxConversion 6.55957 écrire("Votre prix en euros ?") lire(valeurEuro) valeurFranc valeurEuro x tauxConversion écrire(valeurEuro,"€=",valeurFranc,"francs") fin
Algorithmique et langages • Instructions : • Opérateurs d’affectation ‘’ • a 4 • b "Hello world!" (si b est déclarée comme chaîne de car.) • c a + 10 (c contiendra la valeur 14) • Opérateurs conditionnels SI … ALORS … SI conditions ALORS … instructions si VRAI … FINSI SI conditions ALORS …instructions si VRAI … SINON …instructions si FAUX … FINSI
Algorithmique et langages • L’expression conditionnelle : • Renvoie un booléen : VRAI ou FAUX • Compare, vérifie, teste des valeurs • Opérateurs logiques utiles : • '<' : SI a<b ALORS écrire ('a est plus petit que b') FINSI • '>' : SI a>b ALORS écrire ('a est plus grand que b') FINSI • '=' : SI a =b ALORS écrire ('a est égale à b') FINSI • '≠' : SI a ≠b ALORS écrire ('a est différent de b') FINSI • 'ET' : SI a<b ET a<c ALORS … FINSI • 'OU' : SI a<b OU a<c ALORS … FINSI • 'NON' : SI NON(a<b) ALORS écrire ('a est plus grand que b') FINSI