Système dexploitation : Assembleur Semaine 03 Gestion de la mémoire.

10
Système d’exploitation : Assembleur Semaine 03 Gestion de la mémoire

Transcript of Système dexploitation : Assembleur Semaine 03 Gestion de la mémoire.

Page 1: Système dexploitation : Assembleur Semaine 03 Gestion de la mémoire.

Système d’exploitation : Assembleur

Semaine 03Gestion de la mémoire

Page 2: Système dexploitation : Assembleur Semaine 03 Gestion de la mémoire.

Gestion de la mémoire : Espace adressable

• bus 20 bits (8088) :– 220 emplacements adressables– 1.048.576 emplacements d’un octet adressables– 1 Mo

• bus 32 bits (80386) :– 232 emplacements adressables– 4.294.967.296 emplacements d’un octet adressables– 4 Go

Page 3: Système dexploitation : Assembleur Semaine 03 Gestion de la mémoire.

Gestion de la mémoire : Espace adressableCarte de la mémoire adressable sous 1Mo

Page 4: Système dexploitation : Assembleur Semaine 03 Gestion de la mémoire.

Gestion de la mémoire (1/7)

• Problème du 8088 :– La taille des registres est de 16 bits– Or l’adressage se fait sur 20 bits…

• La solution :– SEGMENTATION : passage d’une adresse de 16 bits

à une adresse de 20 bits

Page 5: Système dexploitation : Assembleur Semaine 03 Gestion de la mémoire.

Gestion de la mémoire (2/7)

• Notion d’adresse effective– C’est l’offset (décalage par rapport au début du segment)– C’est donc la distance qui sépare l’information à atteindre

du début du segment• Notion d’adresse logique

– L’adresse sous le format xxxx:yyyy• Où xxxx est le numéro de segment• Et yyyy est l’offset dans ce segment

• Notion d’adresse physique– C’est le résultat du calcul RegSeg0000b + offset– C’est une adresse sur 20 bits

Page 6: Système dexploitation : Assembleur Semaine 03 Gestion de la mémoire.

Gestion de la mémoire (3/7)

Page 7: Système dexploitation : Assembleur Semaine 03 Gestion de la mémoire.

Gestion de la mémoire (4/7)Exemples:

• Que signifie : CS:IPavec CS= 0ABC et IP=1234 ?

• IP=362A CS=6ED1. Adresse physique ?ES=1234 DI=5678. Adresse physique ? SS=4321 BP=BCDE. Adresse physique ?

• CS=89B2 adresse physique=8AE43 IP=?

• Adresse physique=A2B4C IP=? CS=?

• Adresse physique=ABCDE DS=? SI=?

Page 8: Système dexploitation : Assembleur Semaine 03 Gestion de la mémoire.

Gestion de la mémoire (5/7)Exemples:

• Soit une donnée A se trouvant dans le segment de données (12C4) à l’adresse effective 7AF2 Où se situe la donnée en mémoire ?

• Si CS=17A8 DS=4F8C SS=205E ES=3B60,– A quelles adresses physiques correspondent

ES:3B60DS:3B60SS:64F2CS:0000

– A quelle adresse physique se trouve l’instruction dont l’adresse effective est 5AF8?

Page 9: Système dexploitation : Assembleur Semaine 03 Gestion de la mémoire.

Gestion de la mémoire (6/7)• 4 zones de 64 Ko : CS, DS, ES, SS

• Dans la zone CS:0000 à CS:FFFF se trouve le code source du programme

• Dans la zone DS:0000 à DS:FFFF se trouvent les données du programme

• Dans la zone ES:0000 à ES:FFFF se trouvent les données supplémentaires

• Dans la zone SS:0000 à SS:FFFF se trouve la pile de sauvegarde

• En mettant bout à bout ces 4 segments, on ne pourrait adresser que 256Ko.

• Dans ce cours d’introduction, nous ne dépasserons jamais 64Ko de mémoire pour le code, les données, les données supplémentaires et la pile (c.à.d. plus de 10000 lignes!!!)

• Les 4 registres de segment contiendront donc toujours la même adresse

FFFFFh

00000h

Zone disponible à l’utilisateur

Largeur : 1 octet

Page 10: Système dexploitation : Assembleur Semaine 03 Gestion de la mémoire.

Gestion de la mémoire (7/7)

• Rangement des données en mémoire

• Attention : Octet de poids le plus fort à la plus forte adresse.

• Si on va lire à 012A6 : FF03 et pas 03FF

F0012A9

21012A8

FF012A7

03012A6

A2012A5

00012A4

…….

…….