Upload
agate-coudert
View
113
Download
2
Embed Size (px)
Citation preview
Historique Architecture Systèmes Binaire et hexa. Algorithmique
Hal 9000est 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).
InformatiqueHistoire & notions de base
ISFATES – L1 : UE Informatique1
Par Julien Brancher
UFR MIM Université Paul Verlaine – METZ
Version sept. 2006
Historique Architecture Systèmes Binaire et hexa. Algorithmique
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
Historique Architecture Systèmes Binaire et hexa. Algorithmique
Un peu d’histoire …
Antiquité 1200 1600 19801889 1945 1956
1 2 63 4 5
1. Invention du calcul
2. Mécanisation du calcul
3. 1ers calculateurs mécaniques
4. Calculateurs électriques
5. Calculateurs électroniques
6. Micro-ordinateurs
Historique Architecture Systèmes Binaire et hexa. Algorithmique
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
Historique Architecture Systèmes Binaire et hexa. Algorithmique
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 chinoisLa Pascaline
La machine analytique
Historique Architecture Systèmes Binaire et hexa. Algorithmique
Un super ordinateur
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
Alan Mathison TURING(1912-1954)
Mathématicien anglais
CRAY 2Un circuit intégré …
Historique Architecture Systèmes Binaire et hexa. Algorithmique
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 !
Historique Architecture Systèmes Binaire et hexa. Algorithmique
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.
Historique Architecture Systèmes Binaire et hexa. Algorithmique
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
Historique Architecture Systèmes Binaire et hexa. Algorithmique
Métiers de l'informatique Fonctions spécialisées :
Réseau Développement informatique Sécurité des systèmes informatiques Infographie Ergonomie…
Historique Architecture Systèmes Binaire et hexa. Algorithmique
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.
Historique Architecture Systèmes Binaire et hexa. Algorithmique
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
Historique Architecture Systèmes Binaire et hexa. Algorithmique
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
Historique Architecture Systèmes Binaire et hexa. Algorithmique
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 »
Historique Architecture Systèmes Binaire et hexa. Algorithmique
Architecture d’un micro-PC
Plusieurs types de PC (Personal Computer) PC de bureau PC portable Pocket PC
Historique Architecture Systèmes Binaire et hexa. Algorithmique
Architecture d’un micro-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)
Historique Architecture Systèmes Binaire et hexa. Algorithmique
Architecture d’un micro-PC
Processeur(CPU)
Mémoire principale (M.P.)
Unité de commande
Unité de traitementsU.A.L.
Unité d’entrées/sorties
Programme
Données
Code instructions
Données binaires
Informations codées en binaire
BUS système
Historique Architecture Systèmes Binaire et hexa. Algorithmique
Architecture d’un micro-PCLa 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
Historique Architecture Systèmes Binaire et hexa. Algorithmique
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
Historique Architecture Systèmes Binaire et hexa. Algorithmique
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)
Historique Architecture Systèmes Binaire et hexa. Algorithmique
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)
Historique Architecture Systèmes Binaire et hexa. Algorithmique
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...
Historique Architecture Systèmes Binaire et hexa. Algorithmique
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)
Historique Architecture Systèmes Binaire et hexa. Algorithmique
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
Historique Architecture Systèmes Binaire et hexa. Algorithmique
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
Historique Architecture Systèmes Binaire et hexa. Algorithmique
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.
Historique Architecture Systèmes Binaire et hexa. Algorithmique
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
Historique Architecture Systèmes Binaire et hexa. Algorithmique
Systèmes d’exploitation
Comment fonctionne un O.S. ?
Système d’exploitation
APPLICATIONS (software)
MATERIEL (hardware)
gestion des travaux
gestion des fichiersgestion des E/Sgestion mémoire
Noyau
Historique Architecture Systèmes Binaire et hexa. Algorithmique
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/ »
Historique Architecture Systèmes Binaire et hexa. Algorithmique
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
Historique Architecture Systèmes Binaire et hexa. Algorithmique
Systèmes d’exploitation : marché
Distributions Linux :
Windows :
Autres :
Windows 98
2%
Windows XP
85%
other
1%
Windows 95
1%
Windows
2000
6%
Windows 98
Windows XP
Windows 2000
Windows NT
Windows Me
MAC OS
Windows 95
Linux
other
Historique Architecture Systèmes Binaire et hexa. Algorithmique
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 Types supportés
MS DOS, Win95 FAT16
MS Win95 OSR2/98 FAT16, FAT32
MS Win2000 / XP FAT16, FAT32, NTFS
Linux Ext2, Ext3, …
MacOS HFS, MFS, …
SUN, Free/OpenBSD
UFS (Unix)
Windows VISTA WinFS ?
Historique Architecture Systèmes Binaire et hexa. Algorithmique
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
Historique Architecture Systèmes Binaire et hexa. Algorithmique
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 828 retenue 0+5 582
Historique Architecture Systèmes Binaire et hexa. Algorithmique
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
Historique Architecture Systèmes Binaire et hexa. Algorithmique
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 0001 1010 2011 3100 4101 5110 6111 7
Historique Architecture Systèmes Binaire et hexa. Algorithmique
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 00000 0001 10000 0010 2… …1000 1111 1431001 0000 144… …1111 1101 2531111 1110 2541111 1111 255
Historique Architecture Systèmes Binaire et hexa. Algorithmique
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
Historique Architecture Systèmes Binaire et hexa. Algorithmique
Historique Architecture Systèmes Binaire et hexa. Algorithmique
Du binaire à l’hexadécimal
Ce qui explique bien des choses …
1 octet = 23 bits = 8 bits = 1 caractère1 Ko = 210 octets = 1.024 octets1 Mo = 220 octets = 1.048.576 octets1 Go = 230 octets = 1.073.741.824 octets1 To = 240 octets = 1.099.511.627.776 octets
Attention : 1 byte = 1 octet en anglaisRemarque : 1 fichier texte vide = 0 octet
1 fichier texte de 50.000 car. = 50 Ko
Historique Architecture Systèmes Binaire et hexa. Algorithmique
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) :Base
10 0 1 2 3 4 5 6 7 8 9 10
Base 16 0 1 2 3 4 5 6 7 8 9 A
Base 2 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010Base 10 11 12 13 14 15
Base 16 B C D E F
Base 2 1011 1100 1101 1110 1111
Historique Architecture Systèmes Binaire et hexa. Algorithmique
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)
Historique Architecture Systèmes Binaire et hexa. Algorithmique
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
Historique Architecture Systèmes Binaire et hexa. Algorithmique
Algorithmique et langages
Exemple :
Nom : addDeuxEntiersRôle : Additionner 2 entiers a et b et mettre le résultat dans cEntrée : a,b : entierSortie : c : entierDéclaration : -
début c a+bfin
Historique Architecture Systèmes Binaire et hexa. Algorithmique
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
Historique Architecture Systèmes Binaire et hexa. Algorithmique
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
Historique Architecture Systèmes Binaire et hexa. Algorithmique
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
Historique Architecture Systèmes Binaire et hexa. Algorithmique
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
Historique Architecture Systèmes Binaire et hexa. Algorithmique
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
Historique Architecture Systèmes Binaire et hexa. Algorithmique
Algorithmique et langages Exemple d’algorithme avec une conditionnelle :
Nom : afficheMaxiRôle : Affiche le maximum entre 2 valeurs saisies au clavierEntrée : -Sortie : -Déclaration : valeurSaisie1, valeurSaisie2 : entierdébut écrire("Saisir la première valeur :") lire(valeurSaisie1) écrire("Saisir la seconde valeur :") lire(valeurSaisie2) SI valeurSaisie1 > valeurSaisie2 alors écrire("Le maximum est : ",valeurSaisie1) SINON écrire("Le maximum est : ",valeurSaisie2) FINSIfin
Historique Architecture Systèmes Binaire et hexa. Algorithmique
Algorithmique et langages Langages de programmation
Actions consécutives à exécuter À CHAQUE instruction correspond UNE action du
processeur Langage machine (0 et 1) langage intermédiaire Assembleur est le premier langage informatique Portabilité du langage
Historique Architecture Systèmes Binaire et hexa. Algorithmique
Algorithmique et langages 2 catégories : langages interprétés et langages compilés
Interprété : programme auxiliaire (l'interpréteur) traduit les instructions
Compilé : traduit une fois par un COMPILATEUR (fichier exécutable)
Langage compilé : plus rapide et plus sécurisé à l'exécution mais moins souple (recompilations)
+ Langages intermédiaires : compilation intermédiaire (applets Java)
Historique Architecture Systèmes Binaire et hexa. Algorithmique
Algorithmique et langages
Langages de programmation
Langage Domaine d’application Compilé/interprété
ADA Temps réel Compilé
C Prog. Système Compilé
C++ Prog. Système objet Compilé
COBOL Gestion Compilé
FORTRAN Calcul scientifique Compilé
JAVA Prog. Objet Intermédiaire
LISP I.A. Intermédiaire
Mathématica Calcul scientifique Interprété
PASCAL Enseignement Compilé