Architecture des ordis

publicité
Système d’exploitation et architecture des ordinateurs
Architecture des ordinateurs :
L’ordinateur
Fonction d’un ordinateur
La mémoire cache est une mémoire intermédiaire, on charge les instructions qui sont
l’ensemble du programme ;
La mémoire interne est la mémoire principal ;
La mémoire externe, ex : lecteur dvd, disque dur ;
Les entrés sorties : souris, clavier.
Exécuter des programmes ;
Les programmes se composent d’un ensemble d’instructions ;
Les instructions sont rangées en mémoire ;
Les composants de l’ordinateur :

Processeur

Mémoire (stocker les donnés)

Module entré sortie

Bus système (prend en charge toutes les communications entre les élément ;
CP : compteur de programme, adresse mémoire des instructions, augemente la vitesse
CPU : registre interne, registre tampon
RI : registre interne
RT :
Le processeur lit une à une les instructions dans la mémoire et les exécute ;
Le cycle d’instruction est le traitement nécessaire pour une instruction :

Lecture d’une instruction

Lecture d’une ou plusieurs opérandes

Rangement d’une ou plusieurss opérandes

Test d’interruption (sert à vérifier les instructions).
Le CP (compteur de programme) contient l’adresse de lza prochaine instruction à lire :

Il est incramenté à chaque lecture
Le processeur place l’instruction du CP dans le RI (registre interne) et incrémente le CP ;
Puis il traite l’instruction.
Types d’instructions en mémoire : calculs, mise en mémoire, vérifications
L’intruction peut-être :

Une lecture ou une écriture mémoire

Une lecture ou une écriture E/S

Un traitement arithmétique des données

Un contrôle : la prochaine instruction est à l’adresse…
(Cas des instructions conditionnelles et des appels de sous-programmes)
Une interruption comme (sont nom l’indique) interrompt le cycle d’instructions ou le
programme en cours d’exécution.
Types d’interruptions : temporisations, manque de mémoire, vérification exécution d’autres
programmes, reset,
Une interruption peut être :
Une interruption de programme :

Dépassement de capacité

Division par 0

Instruciton illégale
Un temporisateur :

Permet au système d’exploitation d’effectuer régulièrement certaines fonctions
Une interruption E/S :

Exemple : l’utilisateur écrit au clavier
Une défaillance matérielle
Pour chaque périphérique E/S il y a un gestionnaire d’interruption
Un périphérique E/S
Les différentes structures de bus :
Les lignes de données

Transmettent uniquement des données

Déterminent les performances
Les lignes d’adresses

Désignent la source ou la destination des données du bus de données
Les lignes de contrôle

Contrôlent l’accès et l’utilisation des lignes de données et d’adresse
Physiquement, ce sont des lignes métalliques gravées sur la carte.
Ordinateurs modernes :
 Hiérarchisation des bus
 Des tampons sont ajoutés entre les bus
 Le bus PCI
 Bus interne permettant de connecter des cartes d’extension sur la
carte mère d’un ordinateur
 Bus haut débit
 Indépendant du processeur
 Meilleurs performsances que le bus système
La mémoire cache
Influence directe sur la performance d’un ordinateur
Pour améliorer les performances :
Garder au plus près du processeur (en cache), les accès récents
De manière à accéder le moins possible à la mémoire externe
La mémoire cache est une copie de certaines parties de la mémoire principale ;
Lorsque le processeur tente de lire un mot, il vérifie auparavant s’il ne se trouve pas déjà
dans le cache ;
L’accès aux mots est ainsi plus rapide ;
Si le mot ne se trouve pas dans le cache, on copie d’abord le bloc dans le cache ;
Puis le cache donne l’accès au mot au processeur ;
Il est fort probable que lorsqu’on souhaite accéder à une information d’un bloc, on souhaite
accéder aux informations environnantes de ce mot dans le bloc.
Le cache doit être suffisamment grand
 Stocker toutes les données nécessaires
Le doit être suffisamment réduit
 Pour permetre d’accéder aux informations rapidement
Hiérarchie de caches
PowerPC G4
1 cache interne : cache L1
un cache pour les données de 32Ko
un cache pour les instruction de 32Ko
2 cache externes
cache L2 : cache mixte (données et instruction) de 256Ko à 1Mo
Cache L3 : cache mixte données et instruction de 2…
Pentium 4
1 cache interne cache L1
un cache pour les données de 8Ko…
Il existe différents algorithmes pour remplacer les blocs dans le cache
Du plus efficace au moins efficace :
 Moins récemment utilisé : LRU : least recently used
 Premier entré premier sorti : FIFO : first in first out
 Moins fréquemment utilisé : LFU : least frequently used
 Remplacement aléatoire
La mémoire interne
Mémoire principale de l’ordinateur.
DRAM :
Dynamic Random Access Memory
Mémoire vive interne
L’information est une charge électrique sur un condensateur
Cette charge diminue avec le temps et doit être rafraichie régulièrement
Une valeur seuil détermine si c’est un 1 ou 0 pour le bit
L’information s’efface avec le temps
Selon vous, est il utile d’attendre 10 à 20 secondes avant…
La DRAM synchrone (SDRAM) (IBM) :
Echange les données avec le processeur en synchronisaton avec une horloge interne
Quand une requête est faite par le processeur, le nombre de cycles au bout duquel de DRAM
aura fait l’action est connue par avance
Le processeur peut donc continuer à travailler
Envoyer des données vers processeur deux fois par cycle
DRAM rambus (RDRAM) :
Principale concurrente de la SDRAM
Basée sur un bus interne qui définit la vitesse transmission
Le type d’action est transmis par le bus et intégré aux données transmises
Gian de temps
Vitesse de bus : 800 mb/s
DRAM cache (CDRAM) (mitsubichi) :
Elle inclut un petit cache SRAM de 16 ko
Elle peut servir de véritable cache ou de tampon pour prendre en charge l’accès séquentiel à
un bloc de données
Préchargement dans la SRAM cache
SRAM :
Static Random Access Memory
Mémoire vive interne statique
La plus rapide à se décharger
Tout disparaît lorsque l’alimentation est coupée
Utilisée pour le cache
Pourquoi ?
ROM :
Read Only Memory
Mémoire morte
Mémoire permanente (non volatile, lecture seule), les données ne peuvent être effacées
Elle sert aux :
Sous programme des bibliothèques pour les fonctions fréquemment utilisées
Programmes du système
…
PROM :
Programmable ROM
ROM programmable une seule fois
EPROM :
Erasable PROM
ROM effaçable et programmable globalement et électriquement par (rayonnement uv)
EEPROM :
Electrical EPROM
EPROM programmable octet par octet
Mémoire flash :
PROM effacble par bloc
La mémoire externe
Disque magnétique
Aspect physique :
C’est un plateau rond composé
D’un matériau non magnétique (surbstrat)
Recouvers d’un plateau…
Les données sont enregistrées puis récupérées du disque via une bobine conductrice : la tête
La tête est fixe et le plateau tourne en dessous en phase de lecture et d’écriture
Sur la plupart des disques il y a une tête de lecture et une tête d’écriture
Sur le plateau les données sont oragnisées en anneaux concentriques : pistes
Largeur d’une piste = largeur de tete
Une surface contient des milliers de pistes
Des espaces entre les pistes évitent les erreurs induites par un mauvais alignement de la
tete sur les pistes
Les pistes sont divisées en secteurs
Quelques centaines de secteurs par piste
La lontgueur d’un secteur est fixe 512 octets
Les secteurs adjacents sont séparés par des espaces intersecteur
Des marqueurs invisibles à l’utilisateur délimitent chaque secteur : début, taille, identifiant du
secteur, numéro de piste, fin.
Disque à tête fixe : une tête de lecture / écriture par piste
Disque à tête mobile : une seule de lecture / écriture, une montée sur un bras déployable et
rétractable, un arbre fait tourner le disque.
Les pistes d’une surface de plateau constituent un cylindre.
2 types de disques :
Disques simple face
Disques double face  une couche magnétique sur les faces du plateau
Certains disques contiennent plusieurs plateaux  une tête par surface de plateau
Pour mesurer la performance des accès à un disque :
Temps d’attente du composant
 Lorsqu’un processus émet une requête d’E/S, il doit d’abord attendre dans une file
d’attente qu’un composant soit disponible avant de lui être assigné
Temps d’attente du canal
 Si le canal est partagé avec d’autres lecteur de disques, il y a un délai d’attente
supplémentaire
temps de positionnement :
temps nécessaire pour positionner la tête au dessus de la piste
disques durs modernes < 10 ms
le controleur de disque attend ensuite que le secteur approprié tourne pour venir s’aligner
avec la tête
délai du au composant occupé :
si le composant fait une autre tâche, il faut attendre qu’il ait fini le cycle
délai de rotation :
temps qu’il faut pour positionner le début du secteur sous la tête
disques durs modernes : entre 100 ms et 50ms
La technologie RAID
Reductant array of independant disks :
Reseaux redondants de disques indépendants
Utilisation de plusieurs disques externes en parallèle :
Accèus simultanés à plusieurs disques
7 niveaux différents de 0 à 6
RAID 0 :
Pas de redondance
Possibilité d’émettre deux requêtes en parallèle sur deux disques différents
RAID 1 :
Duplication des données
Chaque dique possède un disque miroir
RAID 2 et 3 :
Techniques d’accès parallèle aux différentes données
En cas de défaillance d’un disque, on accède au disque de parité et les données sont
reconstruites
RAID 4 à 6 :
Accès indépendants et non plus parallèles
…
Mémoire optique
CD/DVD : lecture seule, audio, vidéo
CD-ROM lecture seule, tout type d’information. 650 mo
CD-R/DVD-R : 1 seule écriture possible
CD-RW/DVD-RW : Ré-enregistrable
Fonctionnement d’un CD :
Un moteur fait tourner le disque sous un laser faible puissance
Creux lumière dispersée : faible intensité en retour
Méplats lumière d’intensité plus grande en retour
Un capteur détecte les changements entre creux et méplats
1 : début et fin d’un creux
0 : pas de chagement d’état
Les données sont organisées en spirale et non en disques  on balaie selon une vitesse
linéaire constante est non plus angulaire
Fonctionnement d’un DVD :
Un cd ou un dvd est moins couteux à reproduire qu’un disque magnétique
Il est amovible possibilité d’archivage
Mais le temps d’accès est plus long qu’un disque magnétique
Bande magnétique
Même principe que les disques magnéiques
Bande polyester souple recouverte d’une pellicule de matériau magnétique
Données organisées en pistes parallèles (18 à 36 pistes parallèles)
…
Mémoire flash externe
Les entrées/sorties
Ce sont les interfaces d’un ordinateur avec monde extérieur (périphériques externes) :
Périphériques lisibles par l’homme : écran, imprimante, clavier, souris, etc
Périphériques lisibles par l’ordinateur : disques magnétiques, capteurs, etc
Périphériques distants : modem, terminal, etc
Il y a un modure E/S dédié à chaque prériphérique
Un module E/S a pour fonction :
 Controler et coordonner les flux de données
 Communiquer avec le proscesseru et les périphériques : décoder les signaux
électriques (imprimante) et les étatns des périqphériques (très lents)
 Mettre en mémoire tampon des données (lenteur des périphériques)
 Détecter les erreurs, dysfonctionnements et pannes
Les E/S programmées
Echange de données proceesseur / module E/S
Le programme contrôle totalement l’opération durant toute sa durée : il doit attendre la fin de
l’opération, il y a perte de temps.
Un module E/S peut rrecevoir 4 types de commandes du processeur :
 Contrôl : active le périphérique et lui indique ce qu’il doit faire.
 Test : teste les différentes conditions d’état (alimenté, prêt, etc).
 Read : lecture des données du périphérique et placement dans le tampon du module
E/S.
 Write : transmission d’une donnée provenant du processeur au périphérique via le bus
système.
Les E/S gérées par interruption
Le processeur émet une commande, puis exécute un autre travail. Quand le modure E/S a
traité la commande, il émet une requête de service. Le processeur interropt son travail.
Du point de vue du modure E/S :
 Entrée : reception d’une commande du processeur
 Lecture des données du périphérique
 Ecriture de la donnée dans le tampon (registre de données)
 Interruption transmise au processeur (via ligne de contrôle du bus système)
 Attente que le processeur réclame la donnée
 Le module place la donnée sur le bus.
Du point de vue du processeur :
 Emission d’une commande
 Exécution d’une ou plusieurs taches
 A la fin de chaque cycle d’instructions, test des interruptions
 S’il y a une requête, il sauvegarde le contexte du programme en cours
 Stockage des données transmises dans la mémoire interne
 Restauration du contexte du programme interrompu
Les interruptions peuvent venir de plusieurs modules : quel module a envoyé quelle
interruption ? Ordonner les interrupiton qui arrivent en même temps : priorités affectées aux
périphériques.
Les E/S gérées par interruption demandent néamoins une intervention active du processeur.
Le transfert des données doit passer par le processeur :
 Le débit de transfert est donc limité par la vitesse à laquelle le processeur teste et sert
un périphérique


Le processeur est occupé à gérer chaque transfert E/S
L’acces direct à la mémoire est utiles pour le transfert de gros volumes de données
Les accès directs à la mémoire
DMA : Direct Access Memory. Implique un module supplémentaire sur le bus système : le
module DMA. Il s’octroie le contrôle du système pour transférer les données vers et depuis la
méamoire en passant par le bus système.
Quand le processeur veut lire ou écrire un bloc de données il émet une commande vers le
modure DMA, il continue ensuite son autre tâche. Le module DMA transfert le bloc en volant
des cycles de bus au processeur : simple ralentissement du processeur. Lorsque le transfert est
terminé, il envoie un signal d’interruption au processeur.
Support du système d’exploitation
Le système d’exploitation (Opérating Système, OS) est le logiciel qui contrôle les
programmes d’un processeur et gère ses ressources.
Linux, windows, mac os, unix, bsd, vms, unix système
Vue d’ensemble
Couches et vues du système informatique (voir schéma)
Fonctions :
 Contrôle l’exécution des programmes d’applications
 Interface entre utilisateur et matériel
Objectifs :
 Ergonomie : faciliter l’utilisation d’un ordinateur
 Efficacité : gérer les ressources du système
Les services :
 Assister le programmeur dans la création de programmes
 Exécution de programmes
 Accès aux périphériques
 Accès contrôlés aux fichiers
 Accèus au système
 Detection d’erreur et réponse
 Statistiques (sur les ressources et leurs taux d’utilisation)
La mémoire principale héberge une partie du système d’exploitation (la plus utilisée) : le
noyau.
Les différents types de systèmes d’exploitation :
 Système à traitement par lots multiprogrammés : système actuels, le processeur
effectue plusieurs programmes en meme temps : système mutitâche. Principal
objectif : utiliser le processeur au maximum…
 Système à temps partagé : plusieurs utilisateur simultanés (via terminaux) sur un
serveur. Le système d’exploitation entrelace l’exécution des porgrammes de chaque
utilisateur. Principal objectif : minimiser le temps de réponse. Sources des directives :
commandes saisies sur terminal.
Ordonnancement
L’ordonnacement des tâches est l’une des tâches les plus importantes du système
d’exploitation. Le système interrompt de temps en temps certains processus pour partager
équitablement les tâches.
Chaque requête de processus est placée dans la file d’attente à long terme. Lorsqu’une place
se libère dans la file d’attente à court terme, la requête est transformée en processus et placée
dans la file d’attente à court terme.
Le processeur passe de l’exécution de A à B si :
 A émet un appel de service (une requête par exemple)
 A provoque une interruption
 Une opération E/S de B s’achève : une interruption E/S vient d’être reçue du module
E/S
Sauvegarde des données contextuelles de A. Eventuellement restauration des données
contextuelles de B. Exécution de B. une fois B terminée, le système d’exploitation revient à
A.
Le processeur alterne entre l’exécution du système d’exploitation et des processus utilisateur.
Lorsque c’est au tour du système d’exploitation, il choisit le prochain processus dans la file
d’attente à court terme. Chaque tâche a une priorité, le système d’exploitation est chargé
d’orienter le processeur vers les tâches les plus urgentes.
La gestion mémoire
La file d’attente à long terme est en général sur le disque. La file d’attente à court terme est
dans la mémoire principale. Permutation :
 Un processus de la d’attente à court terme est en attente d’une opération d’E/S, il est
placé sur une file d’attente intermédiarie située sur le disque
 Le système d’exploitation amène alors en mémoire principale un autre processus du
disque
Partitionnement de la mémoire :
 Partitions de tailles fixes : gaspillage de la mémoire : certaines zones sont non
utilisées.
 Partitions de tailles variables bien plus efficace : allocation de la taille exactement
requise pour chaque processus de la mémoire. Néanmoins, à force de permuter des
processus, on peut avoir certains trous. Compactage : le système d’exploitation
déplace les processus.
Les unités de programmes sont des pages. Les cadres disponibles dans la mémoire sont des
pages mémoires. Les pages sont affefctées à des pages mémoires :
 Possibilité de charger le programme par morceau
 Le système d’exploitation tient à jour une table des pages pour chaque processus.
La mémoire virtuelle repose sur la pagination à la demande :
 La page d’un programme n’est appelée que lorsque l’on en a besoin
 Seules quelques pages sont en mémoire principale
 La taille d’un processur peut être supérieur à la taille de la mémoire principale
 Un utilisateura l’impression d’avoir à faire à une mémoire beaucoup plus grande
qu’elle n’est réellement : c’est la mémoire virtuelle.
Téléchargement