• Aucun résultat trouvé

Le Master Boot Record (MBR ou «zone amorce»)

N/A
N/A
Protected

Academic year: 2022

Partager "Le Master Boot Record (MBR ou «zone amorce»)"

Copied!
82
0
0

Texte intégral

(1)

5. Organisation des mémoires de masse Le disque dur

128

MBR = le 1er secteur adressable d’un disque dur

(CHS 0/0/1, ou LBA 0)

Taille : 512 octets

Il contient :

- une routine d’amorçage dont le but est de charger le système d’exploitation (« OS ») ou le « boot loader » (chargeur d’amorçage, s’il existe) présent sur la partition active

- la TABLE des PARTITIONS = description des diverses partitions présentes sur le disque, la partition active étant indiquée

En raison de sa taille limitée à 512 octets, la routine d’amorçage nécessitant de 440 à 446 octets et la fin du MBR étant indiqué par 2 octets,

il ne reste que 64 octets disponibles pour la table des partitions dans le MBR

La description de chaque partition nécessitant 16 octets,

le MBR peut donc gérer maximum 4 partitions = partitions primaires

• Le Master Boot Record (MBR ou « zone amorce »)

(2)

5. Organisation des mémoires de masse Le disque dur

129

A l’octet 510, le mot hexa AA55 = « magic number » doit impérativement être présent pour que l’amorçage ait lieu!

Séquence d’amorçage (« boot ») :

Après la phase de test du BIOS, le BIOS lit le 1er secteur des périphériques amorçables

qui ont été définis par l’utilisateur à l’aide du SETUP du BIOS (section BOOT DEVICE ORDERING)

Lorsqu’il trouve un périphérique contenant le « magic number » 0xAA55, il charge le code d’amorçage à l’adresse mémoire 0x7C00 et l’exécute

La main est alors donnée au chargeur d’amorçage (« boot strap loader ») par ce code d’amorçage

• Le Master Boot Record (MBR ou « zone amorce »)

(3)

5. Organisation des mémoires de masse Le disque dur

130

• Le Master Boot Record (MBR ou « zone amorce »)

Identificateurs de partition (File System Descriptor)

Sur un ordinateur de type PC, un identificateur de 1 octet associé à chaque partition permet de connaître a priori quel type de système de fichier elle abrite

Exemples d’identificateurs de fichiers :

ID Type

00 Vide

01 FAT12 02 XENIXroot 03 XENIX /usr

04 FAT16<32Mio (adressage CHS)

05 Étendue

06 FAT16

07 NTFS(et son prédécesseur HPFS) 08 AIX, voir JFS

09 AIX bootable

0a OS/2Boot Manager

0b Win95OSR2 FAT32(adressageCHS)

0c Win95 OSR2 FAT32(adressage LBA, appelée aussi FAT32X ) 0e Win95 FAT16(adressage LBA)

0f Étendue (adressage LBA)

80 Ancien Minix

81 Minix/ ancien Linux 82 Swap Linux / pool ZFS

83 Ce type de partition est utilisé par les systèmes de fichiers ext2, ext3, ext4, ReiserFSet JFS (Linux en particulier) 84 OS/2 hidden C:

85 Linux étendu 86 NTFS volume set 87 NTFS volume set 8e Linux LVM

93 Amoeba 94 Amoeba BBT 9d SDF

9f BSD/OS

(4)

5. Organisation des mémoires de masse Le disque dur

131

• Détails et exemples

des 16 octets = caractéristiques d’une partition dans le MBR

• Le Master Boot Record (MBR ou « zone amorce »)

(5)

5. Organisation des mémoires de masse Le disque dur

132

• Exemple de MBR

Pour chaque partition, un octet indique si elle est « bootable » ou pas : « boot flag »

« Boot flag » = 80 partition amorçable

« Boot flag » = 00 partition pas amorçable

(6)

5. Organisation des mémoires de masse Le disque dur

133

Moyen d’étendre la limitation du MBR à 4 partitions

L’une des 4 partitions peut être désignée comme partition étendue = partition primaire spéciale qui va contenir des partitions secondaires, ou logiques

La partition étendue peut contenir jusqu’à 24 partitions logiques, dont les détails sont listés dans la

propre table de partitions de la partition étendue =

EBR (Extended Boot Record)

ou EPBR (Extended Partition Boot Record)

• Partitions étendues et logiques (secondaires)

(7)

5. Organisation des mémoires de masse Le disque dur

134

L’EBR se situe donc en tête d’une partition étendue, sur le disque dur

Son contenu est identique à celui du MBR

L’EBR peut contenir à son tour une partition étendue, qui contiendra à ce moment-là une partition tertiaire et ainsi de suite…

• Partitions primaires et étendues

On dit ainsi que les EBR sont chaînées : si la deuxième entrée est non nulle, elle pointe sur le prochain EBR et ainsi de suite

Les systèmes d’exploitation (Windows, Linux…)

ne font pas de distinction entre partition primaire et étendue

En revanche, le BIOS ne reconnaît directement que les partitions primaires

Dans le MBR, une partition étendue a pour descripteur 05 ou 0F

L’utilitaire fdisk peut gérer jusqu’à 3 partitions principales + 56 étendues

(8)

5. Organisation des mémoires de masse Le disque dur

135

• Exemple de EBR

(9)

5. Organisation des mémoires de masse Le disque dur

136

Limitations du MBR

• Nombre de secteurs de la partition codé sur 4 octets (32 bits)

 232 secteurs adressables

• Comme le début de la partition (nombre de secteurs avant la partition) est indiqué de la même façon, il est impossible de démarrer une seconde (ou troisième, etc.) partition derrière une première partition : on sort de la limite

 Limite réelle du MBR, avec des secteurs de 512 octets :

232 secteurs x 512 o/secteur = 2 199 023 255 552 octets = 2,2 To

(10)

5. Organisation des mémoires de masse Le disque dur

137

• Successeur du MBR : GPT (lié au UEFI)

Globally Unique Identifier Partition Table

Utilise l’adressage LBA

On indique le LBA pour le début et la fin de chaque partition, codée sur 8 octets = 64 bits (au lieu de 4 pour le MBR)

264 secteurs adressables  avec 512 o/secteur la taille d’une partition peut faire 8 Zo

On peut décrire jusqu’à 128 partitions

Une copie du GPT est écrite en fin de disque

Un MBR protecteur décrivant un disque (de type 0xEE) est toujours présent sur le secteur 0,

indiquant une partition qui recouvre tout le disque

Les systèmes ou logiciels qui ne connaissent pas GPT voient le disque complètement plein

ayant une seule partition d'un type inconnu et refusent de modifier le disque à moins d'effacer cette partition protection

(11)

5. Organisation des mémoires de masse Le disque dur

138

• Exemple de GPT

(12)

5. Organisation des mémoires de masse Le disque dur

139

(13)

5. Organisation des mémoires de masse Le disque dur

140

Format de l'entête GPT (GPT Header)

Offset Longueur Contenu

0 8 octets Signature ("EFI PART", 45 46 49 20 50 41 52 54)

8 4 octets Version (Pour la version 1.0, la valeur est 00 00 01 00, 1,0 en virgule fixe 16:16) 12 4 octets Taille de l'entête (en octets, habituellement 5C 00 00 00 signifiant 92 octets) 16 4 octets CRC32 de l'entête (de 0 à 92 octets - la taille de l'entête), avec ce champ à zéro

pendant le calcul du crc32.

20 4 octets Réservé, doit être initialisé à zero

24 8 octets Adresse de cet entête GPT (emplacement de cet entête ; devrait être 1, le deuxième secteur du disque, pour l'entête primaire)

32 8 octets Adresse de l'entête de l'autre GPT (ou backup ; devrait être le dernier secteur du disque pour l'entête primaire, et 1 pour l'entête secondaire)

40 8 octets Première adresse utilisable pour les partitions

48 8 octets Dernière adresse utilisable pour les partitions (à l'adresse suivante se trouve normalement la table de partitionnement secondaire)

56 16 octets GUID du disque (aussi désigné comme UUID sur les UNIX)

72 8 octets Adresse du tableau des partitions (normalement 2 pour le GPT primaire) 80 4 octets Nombre de descripteurs de partition

84 4 octets Taille en octets d'un descripteur de partition (habituellement 128) 88 4 octets CRC32 de la table des partitions

92 * réservé, la fin du bloc devrait être initialisée à zéro (420 octets sur un bloc de 512 octets)

(14)

5. Organisation des mémoires de masse Le disque dur

141

Principe : utiliser une mémoire de masse dans le but (entre autres) de faire tourner plus de programmes que la RAM ne peut contenir

empêche la saturation de la RAM et le blocage du système

Le swap permet :

d’augmenter le nombre de programmes qui s’exécutent en même temps (« taux de multi-programmation »)  multi-tâches

de mettre en place des mécanismes de protection de la mémoire

de partager la mémoire entre les différents « processus » (= programmes en cours d’exécution)

Sur un disque dur,

on peut définir des partitions qui ne servent

que comme mémoire virtuelle (partitions de type « swap »)

Inconvénient : comme le « swap » est sur une mémoire de masse, l’accès et beaucoup plus lent que pour la RAM…

• La mémoire virtuelle (« swap memory »)

(15)

5. Organisation des mémoires de masse Le disque dur

142

Manière de stocker et organiser les informations sur les mémoires de masse, permettant de :

traiter les données

conserver les données

partager les données entre plusieurs programmes

Autres manières d’organiser les données : bases de données, fichiers indexées

= fichiers qui contiennent un index (clé) – valeur qui se trie par ordre croissant ou décroissant

Dans les FS, les fichiers sont stockés dans les « clusters »

• Les systèmes de fichiers (« File Systems » - FS)

(16)

5. Organisation des mémoires de masse Le disque dur

143

De point de vue de l’utilisateur, un FS est vu comme une ARBORESCENCE de REPERTOIRES qui contiennent soit des fichiers, soit d’autres répertoires = ARBRE

L’arborescence est parcourue de façon RECURSIVE

Chaque fichier est décrit par des métadonnées (« données concernant d’autres données »

= informations sur le fichier)

et par les données qu’il contient lui-même

• Les systèmes de fichiers (« File Systems » - FS)

(17)

5. Organisation des mémoires de masse Le disque dur

144

Développés par Microsoft depuis 1977

3 variantes : FAT 12 (utilise 12 bits pour adresser les clusters), FAT 16 (16 bits), FAT 32 (28 bits – les 4 bits de poids fort étant réservés)

vFAT = extension optionnelle du FAT permettant de prendre en charge les noms de fichiers de + de 8 caractères (s’applique à toutes les versions de FAT)

Utilisation : DOS, Windows, clés USB, cartes SD, appareils photo numériques, phase de démarrage des systèmes compatibles UEFI…

Caractéristique :

chaque répertoire contient une table

qui associe les noms de fichiers à leur taille +

un index pointant sur la FAT = zone disque indiquant,

pour chaque bloc, l’index du bloc suivant du même fichier

• Les systèmes FAT (« File Allocation T able »)

(18)

5. Organisation des mémoires de masse Le disque dur

145

Chaque répertoire contient une table

qui associe les noms de fichiers à leur taille +

un index pointant sur la FAT = zone disque indiquant,

pour chaque bloc, l’index du bloc suivant du même fichier

• Les systèmes FAT (« File Allocation T able »)

(19)

5. Organisation des mémoires de masse Le disque dur

146

Valeurs des index du FAT

• Les systèmes FAT (« File Allocation T able »)

FAT12 FAT16 FAT32 Description

0x000 0x0000 0x?0000000 Cluster vide

0x001 0x0001 0x?0000001 Cluster réservé

0x002 - 0xFEF 0x0002 - 0xFFEF 0x?0000002 - 0x?FFFFFEF

Cluster utilisé,

pointeur vers le cluster suivant du fichier 0xFF0 - 0xFF6 0xFFF0 - 0xFFF6 0x?FFFFFF0 -

0x?FFFFFF6 Valeurs réservées

0xFF7 0xFFF7 0x?FFFFFF7 « Mauvais cluster »

0xFF8 - 0xFFF 0xFFF8 - 0xFFFF 0x?FFFFFF8 -

0x?FFFFFFF Cluster utilisé, dernier cluster d'un fichier

(20)

5. Organisation des mémoires de masse Le disque dur

147

Caractéristique : les fichiers et répertoires sont identifiés par le numéro d’inode

i-node (« Index node ») = structure de données regroupant toutes les informations sur un fichier (protections, dates, moyens de retrouver le contenu), sauf leur nom

Le nom de chaque fichier est stocké dans le répertoire, associé au numéro d’inode

Un répertoire est simplement un fichier dont les blocs de données contiennent une liste de couples

(nom, numéro d’inode) qui pointent sur les fichiers censés être contenus dans le répertoire

La racine du système de fichiers (/) correspond à l’inode 2

Exemple : répertoire contenant 3 fichiers : a.txt, b.sh, c.pl il sera

composé de 5 couples : {(., 43), (.., 234), (a.txt, 36), (b.sh, 245), (c.pl, 24524)}

Un répertoire contient des entrées de 16 octets : 2 octets pour l’inode et 14 pour le nom du fichier 216= 65536 numéros d’inodes différents

= nb. max de fichiers

• Les systèmes UNIX (« EXT »)

(21)

5. Organisation des mémoires de masse Le disque dur

148

• Les systèmes UNIX (« EXT »)

Avantage du fait que l’inode ne contient pas le nom du fichier : possibilité de donner plusieurs noms à un même fichier =

liens

Lien = couple (nom de fichier, numéro d’inode)

On peut créer 2 type de liens :

Physiques :

créer un lien physique = créer un nouveau nom pour le même inode

il est donc impossible de faire un lien physique vers un répertoire : le système de fichiers doit rester arborescent

impossible de faire un lien physique vers un autre volume (partition)

Symboliques (raccourcis) :

un lien symbolique permet de donner un autre nom au fichier, mais n'utilise pas l'inode physique du fichier

le bloc de données contient une chaîne de caractères représentant le chemin (relatif ou absolu) vers le fichier

il est donc possible de créer des liens symboliques vers des répertoires

on peut faire un lien symbolique vers un autre volume (partition)

(22)

5. Organisation des mémoires de masse Le disque dur

149

Développé par Microsoft pour

permettre à ses systèmes d’exploitation (Windows NT, XP, 7, 8, 10) de donner des droits d’accès aux fichiers

(ce que le FAT ne permet pas) et d’assurer le multi-tâche

Structure similaire à une base de données

Il utilise une table d’allocation appelée MFT (« Master File Table »)

La MFT occupe plusieurs milliers de clusters (taille variable)

Par défaut, NTFS lui réserve 12,5 % de l’espace disponible sur la partition (les données ne pouvant pas être écrites

sur cette zone réservée), ce qui évite sa fragmentation

• Le système NTFS (« New T echnology File System»)

(23)

5. Organisation des mémoires de masse Le disque dur

150

UNIX :

Les fichiers sont stockés à des multiples endroits sur le disque, en laissant des espaces énormes entre eux les fichiers peuvent “grossir” sans obstruction

Si le disque est encombré et qu’un fichier a besoin de plus de place pour grossir tout en restant contigu, le système essaye de le réécrire entièrement à un endroit ou il y a de la place :

Le noyau calcule le nombre de blocs nécessaires au stockage de chaque fichier sur le disque dur

Si un tel nombre de clusters libres contigus est trouvé sur le disque, il stocke le fichier sur ces clusters, contigus, et le fichier n'est pas fragmenté

S'il ne trouve pas assez de clusters libres contigus, il scinde le fichier en plusieurs groupes de clusters et éparpille ces groupes sur le disque dur : il tente de minimiser le nombre de groupes et par conséquent remplit les plus grands espaces de clusters vides contigus en premier

dans les systèmes Unix, la fragmentation est faible et fait suite à un espace disque trop faible

la défragmentation est rarement nécessaire

• Fragmentation

= éparpillement du contenu d’un fichier dans des clusters non contigus

 augmentation du temps d’accès au contenu du fichier

(24)

5. Organisation des mémoires de masse Le disque dur

151

Microsoft :

Les fichiers sont écrits consécutivement l’un après l’autre

Le noyau NT essaie de combler les trous dans le sens où il fragmente le fichier pour ne pas laisser au début du disque des zones avec des clusters libres

Dans les systèmes Microsoft, la fragmentation est due aux multiples suppressions, modifications, copies de fichiers…  zones de clusters libres fragmentation

fragmentation fréquente sur les systèmes Windows car il est courant pour un utilisateur de manipuler des fichiers

nécessité de défragmenterassez régulièrement si l’on souhaite retrouver des vitesses de lecture élevées

• Fragmentation

= éparpillement du contenu d’un fichier dans des clusters non contigus

 augmentation du temps d’accès au contenu du fichier

(25)

5. Organisation des mémoires de masse Le disque dur : SSD vs. HDD

152

Caractéristique SSD Disque dur (HDD)

Temps d'accès

aléatoire Environ 0,1 ms De 2,9 à 12ms

Vitesse de

lecture/écriture De 27 Mo/s à 3 Go/s De 12 à 260 Mo/s

IOPS De 8 000 à 3 000 000 (connexion PCIe, plusieurs

téraoctets) Dépend de la vitesse de rotation et du nombre d'axes

Fragmentation Aucun effet Dépend du système de fichiers

Bruit Très peu voire aucun Variable mais ayant tendance à s'accentuer avec le temps et selon la charge d'utilisation

Vulnérabilités

Sensible au nombre de cycles d'écriture

Coupures de courant qui peuvent rendre le lecteur irrécupérable sur certains (anciens) modèles

Chocs et vibrations, sensibles aux champs magnétiques

Taille 4,57-6,35 cm (1,8-2,5″) (en fonction des modèles) 4,57-6,35-8,89 cm (1,8-2,5-3,5″) (en fonction des modèles)

Masse Quelques dizaines de grammes Jusqu'à près de 700 g

Durée de vie

Garantie constructeur allant de 1 à 10 ans

Cycles d'écriture garantis : 10 000 (SLC), 5 000 (MLC) et 1000 (TLC)

2 à 5 ans (voire plus) en fonction de la charge et des conditions d'utilisation

Rapport coût-

capacité environ 0,4 €/Gio (2014) environ 0,04 €/Gio (2014)

Capacité de stockage Jusqu'à 16 To Jusqu'à 10 To.

Consommation 0,1 - 0,9 W (veille) jusqu'à 0,9 W (activité) 0,5 à 1,3 W (veille) 2 à 4 W (activité)

(26)

5. Organisation des mémoires de masse Le disque dur :

SSD vs. HDD

153

perfs en lecture SSD >> HDD, mais leur conception fait qu'ils ne peuvent réécrire que des zones bien plus grandes qu'un secteur disque

perfs réelles en écriture bcp moins bonnes si partition relativement pleine

les HDD laissent beaucoup de temps libre au processeur entre deux opérations, contrairement aux SSD du fait de leur absence de délais mécaniques

perte de réactivité possible faute de temps processeur à consacrer au clavier

Durée de vie pouvant être bcp + réduite SSD si écriture fréquente

Prix SSD > HDD

• Type d’adressage ?

(27)

2. Représentation des données

154

2.2 Représentation des nombres entiers

avec signe

(signés, « signed »)

M1103 2019-2020

(28)

2. Représentation des données

155

• Représentation usuelles des entiers signés

M1103 2019-2020

• Avec bit de signe

• Avec décalage

• Décimal codé binaire (BCD = Binary Coded Decimal)

• Complément à 1

• Complément à 2

(29)

2. Représentation des données

156

• Avec bit de signe

M1103 2019-2020

• Le signe = information binaire (+ ou -)

 possibilité de représentation par 1 bit : 0 ou 1

• Le nombre de bits réservés au nombre à représenter est raccourci de 1 bit

• Avec n bits, seuls (n-1) bits peuvent être utilisés pour représenter la valeur absolue du nombre

• Sur n bits, on peut représenter de (-2n-1-1) à (2n-1-1)

Représentation usuelle des entiers signés

(30)

2. Représentation des données

157

• Avec bit de signe

M1103 2019-2020

• Problème : on peut représenter le zéro de deux manières : + 0 et - 0 !

• Exemple sur un octet (n = 8) : deux représentation possibles 0000 0000

1000 0000

X +(-X) ne donne pas la représentation du zéro ! Représentation usuelle des entiers signés

(31)

2. Représentation des données

158

• Avec décalage

M1103 2019-2020

• Sur n bits, on représente le 0 au milieu de la pleine échelle

• Exemple sur 1 octet (8 bits) :

Représentation usuelle des entiers signés

Valeur Représentation

-128 0000 0000

-127 0000 0001

….

0 1000 0000

1 1000 0001

127 1111 1111

(32)

2. Représentation des données

159

• Avec décalage

M1103 2019-2020

• Sur n bits, on peut représenter de (-2n-1) à (2n-1-1) :

• Si le bit de poids fort est égal à 0, le nombre est négatif

• Si le bit de poids fort est égal à 1, le nombre est positif

• Pour représenter (« coder ») le nombre X sur n bits:

il suffit de représenter X+ 2n-1 comme un nombre positif

• Pour «décoder » un nombre codé sur n bits :

on décode le nombre comme un nombre positif, puis on lui soustrait 2n-1

Représentation usuelle des entiers signés

Valeur Représentation

-128 0000 0000

-127 0000 0001

….

0 1000 0000

1 1000 0001

127 1111 1111

(33)

2. Représentation des données

160

• Complément à 2

M1103 2019-2020

Représentation usuelle des entiers signés

• En fait, il s’agit du complément à 2n de X : Xcpl= 2n-X

• Pour représenter – X sur n bits :

• On calcule le complément à 1 de X

• On ajoute 1

• Exemple sur 8 bits :

• Représentation de -11

11 : 0 0 0 0 1 0 1 1 Complément à 1 : 1 1 1 1 0 1 0 0 + 1 : + 1

1 1 1 1 0 1 0 1

(34)

2. Représentation des données

161

• Intérêts du complément à 2

M1103 2019-2020

Représentation usuelle des entiers signés

• Les opérations arithmétiques fonctionnent normalement

• Représentation « normale » du zéro : 0 0 0 0 0 0 0 0

• Il s’agit de la représentation des entiers signés la plus répandue

• Sur n bits, on peut représenter l’intervalle [-2n-1; 2n-1-1]

(35)

2. Représentation des données

162

• Décodage du complément à 2

M1103 2019-2020

Représentation usuelle des entiers signés

• Le complément à 2 du complément à 2 donne le nombre initial : X = 2n - (2n - X)  on fait le complément à 1 et on rajoute 1

• Exemple :

Que représente le nombre 1 0 1 1 0 1 1 0 2 ?

• C’est un nombre négatif car le bit le + significatif = 1

• Complément à 1 de 1 0 1 1 0 1 1 0 0 1 0 0 1 0 0 1

• On ajoute 1 + 1

0 1 0 0 1 0 1 0 = 7410

• Donc, 1 0 1 1 0 1 1 0 2 = - 7410

(36)

2. Représentation des données

163

• Complément à 2

M1103 2019-2020

Représentation usuelle des entiers signés

Changement de taille :

• Dans le sens entier taille n  entier taille m > n

• Si nombre positif : on rajoute des 0

• Si nombre négatif : on rajoute des 1

• Dans le sens entier taille n  entier taille m < n :

• Cela ne fonctionne que si le nombre est suffisamment petit…

(37)

2. Représentation des données

164

• Décimal Codé Binaire (Binary Coded Decimal)

M1103 2019-2020

Représentation usuelle des entiers signés

• Chaque chiffre est codé indépendamment

• Les chiffres allant de 0 à 9, il faut 4 bits

• Le signe est également codé sur 4 bits (à droite) :

 1100 pour le +

 1101 pour le -

• Utilisation : afficheurs 7 segments

(38)

2. Représentation des données

165

2.3 Représentation des nombres

non entiers

M1103 2019-2020

(39)

2. Représentation des données

166

Nombres décimaux

• Nombre décimal = nombre qui s'écrit avec une quantité

quelconque, mais finie, de chiffres derrière la virgule en base 10

• Exemples : 10 ; -15,3 ; 1,666

• Remarque : 1,6666… n’est pas un nombre décimal car il n’a pas un nombre fini de chiffres derrière la virgule ! C’est un nombre réel non entier.

Nombres décimaux entiers : représentation selon les manières vues précédemment (base 2/16 avec codage du signe ou pas…)

Nombres décimaux ou réels non entiers : 2 types de représentation :

Représentation dite « en virgule fixe » (« Fixed Point »)

Représentation dite « en virgule flottante » (« Floating Point »)

M1103 2019-2020

(40)

2. Représentation des données

167

Nombres décimaux non entiers

• Représentation en virgule fixe (« Fixed Point »)

• On représente séparément la partie entière et la partie décimale

• Exemple : Représentation d’un nombre sur n bits :

• Partie entière sur m bits (puissances positives de 2)

• Partie décimale sur k bits (puissance négatives de 2)

• n = m + k

1

1 2

1 2 1 0 2 1 2 1 0

1 1

...

, ..

. 2 2 . 2

..

2 .

.

2

. m m

m m k m m

k k

a a a a a a

a

a a a a a

a

       

    

M1103 2019-2020

(41)

2. Représentation des données

168

Nombres décimaux non entiers

• Représentation en virgule fixe (« Fixed Point »)

• Pratiquement : comment faire pour convertir ?

• Méthode 1 :

En utilisant la table des multiples de 2 négatifs

M1103 2019-2020

2-1 2-2 2-3 2-4 2-5 2-6 2-7 2-8

0,5 0,25 0,125 0,0625 0,03125 0,015625 0,0078125 0,00390625

(42)

2. Représentation des données

169

Nombres décimaux non entiers

• Exemple :

représenter

14,42 sur 2 octets

(m = 8, k = 8)

• 14,42 = 14 + 0,42

• 1410 = (0 0 0 0 1 1 1 0)2

• 0,4210 = 0,25 + 0,125 + 0,03125 + 0,007825 + 0,00390625

= (0, 0 1 1 0 1 0 1 1)2

• Donc 14,4210 = (0 0 0 0 1 1 1 0, 0 1 1 0 1 0 1 1)2

M1103 2019-2020

2-1 2-2 2-3 2-4 2-5 2-6 2-7 2-8

0,5 0,25 0,125 0,0625 0,03125 0,015625 0,0078125 0,00390625

• Représentation en virgule fixe (« Fixed Point »)

• Méthode 1 : En utilisant la table des multiples de 2 négatifs

(43)

2. Représentation des données

170

Nombres décimaux non entiers

• Donc, 0,4210 = (0, 0 1 1 0 1 0 1 1)2

M1103 2019-2020

• Représentation en virgule fixe (« Fixed Point »)

• Autre méthode pour représenter facilement la partie décimale:

par multiplications successives de la partie décimale 0,42 * 2 = 0,84

0,84 * 2 = 1,68 0,68 * 2 = 1,36 0,36 * 2 = 0,72 0,72 * 2 = 1,44 0,44 * 2 = 0,88 0,88 * 2 = 1,76 0,76 * 2 = 1,52

• Exemple pour 0,4210 sur 8 bits :

(44)

2. Représentation des données

171

Nombres décimaux non entiers

M1103 2019-2020

• Représentation en virgule fixe (« Fixed Point »)

• Intervalle de représentation : [-2

(n-k)-1

; 2

(n-k)-1

-1]

• Précision :  2

-k

/2

• Donc, pour n fixe :

• Si l’on souhaite une grande précision

 il faut k grand, donc m petit

 on ne peut l’avoir que pour des nombres petits

• Si l’on veut convertir un nombre grand

 il faut m grand  k sera petit

 précision faible

• Question : comment faire pour avoir une même précision relative pour tous les nb. ?

n (nb total bits) = m(nb bits partie entière) +k (nb bits partie décimale)

(45)

2. Représentation des données

172

Nombres réels

M1103 2019-2020

• Généralités sur la représentation des réels

• Il est impossible représenter tous les réels car :

• Il existe une infinité de nombre réels

• Un nombre réel non entier peut avoir une infinité de chiffres après la virgule

• Exemple :

1/3 = 0,33333….

= 0,1 + 3  10

-1

+ 3  10

-2

+3  10

-3

+…

(46)

2. Représentation des données

173

Nombres réels

M1103 2019-2020

• Généralités sur la représentation des réels

• On ne peut donc représenter un nombre réel qu’avec une erreur plus ou moins grande

• Rappels :

Erreur absolueValeur exacte Valeur representee

Valeur exacte Valeur representee Erreur relative

Valeur exacte

 

 

% Valeur exacte Valeur representee 100 Erreur relative

Valeur exacte

  

(47)

2. Représentation des données

174

Nombres réels

M1103 2019-2020

• Ecriture scientifique = représentation d’un nombre réel sous la forme  a  10

n

• a = mantisse = nb. décimal  [1, 10)

• n = exposant = nb. entier

• Exemple : 12456,35 = +1,245635  10

4

Signe : +

Mantisse : 1,2345635

Exposant : 4

(48)

2. Représentation des données

175

Nombres réels

M1103 2019-2020

• Ecriture scientifique

a  10n

Exemple : 12456,35 = +1,245635 104

• Il n’y a donc qu’un seul chiffre non nul à gauche de la virgule, puis un nombre variable de décimales qui dépend de la précision

• Intérêt :

 Connaître rapidement l’ordre de grandeur du nombre

 Simplifier les multiplications (divisions)

en procédant à des multiplications (divisions)

des mantisses et à des additions (soustractions)

des exposants

(49)

2. Représentation des données

176

Nombres réels

• Représentation en virgule flottante (« Floating Point ») – Norme IEEE 754

= Représentation sur 32 ou 64 bits

d’un nombre réel en écriture scientifique, dont

:

• 1 bit pour le signe (0 = nb +, 1 = nb -)

• 8 ou 11 bits pour l’exposant

• 23 ou 52 bits pour la mantisse

• Intérêt : avoir la même précision relative pour tous les nombres, du plus petit au plus grand

M1103 2019-2020

(50)

2. Représentation des données

177

Nombres réels

• Représentation en virgule flottante (« Floating Point »)

• Décalage de l’exposant :

• L’exposant peut être + ou - !!!

• Pour éviter sa représentation en complément à 2, l’exposant est décalé, ce qui lui permet d’être

représenté sous la forme d’un nombre non signé

• Le décalage est de 2

e-1

-1,

avec e = nb. de bits de l’exposant

• Exemple : exposant représenté sur 8 bits (e = 8)

 décalage de 2

8-1

-1 = 127

M1103 2019-2020

(51)

2. Représentation des données

178

Nombres réels

• Représentation en virgule flottante (« Floating Point »)

• Interprétation d’un nombre représenté en virgule flottante selon la norme IEEE 754 (décodage) :

Valeur = signe  1,mantisse  2

(exposant – décalage)

Signe =  1

Décalage = 2(nb bits exposant-1) - 1

M1103 2019-2020

(52)

2. Représentation des données

179

Nombres réels

• Représentation en virgule flottante (« Floating Point »)

• Interprétation d’un nombre représenté en virgule flottante selon la norme IEEE 754 (décodage)

• Exemple sur 32 bits (1 bit signe + 8 bits exposant + 23 bits mantisse) signe exposant mantisse

0 10000001 11010000000000000000000

• Signe = 0  nb positif

• Exposant : 10000001 = 128 + 1 = 129

• Remarque : exposant représenté sur 8 bits

 l’exposant est en fait décalé de 28-1-1 = 127

• Mantisse : 11010000000000000000000 = 1/2 + 1/4 + 1/16 = 0,8125

• Donc valeur : + 1,81252129-127 = + 1,812522 =

7,25

M1103 2019-2020

(53)

2. Représentation des données

180

Nombres réels

• Représentation en virgule flottante (« Floating Point »)

• Représentation («

codage

») d’un nombre en virgule flottante

1) On détermine le signe du nombre

2) On représente le nombre réel en représentation binaire, en virgule fixe

3) On compte le décalage nécessaire

pour qu’il ne reste qu’un seul chiffre à gauche de l’exposant 4) On calcule le codage de l’exposant = décalage + 127

(si exposant sur 8 bits)

ou = décalage + 1023 (si exposant sur 11 bits) 5) On recopie la mantisse, en enlevant le « 1 »

M1103 2019-2020

(54)

2. Représentation des données

181

Nombres réels

• Représentation en virgule flottante (« Floating Point »)

• Représentation («

codage

») d’un nombre en virgule flottante

• Exemple 1 : représenter

-12,5

en virgule flottante sur 32 bits (1 bit signe + 8 bits exposant + 23 bits mantisse)

M1103 2019-2020

(55)

2. Représentation des données

182

Nombres réels

• Représentation («

codage

») d’un nombre en virgule flottante

• Exemple 2 : représenter

1/3 = 0,333333…

en virgule flottante sur 32 bits (1 bit signe + 8 bits exposant + 23 bits mantisse)

M1103 2019-2020

(56)

2. Représentation des données

183

Nombres réels

• Représentation en virgule flottante (« Floating Point »)

• Valeurs particulières

• Les valeurs où tous les chiffres de l’exposant sont à 0 ou à 1 servent à représenter

des nombres particuliers :

 Exposant = 0 et mantisse = 0  nombre = 0

 Exposant = 11111111 et mantisse = 0  nombre 

 Exposant = 11111111 et mantisse  0  Not a Number (NaN)

 Exposant = 0 et mantisse  0  nombre dénormalisé

(valeur absolue très petite – on abandonne ici la notation scientifique : valeur = signe × mantisse × 2-décalage + 1

= signe × mantisse × 2-126)

M1103 2019-2020

(57)

2. Représentation des données

184

Nombres réels

Représentation en virgule flottante (« Floating Point »)

• Précision en représentation sur 32 bits (« simple precision ») :

23 bits de mantisse  7 chiffres décimaux

Exemple : si l’on souhaite représenter 

= 3,1415926535897932384626433832795...

On peut le représenter soit :

Par 3,141592 (en tronquant)

Par 3,141593 (en arrondissant)

 Pour une précision + grande 

représentation sur 64 bits (dont 52 bits de mantisse)

= « double precision »

M1103 2019-2020

(58)

2. Représentation des données

185

Nombres réels

• IEEE 754 standard : simple & double precision floating point representations

M1103 2019-2020

(59)

2. Représentation des données

186

Nombres réels

• IEEE 754 standard : simple precision (32 bits)

• Plus petit nombre :

1 00000001 00000000000000000000000

• Plus grand nombre :

0 11111110 11111111111111111111111

• Echelle : de 2

-126

à 2

128

• Plus petit écart : mantisse = 1  2

-24

M1103 2019-2020

(60)

2. Représentation des données

187

2.4 Représentation des caractères

(valeurs dites

« alphanumériques »)

M1103 2019-2020

(61)

2. Représentation des données

188

Caractères

• Dans l’alphabet français, il y a 26 lettres

 il faut 5 bits pour les « coder »

• Il faut également rajouter les majuscules, minuscules + ponctuation  une centaine de caractères

 il faut au moins 7 bits

• On fait correspondre à chaque caractère un nombre : code ASCII pour American Standard Code for Information Interchange

• Avec 7 bits, on peut représenter jusqu’à 128 caractères

= table ASCII de base

• En pratique, on utilise un codage sur 1 octet (8 bits)

= table ASCII étendue

M1103 2019-2020

(62)

2. Représentation des données

189

Caractères

M1103 2019-2020

• Table ASCII de base

(63)

2. Représentation des données

190

Caractères

M1103 2019-2020

• Table ASCII étendue

L’apparence exacte des caractères dépend du périphérique utilisé (type d’écran, d’imprimante etc)

(64)

2. Représentation des données

191

Caractères

M1103 2019-2020

• Exemple : Données

présentes sur un

disque dur

(65)

2. Représentation des données

192

Caractères

• Si on veut représenter des caractères chinois, arabes, russes… on est vite à court de place…

• Unicode : un code standard (sorte de ASCII sur 16 bits) pour couvrir toutes les langues du monde

• Lorsque ça ne suffit pas (ex. : symboles mathématiques)

 en mode graphique, on utilise des « polices » de caractères

= tables faisant correspondre à une valeur du code, pour chaque police, une « image » du caractère

• Le même code correspond donc à un caractère différent en fonction de la police utilisée  possibilité d’utiliser

une infinité de caractères en définissant différentes polices M1103 2019-2020

(66)

2. Représentation des données

193

2.5 Représentation du son

M1103 2019-2020

(67)

2. Représentation des données

194

Son

• Comme pour les nombres réels, on ne peut pas représenter tous les sons présents dans la nature car il y en a une infinité

• On ne peut pas non plus représenter tous les niveaux sonores…

pour les mêmes raisons

• Le son est donc un signal analogique (continu)

• Enfin, les espaces de stockage sont limités

• Avant d’enregistrer le son, on procède à sa conversion en un signal électrique analogique, qui subit ensuite un

« échantillonnage » = conversion analogique/numérique (CA/N)

• Dans le temps  période d’échantillonnage

• Au niveau de la valeur (écart entre deux valeurs successives de l’intensité sonore  résolution

M1103 2019-2020

(68)

2. Représentation des données

195

Son

• Echantillonnage et période (fréquence) d’échantillonnage

M1103 2019-2020

(69)

2. Représentation des données

196

Son

• Echantillonnage et période (fréquence) d’échantillonnage

M1103 2019-2020

(70)

2. Représentation des données

197

Son

• Echantillonnage et période (fréquence) d’échantillonnage

M1103 2019-2020

(71)

2. Représentation des données

198

Son

• Résolution

M1103 2019-2020

(72)

2. Représentation des données

199

Son

• Résolution

M1103 2019-2020

(73)

2. Représentation des données

200

Son

Quelques valeurs numériques

Résolutions :

Téléphone fixe : 8 bits

Téléphone mobile : 13 bits

CD : 16 bits/canal

MP3 : flux d’entrée 16 ou 24 bits/échantillon + compression

flux de sortie ~ 1,33 bits/échantillon

Fréquences d’échantillonnage :

Téléphone fixe : 8 kHz

CD : 44,1 kHz

MP3 : fréquence d’entrée 32 kHz, 44,1 kHz, 48 kHz, 96 kHz + compression débit de sortie 32 à 384 kbps

M1103 2019-2020

• Débit et vitesse de transmission : Exemple du CD Une minute (60 s) de musique stéréo nécessite:

44100 * 60 * 16 * 2 = 84,672*106 bits ~10 Mo

(74)

2. Représentation des données

201

2.6 Représentation des images fixes

M1103 2019-2020

(75)

2. Représentation des données

202

Images

• Deux types de représentations :

M1103 2019-2020

• Représentation matricielle (« bitmaps »)

JPEG, GIF, TIFF, BMP, PNG

• Représentation vectorielle (tracé de courbes définies par leurs expressions

mathématiques) PS/EPS, SVG, AI, FLA/SWF, PDF

(76)

2. Représentation des données

203

Images

• Images de type « bitmap »

M1103 2019-2020

• Paramètres

nécessaires à la représentation :

• Nb de colonnes

• Nb de lignes

• Nb de bits/pixel

(77)

2. Représentation des données

204

Images

• Images de type « bitmap »

M1103 2019-2020

• Représentation couleur/noir et blanc

0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

(78)

2. Représentation des données

205

Images

• Images de type « bitmap »

M1103 2019-2020

• Représentation couleur/niveaux de gris/noir et blanc

(79)

2. Représentation des données

206

Images

• Images de type « bitmap »

M1103 2019-2020

• Représentations graphiques les plus courantes :

Image en N/B : 1 bit/pixel

Image en niveaux de gris : 8 bits/pixel

Image en couleurs de base : 8 bits/pixel

Image en couleur : 3*8 = 24 bits/pixel

N/B

1 bit/pixel Niv. gris, 8 bits/pixel Couleur,

24 bits/pixel

(80)

2. Représentation des données

207

Images

• Images de type « bitmap »

M1103 2019-2020

• Représentation RVB (Rouge-Vert-Bleu) RGB

L’addition des 3 couleurs (avec divers niveaux d’intensité) permet de reproduire toutes les couleurs

Affichage sur écran : de type RVB

Addition des 3 couleurs au max de luminosité  blanc

(81)

2. Représentation des données

208

Images

• Images de type « bitmap »

M1103 2019-2020

• Représentation RVB (Rouge-Vert-Bleu)

• Avec 3 x 1 octet, on peut coder : 256*256*256 = 16,7 millions de couleurs (l’œil humain en perçoit max. 500 000)

(82)

2. Représentation des données

209

Images

• Images de type « bitmap »

M1103 2019-2020

• Définition de l’image : nb. de pixels = nb colonnes*nb lignes

• Résolution : exprimée en PPP = Pixels Par Pouce ou DPI = Dots Per Inch

1 inch (pouce) = 2,54 cm

18 DPI 72 DPI

Références

Documents relatifs

L’octet est l’unité de mesure qui convient pour calculer la taille d’un (petit) document texte. Pour des textes plus importants, on utilisera le kilo-octet et

L'unité de transfert de base dans un réseau internet est le data- gramme (généralement appelé paquet IP) qui est constitué d'un entête et d'un champ de données.. 0 8 16

L'adresse IP est présente dans le cache de l'émetteur, il lit l‘adresse MAC correspondante pour envoyer la trame Ethernet. L'adresse IP est absente du cache

[r]

◦ Nos matériels ne sont pas forcément obsolètes au bout de 3 ans. ◦ Donnons nos «vieux» matériels fonctionnels aux associations spécialisées, pour une deuxième vie. ◦

Nous optons ici pour « une graduation d’observation » (faire preuve du critère dans la continuité) de l’accomplissement de chaque critère par l’agent, observation pouvant

Cette limite permet de garantir que si un adaptateur choisit une valeur de K inférieure à celle de tous les autres adaptateurs impliqués dans une collision, il pourra transmettre

Le champ Longueur totale est codé sur 16 bits et représente la longueur du paquet incluant l'entête IP et les Data associées.. La longueur totale est exprimée en octets,