cours architecture des systèmes informatiques

of 48 /48
1 Cours Architecture des Systèmes Informatiques

Upload: ward

Post on 05-Jan-2016

45 views

Category:

Documents


8 download

Embed Size (px)

DESCRIPTION

Cours Architecture des Systèmes Informatiques. Plan: mémoire et périphériques. Aspects généraux, caractéristiques & besoins La mémoire des ordinateurs : vue matérielle Gestion de la mémoire, vision OS Périphériques Disque : bas niveau Disque : haut niveau. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Cours Architecture des Systèmes Informatiques

1

Cours Architecture des Systèmes Informatiques

Page 2: Cours Architecture des Systèmes Informatiques

2

Plan: mémoire et périphériques

Aspects généraux, caractéristiques & besoins La mémoire des ordinateurs : vue matérielle Gestion de la mémoire, vision OS Périphériques Disque : bas niveau Disque : haut niveau

Page 3: Cours Architecture des Systèmes Informatiques

3

Aspects de l’utilisation de la mémoire

On n’a pas besoin de toute la mémoire en même temps• Code du programme : la partie en cours d’exécution• Les données : utilisation souvent localisée

dans le temps et l’espace : variables localesdans le temps : allocation/libération dynamiqueutilisation par à-coups, sur des intervalles de temps courts

Utilisation irrégulière des ressources• Loi des 90-10

10% des données représentent 90% des accès(10% du code utilise 90% de la CPU)

Page 4: Cours Architecture des Systèmes Informatiques

4

“Localité des références”

Concept de “localité des références”• Sur un court laps de temps, le nombre “d’objets” utilisés est petit

WS, Working Set [Peter Denning, 1968] Programme

• Les instructions sont le plus souvent exécutées en séquences• Les boucles tendent à faire répéter de courtes séquences

Données• Variables locales, tables constituent des regroupements naturels

Mais… Évolution au fil des temps du WS• Comment gérer cette évolution ?

Page 5: Cours Architecture des Systèmes Informatiques

5

Mémoire : les performances

L’informatique a toujours besoin de mémoire plus rapide• La mémoire traditionnelle est lente comparée au processeur• La mémoire rapide est très chère• Et il en faut beaucoup…

Mais… “localité des références”• Optimiser l’utilisation de la mémoire ?

Notion de hiérarchie mémoire• Solution au dilemme coût / performances

Page 6: Cours Architecture des Systèmes Informatiques

6

Hiérarchie de mémoire Cache 10ns

RAM : 50ns

Disque magnétique 10ms

Disque magnéto-optique 500msBande magnétique minutes

Registres : 0 ns

Coû

t et V

itess

e

Page 7: Cours Architecture des Systèmes Informatiques

7

Gestion de cette hiérarchie

En grande partie automatique• Le compilateur décide, par une analyse statique du programme, quelles

données vont être temporairement conservées dans des registres, et génère les instructions de transfert

• La CPU détermine dynamiquement, au cours de l’exécution, quelles données de la mémoire centrale vont être placées dans le cache

• Le système d’exploitation décide de transférer entre la mémoire centrale et le disque des portions de programmes ou de données

Page 8: Cours Architecture des Systèmes Informatiques

8

Cache

Un élément critique de la hiérarchie mémoire• Taille réduite, comparée à celle de la mémoire centrale• Vitesse d’accès proche de celle du processeur, coût élevé• Contient des copies de parties de la mémoire centrale

Principe de fonctionnement• Un accès à la MC entraîne le transfert d’un bloc vers le cache

(principe de localité)• Les éléments du bloc sont accessibles de manière performante• Du fait de la rapidité nécessaire, la gestion du cache est entièrement

réalisée en matériel (invisible à l’OS ou aux applications)

Page 9: Cours Architecture des Systèmes Informatiques

9

Aspects de la gestion du cache D’où viennent les données ?

• Associer à chaque bloc du cache son adresse MC Politique de transfert des blocs

• Taille des blocs• Quel bloc “évacuer” pour en placer un nouveau ?• A quel moment réécrire en mémoire les données modifiées ?

Taille et technologie du cache• Petit, rapide et cher, ou grand, meilleur marché, et plus lent ?• Un/deux caches dans la hiérarchie ?• Séparer instructions et données ?

Page 10: Cours Architecture des Systèmes Informatiques

10

Algorithme de gestion du cache

Mappage direct• Le mot d’adresse xxxxYxxx se retrouve dans le bloc Y du cache• Simple, rapide, efficace à mettre en œuvre• Très inefficace quand deux blocs de MC se mappent au même endroit

lourde pénalité en temps d’exécution Mappage associatif

• On utilise une mémoire associative, une entrée par bloc de cache• A chaque bloc est associée sa position en mémoire• Recherche d’un bloc à travers la mémoire associative• Algorithmes de remplacement

Page 11: Cours Architecture des Systèmes Informatiques

11

Note : mémoire associative

Accès par contenu• On recherche une valeur dans la mémoire• La mémoire fournit l’adresse où se trouve la valeur• La recherche s’effectue simultanément sur tous les éléments de la

mémoire Dispositif matériel de coût élevé, conçu spécifiquement

pour chaque application• Plus complexe• Pas d’utilisation en grande quantité

Page 12: Cours Architecture des Systèmes Informatiques

12

Algorithmes de remplacement

Cas du seul mappage associatif• Moins récemment utilisé (LRU, least recently used)• File (FIFO, first in, first out)• Moins fréquemment utilisé (LFU, least frequently used)• Aléatoire (Random)

Réécriture des blocs modifiés• Écriture immédiate (Write through)

Conformité cache/MC, écritures multiples coûteuses• Écriture différée (Write back)

Incohérence possible cache/MC [ex: DMA disque]

Page 13: Cours Architecture des Systèmes Informatiques

13

Autres aspect de la gestion des caches

Tailles relatives blocs, cache, MC• Bloc : 4 à 8 “unités d’accès” de la CPU• Cache : 1/1000 de la taille MC

Localisation du cache• Sur la CPU (L1, level one)

80486 : 8 koPentium : 16 koPower PC [Motorola] : 64 ko

• Cache de second niveau (L2, level two)Carte mère, à côté du processeur : 512 à 1024 ko

Page 14: Cours Architecture des Systèmes Informatiques

14

Les unités de gestion de la mémoire

…Ou MMU, Memory Management Units Résoudre un problème récurrent : les trous de mémoire

• Comment rassembler de l’espace libre ?• Comment déplacer des blocs de mémoire utilisée• Comment mettre à jour des adresses dans un programme ?

Intermédiaire entre adresses logique et physique• Adresse logique : ce que voit et manipule le programme• Adresse physique : où est réellement conservée la donnée

Page 15: Cours Architecture des Systèmes Informatiques

15

Que va offrir une MMU ?

Outil matériel pour mieux gérer la mémoire physique d’une machine• Simplifier la gestion d’un ensemble de programmes• Simplifier la gestion de la mémoire au sein d’un programme• Offrir une protection entre programmes, et au sein d’un programme• Permettre un partage physique et logique de mémoire entre plusieurs

programmes• Simuler une mémoire physique “plus grande”

Page 16: Cours Architecture des Systèmes Informatiques

16

Segmentation

L’espace d’adressage logique d’un programme est partagé en segments contigus• Transparent au programme• Les segments sont de tailles différentes [multiples de 2k octets]• Informations nécessaires pour chaque segment

adresse “logique” de début du segment adresse physique effective du segment taille du segment informations diverses : n° programme, R/W, modifié, etc…

c.f. poly : le Z8010, pp 58-59

Page 17: Cours Architecture des Systèmes Informatiques

17

Pagination

Une segmentation où tous les segments ont même longueur - le dispositif le plus fréquent.

Taille typique : 4 à 8 ko.

Adresse logique

Numéro de page Déplacement

Adresse physique

Traduction

Page 18: Cours Architecture des Systèmes Informatiques

18

Mémoire virtuelle

Espace logique plus grand que l’espace physique• Pour l’ensemble des programmes• Au sein de chaque programme

L’espace logique est mappé sur un espace physique en mémoire secondaire : le “swap”, portion de disque

Les pages sont transférées entre la mémoire physique et le disque• Géré par le système d’exploitation• “Faute de page”

Page 19: Cours Architecture des Systèmes Informatiques

19

Problèmes Taille de la table des pages

• 4 Go adressables, pages de 4 ko => 1M d’entrées…• Coût de cette table…

table associative : numéro logique/numéro physiquematériel : équivalent de 8 Mo de mémoire => énormesolution mixte : hard+soft

tables à deux niveaux, table pour chaque programme cache rapide dans la CPU : TLB, Translation Lookaside Buffer

– 890486 ; 32 entrées, 98% de réussite

Algorithmes de gestion• Complexes : LRU, FIFO, Not Recently Used

Phénomène de thrashing : compétition pour la MC

Page 20: Cours Architecture des Systèmes Informatiques

20

La mémoire sous DOS

Vision DOS traditionnelle• 1 Mo divisée en 16 segments de 64 ko• 10 segments de mémoire RAM

0 à 640 ko• 1 segment ROM pour le BIOS• 1 segment RAM vidéo (VRAM)• segments “libres”

compléments BIOS ou VRAMcartouches enfichables

151413121110 9 8 7 6 5 4 3 2 1 0

ROM BIOSlibrelibre

ROM BIOS 2RAM vidéo

RAM vidéo 2RAMRAMRAMRAMRAMRAMRAMRAMRAMRAM

Page 21: Cours Architecture des Systèmes Informatiques

21

“Types” de mémoire

Mémoire conventionnelle : 640 premiers ko Mémoire haute : de 640 à 1024 ko Mémoire étendue : au delà de 1024 ko

• Extended Memory : de 16 Mo (80286) à 4Go (80386) Expansions mémoire

• Expanded memory ; commutation de bancs• “Norme” LIM/EMS : Lotus/Intel/Microsoft EM Specification

version 3.2 et 4.0

Page 22: Cours Architecture des Systèmes Informatiques

22

Utilisation de la mémoire sous DOS

Vision utilisateur : allocation & libérationAllocation par la primitive 48h ; bx = taille demandée [16 octets]Libération par la primitive 49h ; es:0 = adresse du bloc à libérer

Les blocs libres contigus sont rassemblés pour former un bloc plus gros

• “Paramétrer” la gestion de la mémoireFonction 58h : choisir first/best/last fit, high/low

first fit : le premier bloc trouvé de taille suffisante est alloué best fit : le bloc de la taille minimale est alloué last fit : comme first fit, en partant de la fin de la liste high/low : dans quelle mémoire allouer

Page 23: Cours Architecture des Systèmes Informatiques

23

Types d’adressage

E/S “traditionnelles”• Mémoire d’échange distincte de la mémoire centrale• Instructions spéciales pour la réalisation des E/S• Mécanisme de transfert avec la MC

E/S “mappées”• Mémoire d’échange et mots de commande sont visibles dans

l’espace d’adressage du processeur• Les opérations d’E/S se traduisent par des lectures et écritures en

MC• “Perte” d’une portion de la MC

Page 24: Cours Architecture des Systèmes Informatiques

24

Interface programmée

La CPU réalise la plus grosse partie du travail• Lancement d’une commande

paramètres spécifiques, données éventuelles• Attente d’un changement d’état• Lecture de l’état (“status”) du périphérique• Récupération des données, ou gestion de l’erreur• Poursuite par la CPU du programme courant

Caractéristiques• Simple [logiciel, matériel], synchrone, inefficace

Page 25: Cours Architecture des Systèmes Informatiques

25

E/S gérées par interruptions

Lancement synchrone des opérations• La CPU s’adresse au module d’E/S pour initialiser l’opération• Pendant l’E/S, la CPU peut continuer les traitements en cours• Le module d’E/S assure la gestion des opérations• Quand l’E/S est achevée, il le signale à la CPU en provoquant une

interruption La CPU reconnaît l’interruption, et la traite à la fin de

l’instruction en cours• Récupération des données

Page 26: Cours Architecture des Systèmes Informatiques

26

E/S en accès direct mémoire

Décharger “encore plus” la CPU Lancement synchrone des opérations

• Appel au module E/S spécification de l’opération et des paramètres spécification d’une adresse mémoire et d’un nombre d’éléments

• La CPU travaille pendant les opérations d’E/S• L’interruption indique la fin du transfert et la disponibilité des données

Le module d’E/S utilise le bus pour lire/écrire en MC• DMA : direct memory access

Page 27: Cours Architecture des Systèmes Informatiques

27

Interfaces externes

Ports E/S série et parallèle• Imprimantes, modems

BUS E/S à grande vitesse• SCSI, ESDI, IDE…

Disques,lecteurs CD-Rom, scanners• Ethernet

Réseau• Bus série P1394• Bus d’instrumentation : HP-IB, IEEE-488, etc.

Page 28: Cours Architecture des Systèmes Informatiques

28

Ports d’E/S “lents”

Port série• Norme RS-232

1 fil émission, 1 fil réception, 1 masse, 1 terre, 5 fils contrôle• Norme RS-422 (proche RS-232)• Norme MIDI [Musical Instrument Digital Interface]

1 fil émission, 1 fil réception, 1 masse• Interfaces “propriétaires” [souris, clavier]

Port parallèle• Interface “Centronics”

8 fils données, 1 masse, 1 signal “busy”, 1 signal “strobe]

Page 29: Cours Architecture des Systèmes Informatiques

29

Norme RS-232C / V.24

Spécifications mécaniques, électriques, fonctionnelles• V.24 du CCITT [Comité Consultatif International Télégraphique &

Téléphonique] = RS-232C de EIA [Electronic Industries Association]• Circuit UART : Universal Asynchronous Receiver Transmitter• Octets indépendants• Sérialisation• 7/8 bits données• bits start, stop• 25 broches• Débit : 110, 300,

1200… bauds

1 : Terre de protection2 : Transmission3 : Réception4 : Demande pour émettre5 : Prêt à émettre6 : Poste de données prêt7 : Masse8 : Détection de porteuse20 : Terminal de données prêt

Page 30: Cours Architecture des Systèmes Informatiques

30

Représentation des signaux

0 1 0 0 1 0 1 1 0

•Modulation numérique

•Modulation en amplitude

•Modulation en fréquence

•Modulation en phase

Page 31: Cours Architecture des Systèmes Informatiques

31

Bus SCSI - Small Computer System Interface

SCSI-1 [Apple, 1984]• 8 bits de données• Horloge à 5 MHz ; 5 MB/seconde• 8 “éléments” dont la CPU => 7 périphériques

SCSI-2• Standard actuel• Largeur du bus de 16 ou 32 bits• Horloge à 10 MHz• Grande variété de périphériques

Page 32: Cours Architecture des Systèmes Informatiques

32

Ethernet Bus à 10 ou 100 Mb/s, pour réseau local

• Câble coaxial ou paire torsadée• Équipements dotés d’un numéro unique sur 48 bits• Message : paquet de 128 à 1530 octets [0.1 à 1.5 ms]• 1024 stations [transducteur], 300 à 1000 m• Pas de contrôle central : les stations écoutent et réémettent si

nécessaire collisions détectées par l’émetteurréémission au bout d’un temps aléatoire

• Interconnexions :réémetteurs, filtres ou passerelles

Page 33: Cours Architecture des Systèmes Informatiques

33

Aspect électriquepropagation des ondes électro-magnétiques = 200,000 km/sphénomènes d’écho aux extrémités

Connexion des stations

Ethernet - technologie

R R

Transceiver

Station

Page 34: Cours Architecture des Systèmes Informatiques

34

Ethernet - collisions

S2

S1

T1 T5 T6

T2 T3 T4

T7

T8

T1, T2 : les stations S1 et S2 envoient un messageT3 : S2 détecte une collision due à l’émission de S1, arrête d’émettre en T4T5 : S1 détecte la collision due à l’émission de S2, arrête d’émettre en T6T7, T8 : le médium apparaît “libre” aux stations S1 et S2

Page 35: Cours Architecture des Systèmes Informatiques

35

P1394 - Bus série haute performance

Liaison série haute vitesse, faible coût Ordinateurs, Électronique générale 25 à 400 Mbps [3 à 50 MB] Jusqu’à 63 unités physiques Avec des “bridges”, jusqu’à 1022 bus interconnectés Communication par 3 niveaux de protocoles:

• Physique, liaison, transaction

Page 36: Cours Architecture des Systèmes Informatiques

36

Disques magnétiques

Aspects technologiques• Support magnétique tournant sous une tête de lecture• Disquette : 3.5 pouces, capacité 800ko, 1.2, 1.44 ou 2.88 Mo, 2 faces• Disque dur : de 80 Mo à 10 Go, 3.5, 5 ou 8 pouces.

1 tête par face magnétisée, 1 ou + plateaux la tête se déplace le long d’un rayon la rotation du disque sous la tête détermine une piste1 face = ensemble de pistes concentriques cylindre : ensemble de pistes se

trouvant simultanément sous les têtes

Page 37: Cours Architecture des Systèmes Informatiques

37

Pistes et secteurs

Piste : partagée en plusieurs secteurs• Disquette DD : 80 pistes/face, 9 secteurs de 512 octets/piste = 720 ko

Secteur : “unité de lecture”, 256 à 4096 octets utiles• vue “déroulée” d’une piste : secteurs et “gaps”

• numérotation logique des secteurs ordre physique : “entrelacement” ex : 0 4 1 5 2 6 3 7

En-tête et numéro de secteur

Partie utile Checksum

Page 38: Cours Architecture des Systèmes Informatiques

38

Le travail du contrôleur disque

Réaliser les opérations d’entrées-sorties• Lectures/écriture de “secteurs”

Gérer des numéros de secteurs “logiques”, 0 à n-1• pistes, têtes et secteurs physiques• gestion des secteurs défectueux

réalisé au “formatage” du disque remplacer les secteurs défectueux par des secteurs “de réserve”

implique une “zone critique” du disque le disque est inutilisable si la zone critique est défectueuse

Page 39: Cours Architecture des Systèmes Informatiques

39

Disque : opérations de “haut niveau”

Fichier• Suite séquentielle d’octets désignée par un nom• Accès séquentiel, direct, indexé, etc…• Caractéristiques : taille, date création/modification, droits…

Gérer un ensemble de fichiers : “file system”• Organisation “à plat” [Macintosh HSFS version 1]• Organisation hiérarchiques [Dossiers imbriqués : DOS, UNIX]

Opérations :• Créer, déplacer, renommer, détruire des fichiers, modifier leurs attributs• Lire, écrire…

Page 40: Cours Architecture des Systèmes Informatiques

40

Un exemple : DOS 3.3

Numérotation des secteurs sur 16 bits [32 bits en DOS 4.0]

• Taille max : 65536 * 512 octets, soit 32 Mo.• Pas un problème pour les disquettes• Les disques dur peuvent être divisés en “partitions” de 32 Mo.

Organisation d’une partition :• Secteurs “réservés”, tables d’allocation, répertoire racine• Données• Secteur “cachés”

Page 41: Cours Architecture des Systèmes Informatiques

41

Secteur 0 : “Boot”Adresse

00h03h0Bh0Dh0Eh10h11h13h15h16h18h1Ah1Ch1Eh

Taille3822212212222

482

NatureSaut à la procédure de bootFabriquant, versionNombre d'octets par secteurNb. de secteurs par clusterNb. de secteurs réservésNombre de FATsNb. d'entrées dans la racineNb. de secteurs totalType du supportNb. de secteurs par FATNb. de secteurs par pisteNb. de têtes lecture/écritureNb. de secteurs cachésProcédure de boot, 55h, AAh

Page 42: Cours Architecture des Systèmes Informatiques

42

Table d’allocation des fichiers [FAT] 1 ou plusieurs exemplaires, secteurs 1 à n Entrées de 12 (avant DOS 3.0) ou 16 bits Chaque entrée est associée à un cluster Un cluster est l’unité d’allocation

• 1 ou 2 secteurs pour un floppy, 4 à 64 pour un disque dur Valeurs possibles des entrées :

• 0000h : cluster libre ; 0001h : entrée invalide• 0002h à FFEFh : cluster utilisé, pointeur vers cluster suivant du

fichier• FFF0h à FFF6h : “réserv锕 FFF7h : le cluster contient un secteur endommagé• FFF8h à FFFFh : le cluster est le dernier du fichier

Page 43: Cours Architecture des Systèmes Informatiques

43

Racine, données et secteurs cachés

Racine : un répertoire (taille indiquée dans sect. 0)• Entrée de 32 octets : “nom” du disque• Entrées de 32 octets

Données : taille calculable• Taille totale, moins S0, racine, FATs et Secteurs cachés

Secteurs cachés• Secteurs non inclus dans la zone données pour des raisons de

formatage, limitations, etc• Peuvent indiquer la présence de partitions supplémentaires

Page 44: Cours Architecture des Systèmes Informatiques

44

Répertoire Structure

Attributs : 1 si…

Octets Contenu0-7 Nom du fichier / 8 car. nom du disque8-10 Extension / 3 car. nom du disque11 Attributs12-21 Inutilisés22-23 Heure création24-25 Date création26-27 Numéro du premier cluster28-31 Nombre d’octets / 0 (répertoire/volume)

bit 0 : Read-only bit 3 : décrit un volumebit 1 : fichier caché bit 4 : décrit un répertoirebit 2 : fichier système bit 5 : modifié depuis back-up

Page 45: Cours Architecture des Systèmes Informatiques

45

Heure et Date, premier octet Heure

Date

Premier octet : valeurs spéciales

bits 15-9 : années depuis 1980 (0-127)bits 8-5 : mois (1:janvier, 12:décembre)bits 4-0 : jour (1 à 31)

bits 15-11 : heure (0-23)bits 10-5 : minute (0-59)bits 4-0 : seconde/2 (0-29)

E5h : entrée correspondant à un fichier effacé00h : entrée libre (plus d’entrée utilisée ensuite)

Page 46: Cours Architecture des Systèmes Informatiques

46

Types de fichiers : conventions DOS (suffixe unique, 3 car. max)

• .c .h : fichiers source C• .COM .EXE : fichiers de commande, exécutable

Unix, Mac : un ou + suffixes• .shar .tar shell archive, tape archive• .Z .gz .zip fichier comprimé par compress, gzip ou pkzip• .uu .hqx fichier encodé par uuencode ou binhex

ex : toto.tar.gz.hqx• .gif .jpeg .jpg .tiff .xmb : fichiers image• .ps .tex .dvi .man : postscript, TeX, DVI, man

Page 47: Cours Architecture des Systèmes Informatiques

47

Fichiers : opérations du DOS

Création de fichier Ouverture de fichier Fermeture de fichier

• Note : fermer les fichiers dès que possibleLes fichiers ouverts peuvent être endommagés en cas de coupure de

courant, reset machine, etc. Lecture, écriture, positionnement dans un fichier Recherche d'un fichier conforme à un schéma Destruction, renommage d'un fichier

Page 48: Cours Architecture des Systèmes Informatiques

48

Fichiers : autres opérations du DOS

Lire/changer les attributs Lire/modifier date et heure de modification Création de fichier temporaire Duplication d’un file handle Gestion des répertoires

• Création, destruction, déplacement• Choix du répertoire par défaut