Cours D'informatique - BCPST - Student
Cours D'informatique - BCPST - Student
Support de cours
INFORMATIQUE
BCPST 1
Enseignant
M Diabate
Auteur
Dr Kouamé Abel ASSIELOU
PLAN DE L’EXPOSE
SYSTÈME D’EXPLOITATION
SYSTÈME DE NUMÉRATION
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
Chapitre 1 :
ARCHITECTURE DES ORDINATEURS
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
Définitions
D’un point de vue générale, un ordinateur est un appareil électronique permettant le
traitement automatique des données. C’est un dispositif capable de traiter l'information par
l'exécution des opérations logiques et arithmétiques à partir des programmes fonctionnant
par lecture séquentielle d'un ensemble d'instructions
Von Neumann a énoncé les cinq critères essentiels qui définissent un ordinateur :
o Un ordinateur doit posséder un médium d’entrée par lequel des quantités virtuellement
illimitées d’instructions et de données peuvent être introduites.
o Un ordinateur doit posséder une unité d’emmagasinage de laquelle on peut obtenir les
instructions et les opérandes et dans laquelle on peut stocker des résultats, lorsque désiré.
Page : 4/172
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
Définitions
o Un ordinateur doit posséder une unité de calcul capable d’effectuer des opérations
logiques ou arithmétiques sur n’importe quel opérande pris dans la mémoire.
o Un ordinateur doit posséder un médium de sortie, par lequel des quantités virtuellement
illimitées de données peuvent être transmises à l'extérieur de l'ordinateur.
o Un ordinateur doit posséder une unité de contrôle, capable d'interpréter les instructions
obtenues de la mémoire et capable de choisir parmi plusieurs actions en fonction de
résultats calculés.
Page : 6/172
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
Principaux composants
Le microprocesseur (ou unité centrale de traitement, UCT, en anglais Central Processing
Unit, CPU) est un composant essentiel qui exécute les instructions machine des
programmes informatiques.
Il est schématiquement constitué de 3 parties :
o l’Unité Arithmétique et Logique (ALU) est chargée de l’exécution
de tous les calculs que peut réaliser le microprocesseur :
o les registres permettent de mémoriser de l’information (donnée ou
instruction) au sein même du CPU, en très petite quantité ;
o l’unité de contrôle permet d’exécuter les instructions (les
programmes) elle joue le rôle de « chef d’orchestre » : récupération
igure 2 :Processeur Intel
CPU Core i7 6700K
des instructions et des données pour les envoyer à l’ALU.
Principaux composants
Mémoire morte (ROM, Read-Only Memory): est un type de mémoire permettant de
conserver les informations qui y sont contenues même lorsque la mémoire n’est plus
alimentée électriquement. Il s’agit de mémoire non volatile, donc non reprogrammable.
Cette mémoire ne peut être accédée qu’en lecture
Principaux composants
Mémoire vive (RAM, Random Access Memory): est la mémoire principale du système.
Elle est une mémoire volatile, utilisée par l’ordinateur pour le traitement des données,
lorsqu’il y a nécessité de garder momentanément en mémoire un résultat dont il aura à se
resservir plus tard. Elle est d’accès rapide, mais peu volumineuse.
Principaux composants
Mémoire-cache: permet au processeur de se « rappeler » les opérations déjà effectuées
auparavant. En effet, elle stocke les opérations effectuées par le processeur, pour qu’il ne
perde pas de temps à recalculer des choses qu’il a déjà faites précédemment. Sur les
ordinateurs récents ce type de mémoire est directement intégré dans le processeur
Principaux composants
Mémoires de masse : Ce sont des mémoires de grande capacité, destinées à conserver
de façon durable de grosses données (bases de données, gros programmes, informations
diverses). De par leur vocation, ce sont nécessairement des mémoires non volatiles (on ne
veut pas perdre les données lorsqu’on éteint l’ordinateur). Par le passé, il s’agissait de
bandes perforées, puis de cassettes, de disquettes etc.
Principaux composants
Mémoires flash: (clé USB par exemple). Techniquement parlant, il s’agit de mémoire
morte (EEPROM : Electrically Erasable Programmable Read-Only Memory), mais qui peut
être flashée beaucoup plus facilement que les EPROM, par un processus purement
électrique
Principaux composants
Entrées/Sorties (E/S) : Il s'agit de toutes les interfaces permettant d'interagir avec
l'ordinateur
o Les périphériques d’entrée permettent à un utilisateur d’entrer à l’ordinateur des
données, sous des formats divers : clavier, souris, scanner, webcam, manettes de jeu.
o Les périphériques de sortie permettent de restituer des informations à l’utilisateur :
écran, imprimante, haut-parleurs.
Certains périphériques peuvent parfois jouer à la fois le rôle d’entrée et de sortie, comme les
écrans tactiles.
Page : 14/172
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
Principaux composants
Les Bus : Pour que les données circulent entre les différentes parties d’un ordinateur
(mémoire, CPU et les entrées/sorties), il existe des systèmes de communication appelés
bus. Un bus est un canal permettant de transférer des données entre deux éléments.
Les bus se répartissent en 2 types :
o Les bus parallèles constitués de plusieurs fils conducteurs, et permettant de transmettre
un ou plusieurs octets en une fois.
o Les bus séries, constitués d’un seul conducteur : l’information est transmise bit par bit.
Un ordinateur utilise des bus à 3 usage essentiellement :
o Le bus d’adresse permet de faire circuler des adresses par exemple l’adresse d’une
donnée à aller chercher en mémoire ;
o Le bus de données permet de faire circuler des données ;
o Le bus de contrôle permet de spécifier le type d’action. Exemples : écriture d’une donnée
en mémoire, lecture d’une donnée en mémoire
Page : 15/172
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
Principaux composants
Les Bus : Pour que les données circulent entre les différentes parties d’un ordinateur
(mémoire, CPU et les entrées/sorties), il existe des systèmes de communication appelés
bus. Un bus est un canal permettant de transférer des données entre deux éléments.
Bus de
données
Processeu Mémoire E / S
r
Bus d’adresse
Bus de contrôle
Figure 8 : Les bus systèmes
Page : 16/172
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
Principaux composants
L’élément constitutif principal de l’ordinateur est la carte-mère, c’est sur cette carte que
sont connectés ou soudés l’ensemble des éléments essentiels de l’ordinateur
Page : 17/172
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
Autres connexions
Connecteurs RJ45 pour la connexion à certains réseaux informatiques
Connecteurs VGA (analogiques) et / ou DVI (numériques) pour la connexion d’un écran
Connecteurs audio
Connecteurs audio/video HDMI
Connecteurs ATA pour disques durs et e-SATA pour les périphériques de stockage externe
Autres connexions
Connecteurs RJ45 pour la connexion à certains réseaux informatiques
Connecteurs VGA (analogiques) et / ou DVI (numériques) pour la connexion d’un écran
Connecteurs audio
Connecteurs audio/video HDMI
Connecteurs ATA pour disques durs et e-SATA pour les périphériques de stockage externe
Système d’exploitation
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
Logiciels
Un ordinateur ne peut pas fonctionner seul; Il doit être doté d'un système d'exploitation,
Operating System OS. (Ex : windows, unix, mac os, linux, android...).
C’est le programme de base d'un ordinateur. Ce programme permet notamment :
la gestion de la mémoire,
la gestion des périphériques,
l'exécution des programmes,
la gestion des fichiers.
Les programmes (ou logiciels) d'application s'exécutent généralement en s'appuyant sur le
système d'exploitation. Ces programmes peuvent être très divers :
logiciels de bureautique (traitements de textes, tableurs, présentation graphique...),
logiciels de calcul,
systèmes de gestion de bases de données,
environnements de programmation,
logiciels de jeux, ... Page : 21/172
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
Figure 10 : Fonctionnement
Page : 24/172
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
Figure 10 : Fonctionnement
Page : 26/172
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
Terminologie
Un programme est une suite statique d'instructions.
Un processeur est l'agent qui exécute les instructions d'un programme.
Un processus est un programme en cours d'exécution. Un programme peut avoir plusieurs
exécutions simultanées. Pour faire tourner un processus il faut donc, non seulement chercher le
code et les données mais il faut aussi lui réserver un espace mémoire, gérer les accès aux
ressources, la sécurité etc. C'est un des rôles de l'OS.
Un système d'exploitation est dit multi-tâches quand il permet l'exécution simultanée de plusieurs
programmes. Tous les systèmes d'exploitation actuels sont multi-tâches
Un système d'exploitation est dit multi-utilisateurs quand il est conçu pour être utilisé
simultanément par plusieurs usagers, souvent à travers un réseau informatique (notion de
serveurs).
Page : 27/172
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
Terminologie
Il est dit multi-processeurs quand il est conçu pour exploiter un ordinateur équipé de plusieurs
processeurs. Dans de tels systèmes d'exploitation, plusieurs programmes sont exécutés
simultanément par les différents processeurs
Il est dit temps réel quand il garantit que les opérations seront effectuées en respectant des
délais stricts, et ce quelles que soient les conditions d'utilisation (charge du système). De tels
systèmes d'exploitation sont utilisés dans l'industrie, l'aéronautique ou l'électronique pour créer
des systèmes temps réel (souvent embarqué).
Page : 28/172
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
Systèmes de fichiers
Un système de fichiers (file system) définit l'organisation d'un disque (ou partition d'un disque).
C'est une structure de données permettant de stocker les informations et de les organiser dans des
fichiers sur des mémoires de masse (dis. dur, disquette, CD-ROM, clé USB, disques SSD, etc.).
Un système de fichiers offre à l'utilisateur une vue abstraite sur ses données (fichiers) et permet
de les localiser à partir d'un chemin d'accès.
Le fichier est la plus petite entité logique de stockage sur un disque.
Le formatage (action de formater) prépare un support de données de stockage en y inscrivant un
système de fichiers, de façon à ce qu'il soit reconnu par le système d'exploitation de l'ordinateur.
Une partition est une partie d'un disque dur destinée à accueillir un système de fichiers
Il existe de nombreux systèmes de fichiers différents : FAT32, NTFS, HFS, ext2, ext3, UFS, etc.
Page : 29/172
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
Page : 30/172
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
Ces répertoires contiennent soit des fichiers, soit d'autres répertoires. Il y a donc un répertoire
racine et des sous-répertoires
Une telle organisation génère une hiérarchie de répertoires et de fichiers organisés en arbre.
Sous Unix/Linux, les utilisateurs voient une arborescence de fichiers unique (/). Cet arbre est en
fait l'unification de plusieurs systèmes de fichiers
Dans un système Windows, les périphériques de stockage de données et les partitions sont
affichés comme des lecteurs indépendants (C:, D:, ...) en haut de leur propre arborescence (\).
Page : 31/172
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
Page : 32/172
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
Page : 33/172
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
EXIT Ferme la fenêtre MS-DOS. (ex : exit REN Renommer des fichiers (ex : ren [Link] [Link])
CD Permet de se déplacer d'un répertoire à un autre. (ex : cd MOVE Déplace un fichier. (ex : move c:\[Link] d:\)
répertoire ) MORE Visualiser le contenu d'un fichier texte (ex : more
[Link] )
CD \ Permet d’accéder à la racine d'un lecteur. (ex :c:\>cd \ )
FORMAT Permet d'effacer le contenu d'un lecteur. (ex :
DIR Liste le contenu du répertoire courant. (ex : dir )
format U: )
MKDIR Création d'un dossier. (ex : mkdir toto )
CLS Efface l'écran actuel. (ex : cls
RMDIR Effacer un dossier. (ex : rmdir “toto”)
PRINT Imprime le fichier spécifié. (ex : print [Link] )
COPY Copie des fichiers. (ex : copy [Link] c:\[Link] )
SHUTDOWN Arrête ou redémarre un ordinateur local ou
XCOPY Copie des fichiers et des répertoires.(ex : xcopy [Link]
distant.
c:\[Link] )
DISKPART Gère des disques, des partitions ou des
type nul > [Link] : Creation d’un fichier txt volumes. Page : 34/172
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
Système de numération
Représentation des nombres :
— Représentation des entiers positifs sur des mots de taille fixe.
— Représentation des entiers signés sur des mots de taille fixe.
— Entiers multi-précision de Python.
— Distinction entre nombres réels, décimaux et flottants.
— Représentation des flottants sur des mots de taille fixe. Notion de mantisse, d’exposant
— Précision des calculs en flottants.
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
En informatique toutes les données, quelles qu'elles soient, sont stockées sous la forme abstraite
d'une suite de zéros et de uns.
Octet : Un octet (ou byte) est un ensemble de 8 bits. Traditionnellement, il s’agit de l'unité de
stockage : Les premiers ordinateurs personnels (transportables) étaient '8 bits', c'est à dire que les
processeur, bus, et mémoires avaient pour unité de stockage l'octet, soit 8 bits. Cependant, les
longueurs couramment utilisées sont des ensembles de :
o 16 bits (au milieu des années 1980, les premiers PC, Apple Macintosh, jeux graphiques,...)
o 32 bits (les années 1990, Internet, système d'exploitation avec interface graphique, multimédia,...)
o 64 bits (les années 2000, tout connecté, multitâche multimédia)
Page : 36/172
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
Langages : Généralités
Les données et les instructions doivent être codées en binaire :
o Ce codage n'est pas réalisé par l'utilisateur, ni même en général par le programmeur.
o Il est réalisé automatiquement par des programmes utilitaires.
Le langage machine est le seul langage directement compréhensible par l'ordinateur :
o Un programme écrit en langage machine est une succession de 0 et de 1 définissant des opérations
précises à effectuer.
o Ce langage n'est pas utilisé directement pour la programmation.
Le premier langage utilisable pour programmer un ordinateur est l'assembleur :
o Le langage assembleur dépend du processeur de la machine.
o Ses instructions sont proches de celles du langage machine, mais leur forme est plus utilisable par un
programmeur.
Exemples d’instructions :
STO (pour store : stocker, ranger en mémoire),
LOAD (charge une valeur de la mémoire vers un régistre),
JMP (pour jump : branchement en un point du programme),
ADD ( fait la somme de deux registres, et la place dans un troisième). Page : 38/172
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
Langages : Généralités
L'assembleur ne permet de réaliser que des programmes relativement simples, qui dépendent de l'ordinateur
utilisé. Pour réaliser des programmes plus complexes et moins dépendants de la machine, il est nécessaire
d'utiliser un langage de programmation. On distingue les modèles suivants :
selon le mode de programmation selon le typage:
o La programmation impérative (Les langages o Les langages à typage statique: Pascal, C, C++
d’assemblage, Fortran, Algol, Pascal, C, Ada) o Les langages fortement typés : ADA, Simula, Modula3,
o La programmation fonctionnelle (Lisp, Scheme, Python, Java, C++, C#
CommonLisp, Le_Lisp, ML, Objective Caml) o Les langages faiblement typés : VBScript, PhP, Perl, C
o La programmation logique o Les langages non typés : Lisp , Smalltalk, Shell
Système
Le système de numération utilisé habituellement est le système décimal.
Un ordinateur étant basé sur le système binaire, il est utile de connaitre les systèmes binaire (base 2),
hexadécimal (base 16) et octal (base 8), ainsi que les techniques de conversion entre ces différents systèmes.
Système à base quelconque : Tout nombre décimal N peut se décomposer de la façon suivante
Page : 40/172
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
Système
Système décimal : Dans le cas du système décimal,
La base est b = 10
les symboles ou chiffres utilisables sont : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Système
Système binaire : Dans le cas du système binaire,
La base est b = 2
les symboles ou chiffres utilisables sont : 0, 1
Représentation d’un entier naturel N :
N an 2n an 1 2n 1 ... a2 22 a1 21 a0 20 a1 21 a2 22 ... a p 2 p
Avec : 0 ai 1
2
On note : N an an 1...a2 a1a0 , a1a2 ...a p ou N an an 1 ...a2 a1a0 , a1a2 ...a p
2
Page : 42/172
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
Système
Système octal :
La base est b = 8
les symboles ou chiffres utilisables sont : 0, 1, 2, 3, 4, 5, 6, 7
Représentation d’un entier naturel N :
N an 8n an 1 8n 1 ... a2 82 a1 81 a0 80 a1 81 a2 82 ... a p 8 p
8
On note : N an an 1...a2 a1a0 , a1a2 ...a p ou N an an 1...a2 a1a0 , a1a2 ...a p 8
Système hexadécimal :
La base est b = 16
les symboles ou chiffres utilisables sont : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
Représentation d’un entier naturel N :
N an 16n an 116n 1 ... a2162 a1161 a0160 a1161 a2162 ... a p 16 p
16
On note : N an an 1...a2 a1a0 , a1a2 ...a p Page : 43/172
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
Page : 44/172
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
Page : 46/172
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
Exemple :
011 000 1112 --> 3078
728 --> 111 0102
(le zéro en 4eme position a été ajouté car 2 en binaire ne comporte que 2 chiffres).
Page : 47/172
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
o Binaire Hexadécimal: On regroupe les bits par 4, car nous sommes en base 16 (et 16 =
24 , d'où la nécessité de 4 bits).
Exemple
B5E16 --> 1011 0101 11102
1100 01112 --> C716
Page : 48/172
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
o On peut aussi passer par la base décimale puis utiliser la division euclidienne.
Exemple
3078 --> 011 000 1112 = 1100 01112 --> C716
Ainsi, on convertit chaque chiffre octal en un nombre binaire de 3 bits (conversion octal <--> binaire),
puis on regroupe les bits (chiffres binaires) par 4, pour passer en hexa (conversion binaire <--> hexa).
Page : 49/172
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
Page : 50/172
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
• Sur 2 octets, soit 16 bits, on peut représenter tous les entiers de : 00000000000000002 = 0 à
11111111111111112 = 216 − 1 = 65535 pour les nombres non signés. et de 11111111111111112=-32768 à
0111111111111111= 215 -1= 32767 pour les nombres signés.
• Sur 4 octets, soit 32 bits, on peut représenter tous les entiers de : 0 à 232 − 1 = 4 294 967 295 pour les
nombres non signés. et de -231 = -2147483648 à 231 -1= 2147483648 pour les nombres signés.
• Sur 8 octets, soit 64 bits, on peut représenter tous les entiers de : 0 à 264 − 1 = 18 446 744 073 709
551 615. et de -263 = -9 223 372 036 854 775 808 à 263 -1= 9 223 372 036 854 775 807 pour les nombres
signés
Page : 51/172
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
Page : 52/172
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
Exemples : convertir -84 de la base décimale vers la base binaire signée sur 8 bits
• Conversion : 8410 = 010101002
• Inversion : 01010100 => 10101011
• Ajout de 1 : 10101011 + 1 = 10101100
En conclusion, -8410 = 101011002 (Le bit de poids fort est 1, on a donc bien un nombre négatif.)
Page : 53/172
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
n-1 fois 1
• Sur n bits, le plus petit entier négatif est - 2n-1
Page : 56/172
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
Page : 57/172
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
• la mantisse (les bits situés après la virgule) sur les 23 bits restants
Page : 59/172
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
Page : 60/172
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
Page : 61/172
Généralités sur l’ordinateur
ARCHITECTURE DES ORDINATEURS Système d'exploitation
Système de numération
TRAVAUX DIRIGES
PLAN Du Cours
APPLICATIONS