syst emes d’exploitation cours 5/13 : m emoire thomas ... · fonctionnement de la m...

Post on 27-Jun-2020

7 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Systemes d’Exploitation

Cours 5/13 : Memoire

Thomas Lavergne & Nicolas Sabouret

Universite Paris-Sud

Licence 3 - semestre S5

Info32b Systemes d’Exploitation Thomas Lavergne 1/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Plan

1 Fonctionnement de la memoire

2 Pagination

3 Memoire virtuelle

4 Conclusion

Info32b Systemes d’Exploitation Thomas Lavergne 2/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Plan

1 Fonctionnement de la memoirePrincipe generalUn peu de calcul. . .Liaison d’adresse

2 Pagination

3 Memoire virtuelle

4 Conclusion

Info32b Systemes d’Exploitation Thomas Lavergne 3/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Role de la memoire

Espace de stockage

Ensemble ordonne de cases indexee par leur adresse et contenant :

Des instructions → registre PC sur le processeur

Des donnees → registre RADM sur le processeur

PC

RADM

UC

bus

Info32b Systemes d’Exploitation Thomas Lavergne 4/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Role de la memoire

Espace de stockage

Ensemble ordonne de cases indexee par leur adresse et contenant :

Des instructions → registre PC sur le processeur

Des donnees → registre RADM sur le processeur

PC

RADM

UC

bus

fetch

Info32b Systemes d’Exploitation Thomas Lavergne 4/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Role de la memoire

Espace de stockage

Ensemble ordonne de cases indexee par leur adresse et contenant :

Des instructions → registre PC sur le processeur

Des donnees → registre RADM sur le processeur

PC

RADM

UC

bus

fetch

Info32b Systemes d’Exploitation Thomas Lavergne 4/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Role de la memoire

Espace de stockage

Ensemble ordonne de cases indexee par leur adresse et contenant :

Des instructions → registre PC sur le processeur

Des donnees → registre RADM sur le processeur

PC

RADM

UC

bus

fetch

opcode

Info32b Systemes d’Exploitation Thomas Lavergne 4/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Role de la memoire

Espace de stockage

Ensemble ordonne de cases indexee par leur adresse et contenant :

Des instructions → registre PC sur le processeur

Des donnees → registre RADM sur le processeur

PC

RADM

UC

bus

Info32b Systemes d’Exploitation Thomas Lavergne 4/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Role de la memoire

Espace de stockage

Ensemble ordonne de cases indexee par leur adresse et contenant :

Des instructions → registre PC sur le processeur

Des donnees → registre RADM sur le processeur

PC

RADM

UC

bus

adressage(lecture)

Info32b Systemes d’Exploitation Thomas Lavergne 4/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Role de la memoire

Espace de stockage

Ensemble ordonne de cases indexee par leur adresse et contenant :

Des instructions → registre PC sur le processeur

Des donnees → registre RADM sur le processeur

PC

RADM

UC

bus

adressage(lecture)

Info32b Systemes d’Exploitation Thomas Lavergne 4/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Role de la memoire

Espace de stockage

Ensemble ordonne de cases indexee par leur adresse et contenant :

Des instructions → registre PC sur le processeur

Des donnees → registre RADM sur le processeur

PC

RADM

UC

bus

adressage(lecture)

adresse

Info32b Systemes d’Exploitation Thomas Lavergne 4/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Role de la memoire

Espace de stockage

Ensemble ordonne de cases indexee par leur adresse et contenant :

Des instructions → registre PC sur le processeur

Des donnees → registre RADM sur le processeur

PC

RADM

UC

bus

adressage(lecture)

adresse

Info32b Systemes d’Exploitation Thomas Lavergne 4/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Role de la memoire

Espace de stockage

Ensemble ordonne de cases indexee par leur adresse et contenant :

Des instructions → registre PC sur le processeur

Des donnees → registre RADM sur le processeur

PC

RADM

UC

bus

adressage(lecture)

Info32b Systemes d’Exploitation Thomas Lavergne 4/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Role de la memoire

Espace de stockage

Ensemble ordonne de cases indexee par leur adresse et contenant :

Des instructions → registre PC sur le processeur

Des donnees → registre RADM sur le processeur

PC

RADM

UC

bus

adressage(lecture)

donnee

Info32b Systemes d’Exploitation Thomas Lavergne 4/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Role de la memoire

Espace de stockage

Ensemble ordonne de cases indexee par leur adresse et contenant :

Des instructions → registre PC sur le processeur

Des donnees → registre RADM sur le processeur

PC

RADM

UC

bus

Info32b Systemes d’Exploitation Thomas Lavergne 4/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Role de la memoire

Espace de stockage

Ensemble ordonne de cases indexee par leur adresse et contenant :

Des instructions → registre PC sur le processeur

Des donnees → registre RADM sur le processeur

PC

RADM

UC

bus

adressage(ecriture)

Info32b Systemes d’Exploitation Thomas Lavergne 4/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Role de la memoire

Espace de stockage

Ensemble ordonne de cases indexee par leur adresse et contenant :

Des instructions → registre PC sur le processeur

Des donnees → registre RADM sur le processeur

PC

RADM

UC

bus

adressage(ecriture)

Info32b Systemes d’Exploitation Thomas Lavergne 4/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Role de la memoire

Espace de stockage

Ensemble ordonne de cases indexee par leur adresse et contenant :

Des instructions → registre PC sur le processeur

Des donnees → registre RADM sur le processeur

PC

RADM

UC

bus

adressage(ecriture)

adresse

Info32b Systemes d’Exploitation Thomas Lavergne 4/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Role de la memoire

Espace de stockage

Ensemble ordonne de cases indexee par leur adresse et contenant :

Des instructions → registre PC sur le processeur

Des donnees → registre RADM sur le processeur

PC

RADM

UC

bus

adressage(ecriture)

adresse

Info32b Systemes d’Exploitation Thomas Lavergne 4/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Role de la memoire

Espace de stockage

Ensemble ordonne de cases indexee par leur adresse et contenant :

Des instructions → registre PC sur le processeur

Des donnees → registre RADM sur le processeur

PC

RADM

UC

bus

adressage(ecriture)

Info32b Systemes d’Exploitation Thomas Lavergne 4/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Role de la memoire

Espace de stockage

Ensemble ordonne de cases indexee par leur adresse et contenant :

Des instructions → registre PC sur le processeur

Des donnees → registre RADM sur le processeur

PC

RADM

UC

bus

adressage(ecriture)

donnee

Info32b Systemes d’Exploitation Thomas Lavergne 4/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Structure de la memoire

Adressage

Chaque case memoire est associee a une adresse (le numerode la case)

Cette adresse est obtenue depuis l’instruction en binaire→ L’adresse est sur n bits

Il y a donc 2n differentes adresses possibles (de 00 . . . 0 a11 . . . 1)→ La memoire contient 2n cases

Exemple : 32 bits → 232 = 4 Go

Info32b Systemes d’Exploitation Thomas Lavergne 5/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Structure de la memoire

Adressage

Chaque case memoire est associee a une adresse (le numerode la case)

Cette adresse est obtenue depuis l’instruction en binaire→ L’adresse est sur n bits

Il y a donc 2n differentes adresses possibles (de 00 . . . 0 a11 . . . 1)→ La memoire contient 2n cases

Exemple : 32 bits → 232 = 4 Go

Info32b Systemes d’Exploitation Thomas Lavergne 5/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Structure de la memoire

Adressage

Chaque case memoire est associee a une adresse (le numerode la case)

Cette adresse est obtenue depuis l’instruction en binaire→ L’adresse est sur n bits

Il y a donc 2n differentes adresses possibles (de 00 . . . 0 a11 . . . 1)→ La memoire contient 2n cases

Exemple : 32 bits → 232 = 4 Go

Info32b Systemes d’Exploitation Thomas Lavergne 5/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Un peu de calcul. . .

En informatique, on travaille avec des puissances de 2

→ Il faut les connaıtre !

Table des puissances de 2

x 0 1 2 3 4 5 6 7 8 9 102x 0 2 4 8 16 32 64 128 256 512 1024

Info32b Systemes d’Exploitation Thomas Lavergne 6/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Un peu de calcul. . .

En informatique, on travaille avec des puissances de 2

→ Il faut les connaıtre !

Table des puissances de 2

x 0 1 2 3 4 5 6 7 8 9 102x 0 2 4 8 16 32 64 128 256 512 1024

Info32b Systemes d’Exploitation Thomas Lavergne 6/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Un peu de calcul. . .

En informatique, on travaille avec des puissances de 2

→ Il faut les connaıtre !

Table des puissances de 2

x 0 1 2 3 4 5 6 7 8 9 102x 0 2 4 8 16 32 64 128 256 512 1024

Exemple

1 case memoire = 1 octet de donnees (8 bits)(c’est generalement le cas)

Ü 8 bits → 28 octets = 256o de RAM

Info32b Systemes d’Exploitation Thomas Lavergne 6/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Un peu de calcul. . .

En informatique, on travaille avec des puissances de 2

→ Il faut les connaıtre !

Table des puissances de 2

x 0 1 2 3 4 5 6 7 8 9 102x 0 2 4 8 16 32 64 128 256 512 1024

Et apres ?

On compte en Kilo, Mega, Giga, etc

210 = 1 Kilo

214 = 210 × 24 = 16 Kilo

Info32b Systemes d’Exploitation Thomas Lavergne 6/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Unites informatiques

En informatique, on travaille avec des puissance de 2

→ Nos kilos ne font pas 1000 !

Info32b Systemes d’Exploitation Thomas Lavergne 7/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Unites informatiques

En informatique, on travaille avec des puissance de 2

→ Nos kilos ne font pas 1000 !

Norme CEI 1998

Kibi = 210 = 1 024

Mebi = 220 = 1 048 576

Gibi = 230 = 1 073 741 824

Tebi = 240 = 1 099 511 627 776

etc

Info32b Systemes d’Exploitation Thomas Lavergne 7/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Unites informatiques

En informatique, on travaille avec des puissance de 2

→ Nos kilos ne font pas 1000 !

Norme CEI 1998

Kibi = 210 = 1 024

Mebi = 220 = 1 048 576

Gibi = 230 = 1 073 741 824

Tebi = 240 = 1 099 511 627 776

etc

Ü On devrait parler de � kibioctets � et non de kilooctets

Ü On devrait ecrire Kio et non Ko

Info32b Systemes d’Exploitation Thomas Lavergne 7/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Unites informatiques

En informatique, on travaille avec des puissance de 2

→ Nos kilos ne font pas 1000 !

Norme CEI 1998

Ü On devrait parler de � kibioctets � et non de kilooctets

Ü On devrait ecrire Kio et non Ko

En pratique

On utilise la notation 1 Ko pour indiquer 1 Kio (1024 octets)

→ On ne travaille JAMAIS avec des puissances de 10 !

Info32b Systemes d’Exploitation Thomas Lavergne 7/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Et les puissances de 16 ?

24 = 16

→ Avec 4 bits, on peut ecrire les nombres de 0 a 15 (decimal). . .

Du coup, 32 bits = 8 caracteres en hexa !

Info32b Systemes d’Exploitation Thomas Lavergne 8/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Et les puissances de 16 ?

24 = 16

→ Avec 4 bits, on peut ecrire les nombres de 0 a F (hexadecimal) !

Du coup, 32 bits = 8 caracteres en hexa !

Info32b Systemes d’Exploitation Thomas Lavergne 8/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Et les puissances de 16 ?

24 = 16

→ Avec 4 bits, on peut ecrire les nombres de 0 a F (hexadecimal) !

Du coup, 32 bits = 8 caracteres en hexa !

Hexadecimal

→ Il faut savoir convertir rapidement :

Base 10 0 1 2 3 4 5 6 7Hexadecimal 0 1 2 3 4 5 6 7

Base 2 0000 0001 0010 0011 0100 0101 0110 0111

Base 10 8 9 10 11 12 13 14 15Hexadecimal 8 9 A B C D E F

Base 2 1000 1001 1010 1011 1100 1101 1110 1111

Conversion d’adresse :

Info32b Systemes d’Exploitation Thomas Lavergne 8/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Et les puissances de 16 ?

24 = 16

→ Avec 4 bits, on peut ecrire les nombres de 0 a F (hexadecimal) !

Du coup, 32 bits = 8 caracteres en hexa !

Hexadecimal

→ Il faut savoir convertir rapidement :

Base 10 0 1 2 3 4 5 6 7Hexadecimal 0 1 2 3 4 5 6 7

Base 2 0000 0001 0010 0011 0100 0101 0110 0111

Base 10 8 9 10 11 12 13 14 15Hexadecimal 8 9 A B C D E F

Base 2 1000 1001 1010 1011 1100 1101 1110 1111

Conversion d’adresse : 2 B 5 F

Info32b Systemes d’Exploitation Thomas Lavergne 8/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Et les puissances de 16 ?

24 = 16

→ Avec 4 bits, on peut ecrire les nombres de 0 a F (hexadecimal) !

Du coup, 32 bits = 8 caracteres en hexa !

Hexadecimal

→ Il faut savoir convertir rapidement :

Base 10 0 1 2 3 4 5 6 7Hexadecimal 0 1 2 3 4 5 6 7

Base 2 0000 0001 0010 0011 0100 0101 0110 0111

Base 10 8 9 10 11 12 13 14 15Hexadecimal 8 9 A B C D E F

Base 2 1000 1001 1010 1011 1100 1101 1110 1111

Conversion d’adresse : 2 B 5 F

0010

Info32b Systemes d’Exploitation Thomas Lavergne 8/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Et les puissances de 16 ?

24 = 16

→ Avec 4 bits, on peut ecrire les nombres de 0 a F (hexadecimal) !

Du coup, 32 bits = 8 caracteres en hexa !

Hexadecimal

→ Il faut savoir convertir rapidement :

Base 10 0 1 2 3 4 5 6 7Hexadecimal 0 1 2 3 4 5 6 7

Base 2 0000 0001 0010 0011 0100 0101 0110 0111

Base 10 8 9 10 11 12 13 14 15Hexadecimal 8 9 A B C D E F

Base 2 1000 1001 1010 1011 1100 1101 1110 1111

Conversion d’adresse : 2 B 5 F

0010 1011

Info32b Systemes d’Exploitation Thomas Lavergne 8/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Et les puissances de 16 ?

24 = 16

→ Avec 4 bits, on peut ecrire les nombres de 0 a F (hexadecimal) !

Du coup, 32 bits = 8 caracteres en hexa !

Hexadecimal

→ Il faut savoir convertir rapidement :

Base 10 0 1 2 3 4 5 6 7Hexadecimal 0 1 2 3 4 5 6 7

Base 2 0000 0001 0010 0011 0100 0101 0110 0111

Base 10 8 9 10 11 12 13 14 15Hexadecimal 8 9 A B C D E F

Base 2 1000 1001 1010 1011 1100 1101 1110 1111

Conversion d’adresse : 2 B 5 F

0010 1011 0101

Info32b Systemes d’Exploitation Thomas Lavergne 8/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Et les puissances de 16 ?

24 = 16

→ Avec 4 bits, on peut ecrire les nombres de 0 a F (hexadecimal) !

Du coup, 32 bits = 8 caracteres en hexa !

Hexadecimal

→ Il faut savoir convertir rapidement :

Base 10 0 1 2 3 4 5 6 7Hexadecimal 0 1 2 3 4 5 6 7

Base 2 0000 0001 0010 0011 0100 0101 0110 0111

Base 10 8 9 10 11 12 13 14 15Hexadecimal 8 9 A B C D E F

Base 2 1000 1001 1010 1011 1100 1101 1110 1111

Conversion d’adresse : 2 B 5 F

0010 1011 0101 1111

Info32b Systemes d’Exploitation Thomas Lavergne 8/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Fonctionnement

Lecture et ecriture

L’UC va recuperer les instructions dans la memoire (fetch) ;

L’UC va recuperer des donnees (valeurs de variables) dans lamemoire a partir de leur adresse ;

L’UC ecrit des valeurs a une adresse donnee dans la memoire.

RAMbus

UC

PC

RADM

Info32b Systemes d’Exploitation Thomas Lavergne 9/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Fonctionnement

Lecture et ecriture

L’UC va recuperer les instructions dans la memoire (fetch) ;

L’UC va recuperer des donnees (valeurs de variables) dans lamemoire a partir de leur adresse ;

L’UC ecrit des valeurs a une adresse donnee dans la memoire.

D’ou viennent les programmes ?

Le programme (code + donnees) est charge depuis le disque versla memoire

. . . il est place a un endroit donne dans la memoire

Ü Probleme : quelles sont les adresses des variables ?

Info32b Systemes d’Exploitation Thomas Lavergne 9/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Edition de liens

Programme compile vs processus

Adresses symboliques (noms de variables)vs Adresses memoires (binaires)

Exemple :

i n t a = 3 ;a = a + 2 ;

@a memval 3l d r r1 , al d r r2 , #2add r0 , r1 , r 2s t r r0 , a

2B50 : l d r r1 , 2B1E2B51 : l d r r2 , 00022B52 : add r0 , r1 , r22B53 : s t r r0 , 2B1E. . .2B1E : 0003

Edition de liens

Lors de la creation de processus, l’OS instancie le programme.

Ü Transformer les noms abstraits des variables en adresses

Info32b Systemes d’Exploitation Thomas Lavergne 10/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Edition de liens

Programme compile vs processus

Adresses symboliques (noms de variables)vs Adresses memoires (binaires)

Exemple :

i n t a = 3 ;a = a + 2 ;

@a memval 3l d r r1 , al d r r2 , #2add r0 , r1 , r 2s t r r0 , a

2B50 : l d r r1 , 2B1E2B51 : l d r r2 , 00022B52 : add r0 , r1 , r22B53 : s t r r0 , 2B1E. . .2B1E : 0003

Edition de liens

Lors de la creation de processus, l’OS instancie le programme.

Ü Transformer les noms abstraits des variables en adresses

Info32b Systemes d’Exploitation Thomas Lavergne 10/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Edition de liens

Programme compile vs processus

Adresses symboliques (noms de variables)vs Adresses memoires (binaires)

Exemple :

i n t a = 3 ;a = a + 2 ;

@a memval 3l d r r1 , al d r r2 , #2add r0 , r1 , r 2s t r r0 , a

2B50 : l d r r1 , 2B1E2B51 : l d r r2 , 00022B52 : add r0 , r1 , r22B53 : s t r r0 , 2B1E. . .2B1E : 0003

Edition de liens

Lors de la creation de processus, l’OS instancie le programme.

Ü Transformer les noms abstraits des variables en adresses

Info32b Systemes d’Exploitation Thomas Lavergne 10/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Methodes de liaison d’adresse

A la compilation

3 On connaıt l’adresse physique du programme et de toutes lesdonnees

Ü Adresse physique des variables a la compilation

Exemple : routine de l’OS

Au chargement

A l’execution

Notion de stub

Info32b Systemes d’Exploitation Thomas Lavergne 11/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Methodes de liaison d’adresse

A la compilation

Au chargement

3 La taille du programme (donnees+code+pile+tas) est fixee

Ü Code compile translatable : adresses relatives au debut duprogramme

Ü Necessite un registre de translation dans l’UC

A l’execution

Notion de stub

Info32b Systemes d’Exploitation Thomas Lavergne 11/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Methodes de liaison d’adresse

A la compilation

Au chargement

A l’execution

3 Lorsque le processus a besoin de plus de place

Ü Deplacer le processus + reedition de lien

Revoir la translationEventuellement, revoir les adresses relatives

Notion de stub

Info32b Systemes d’Exploitation Thomas Lavergne 11/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Methodes de liaison d’adresse

A la compilation

Au chargement

A l’execution

Notion de stub

3 Bibliotheques : ne pas charger plusieurs fois

Ü Chargement a la demande de code translatable (labibliotheque)

Ü Morceau de code remplacable pour l’appel a la bibliotheque

Info32b Systemes d’Exploitation Thomas Lavergne 11/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Code translatable : resolution d’adresse

UC

translation

RAM

adresse logique translatable

+

adresse physique

Info32b Systemes d’Exploitation Thomas Lavergne 12/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Code translatable : resolution d’adresse

UC

translation

RAM

adresse logique translatable

+

adresse physique

Info32b Systemes d’Exploitation Thomas Lavergne 12/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Code translatable : resolution d’adresse

UC

translation

RAM

adresse logique translatable

+

adresse physique

Info32b Systemes d’Exploitation Thomas Lavergne 12/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe general Un peu de calcul. . . Liaison d’adresse

Code translatable : resolution d’adresse

UC

translation

RAM

adresse logique translatable

+

adresse physique

Info32b Systemes d’Exploitation Thomas Lavergne 12/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Plan

1 Fonctionnement de la memoire

2 PaginationAllocation memoirePaginationPagination hierarchique

3 Memoire virtuelle

4 Conclusion

Info32b Systemes d’Exploitation Thomas Lavergne 13/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Allocation memoire

Principe

Multiprogrammation et temps partage → placer les processus dansla memoire

RAM

P6

P6

Problemes

Des trous apparaissent : c’est la fragmentation

Info32b Systemes d’Exploitation Thomas Lavergne 14/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Allocation memoire

Principe

Multiprogrammation et temps partage → placer les processus dansla memoire

RAM

Proc. 1

P6

P6

Problemes

Des trous apparaissent : c’est la fragmentation

Info32b Systemes d’Exploitation Thomas Lavergne 14/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Allocation memoire

Principe

Multiprogrammation et temps partage → placer les processus dansla memoire

RAM

Proc. 1 Proc. 2

P6

P6

Problemes

Des trous apparaissent : c’est la fragmentation

Info32b Systemes d’Exploitation Thomas Lavergne 14/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Allocation memoire

Principe

Multiprogrammation et temps partage → placer les processus dansla memoire

RAM

Proc. 1 Proc. 2 Proc. 3

P6

P6

Problemes

Des trous apparaissent : c’est la fragmentation

Info32b Systemes d’Exploitation Thomas Lavergne 14/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Allocation memoire

Principe

Multiprogrammation et temps partage → placer les processus dansla memoire

RAM

Proc. 1 Proc. 2 Proc. 3

P6

P6

Problemes

Des trous apparaissent : c’est la fragmentation

Info32b Systemes d’Exploitation Thomas Lavergne 14/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Allocation memoire

Principe

Multiprogrammation et temps partage → placer les processus dansla memoire

RAM

Proc. 1 Proc. 3

P6

P6

Problemes

Des trous apparaissent : c’est la fragmentation

Info32b Systemes d’Exploitation Thomas Lavergne 14/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Allocation memoire

Principe

Multiprogrammation et temps partage → placer les processus dansla memoire

RAM

Proc. 1 Proc. 3P4

P6

P6

Problemes

Des trous apparaissent : c’est la fragmentation

Info32b Systemes d’Exploitation Thomas Lavergne 14/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Allocation memoire

Principe

Multiprogrammation et temps partage → placer les processus dansla memoire

RAM

Proc. 3P4

P6

P6

Problemes

Des trous apparaissent : c’est la fragmentation

Info32b Systemes d’Exploitation Thomas Lavergne 14/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Allocation memoire

Principe

Multiprogrammation et temps partage → placer les processus dansla memoire

RAM

Proc. 3P4P5

P6

P6

Problemes

Des trous apparaissent : c’est la fragmentation

Info32b Systemes d’Exploitation Thomas Lavergne 14/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Allocation memoire

Principe

Multiprogrammation et temps partage → placer les processus dansla memoire

RAM

Proc. 3P4P5

P6

P6

Problemes

Des trous apparaissent : c’est la fragmentation

Les processus trop gros ne peuvent pas rentrer

Info32b Systemes d’Exploitation Thomas Lavergne 14/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Allocation memoire

Principe

Multiprogrammation et temps partage → placer les processus dansla memoire

RAM

Proc. 3P4P5

P6

P6

Problemes

Des trous apparaissent : c’est la fragmentation

Les processus trop gros ne peuvent pas rentrer→ defragmenter

Info32b Systemes d’Exploitation Thomas Lavergne 14/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Allocation memoire

Principe

Multiprogrammation et temps partage → placer les processus dansla memoire

RAM

P5

P6

P4 Proc. 3

P6

Problemes

Des trous apparaissent : c’est la fragmentation

Les processus trop gros ne peuvent pas rentrer→ defragmenter

Info32b Systemes d’Exploitation Thomas Lavergne 14/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Allocation memoire

Principe

Multiprogrammation et temps partage → placer les processus dansla memoire

RAM

P5

P6

P4 Proc. 3 P6

Problemes

Des trous apparaissent : c’est la fragmentation

Les processus trop gros ne peuvent pas rentrer→ defragmenter

Info32b Systemes d’Exploitation Thomas Lavergne 14/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Fragmentation

Probleme

Reduire la fragmentation

Limiter les operations de de defragmentation

Strategies d’allocation

Choisir dans quelle zone libre placer un processus Variante du

probleme du bin packing

First Fit : premier bloc libre

Best Fit : plus petit bloc libre

Worst Fit : plus grand bloc libre

⇒ A la fin, il faut quand meme gerer les trous...

Info32b Systemes d’Exploitation Thomas Lavergne 15/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Fragmentation

Probleme

Reduire la fragmentation

Limiter les operations de de defragmentation

Strategies d’allocation

Choisir dans quelle zone libre placer un processus Variante du

probleme du bin packing

First Fit : premier bloc libre

Best Fit : plus petit bloc libre

Worst Fit : plus grand bloc libre

⇒ A la fin, il faut quand meme gerer les trous...

Info32b Systemes d’Exploitation Thomas Lavergne 15/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Fragmentation

Probleme

Reduire la fragmentation

Limiter les operations de de defragmentation

Strategies d’allocation

Choisir dans quelle zone libre placer un processus Variante du

probleme du bin packing

First Fit : premier bloc libre

Best Fit : plus petit bloc libre

Worst Fit : plus grand bloc libre

⇒ A la fin, il faut quand meme gerer les trous...

Info32b Systemes d’Exploitation Thomas Lavergne 15/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination

Principe

Decouper la memoire physique en blocs de taille Tc

constante, appeles cadres de pages

Decouper l’espace memoire utilise par un processus enpaquets de x blocs de taille Tc , appeles pages

Ü Placer les pages dans les cadres

RAM

Processus :code, bibliothequesenvironnement, tas, pile. . .

Info32b Systemes d’Exploitation Thomas Lavergne 16/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination

Principe

Decouper la memoire physique en blocs de taille Tc

constante, appeles cadres de pages

Decouper l’espace memoire utilise par un processus enpaquets de x blocs de taille Tc , appeles pages

Ü Placer les pages dans les cadres

RAM

Processus :code, bibliothequesenvironnement, tas, pile. . .

cadres de page

Info32b Systemes d’Exploitation Thomas Lavergne 16/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination

Principe

Decouper la memoire physique en blocs de taille Tc

constante, appeles cadres de pages

Decouper l’espace memoire utilise par un processus enpaquets de x blocs de taille Tc , appeles pages

Ü Placer les pages dans les cadres

RAM

Processus :code, bibliothequesenvironnement, tas, pile. . .

cadres de page

pages

Info32b Systemes d’Exploitation Thomas Lavergne 16/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination

Principe

Decouper la memoire physique en blocs de taille Tc

constante, appeles cadres de pages

Decouper l’espace memoire utilise par un processus enpaquets de x blocs de taille Tc , appeles pages

Ü Placer les pages dans les cadres

RAM

Processus :code, bibliothequesenvironnement, tas, pile. . .

cadres de page

pages

0 1 2 3

Info32b Systemes d’Exploitation Thomas Lavergne 16/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination

Principe

Decouper la memoire physique en blocs de taille Tc

constante, appeles cadres de pages

Decouper l’espace memoire utilise par un processus enpaquets de x blocs de taille Tc , appeles pages

Ü Placer les pages dans les cadres

RAM

Processus :code, bibliothequesenvironnement, tas, pile. . .

cadres de page

pages

0 1 2 3

Info32b Systemes d’Exploitation Thomas Lavergne 16/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination

Principe

Decouper la memoire physique en blocs de taille Tc

constante, appeles cadres de pages

Decouper l’espace memoire utilise par un processus enpaquets de x blocs de taille Tc , appeles pages

Ü Placer les pages dans les cadres

RAM

Processus :code, bibliothequesenvironnement, tas, pile. . .

cadres de page

pages

0 1 2 3

Info32b Systemes d’Exploitation Thomas Lavergne 16/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination

Principe

Decouper la memoire physique en blocs de taille Tc

constante, appeles cadres de pages

Decouper l’espace memoire utilise par un processus enpaquets de x blocs de taille Tc , appeles pages

Ü Placer les pages dans les cadres

RAM

Processus :code, bibliothequesenvironnement, tas, pile. . .

cadres de page

pages

0 1 2 3

Info32b Systemes d’Exploitation Thomas Lavergne 16/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination

Principe

Decouper la memoire physique en blocs de taille Tc

constante, appeles cadres de pages

Decouper l’espace memoire utilise par un processus enpaquets de x blocs de taille Tc , appeles pages

Ü Placer les pages dans les cadres

RAM

Processus :code, bibliothequesenvironnement, tas, pile. . .

cadres de page

pages

0 1 2 3

Info32b Systemes d’Exploitation Thomas Lavergne 16/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Avantages

Allocation memoire

Allouer des processus dans des zones disjointes :

Ü Pas besoin de defragmenter !

Adaptation

Lorsqu’un processus a besoin de plus de memoire, rajouter despages

Ü Pas besoin de le re-allouer entierement

Memoire virtuelle (voir plus loin)

Charger uniquement les pages du processus dont on a besoin a unmoment donne.

Info32b Systemes d’Exploitation Thomas Lavergne 17/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Avantages

Allocation memoire

Allouer des processus dans des zones disjointes :

Ü Pas besoin de defragmenter !

Adaptation

Lorsqu’un processus a besoin de plus de memoire, rajouter despages

Ü Pas besoin de le re-allouer entierement

Memoire virtuelle (voir plus loin)

Charger uniquement les pages du processus dont on a besoin a unmoment donne.

Info32b Systemes d’Exploitation Thomas Lavergne 17/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Avantages

Allocation memoire

Allouer des processus dans des zones disjointes :

Ü Pas besoin de defragmenter !

Adaptation

Lorsqu’un processus a besoin de plus de memoire, rajouter despages

Ü Pas besoin de le re-allouer entierement

Memoire virtuelle (voir plus loin)

Charger uniquement les pages du processus dont on a besoin a unmoment donne.

Info32b Systemes d’Exploitation Thomas Lavergne 17/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Problemes I

Nombre de cadres

Adresser les cadres (en binaire) → 2n cadres

Taille des cadres/pages

Adresser les elements dans les cadres (en binaire) → taille en 2m

Ü RAM de taille 2n+m

Sinon, portion de RAM non adressable ou cadres fictifs non utilisables. . .

Fragmentation

Tous les processus ne sont pas de taille k × 2m

Ü Entre 0 et 2m − 1 octets perdus par processus !(moyenne = 1

2cadre = 2m−1 octets)

Info32b Systemes d’Exploitation Thomas Lavergne 18/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Problemes I

Nombre de cadres

Adresser les cadres (en binaire) → 2n cadres

Taille des cadres/pages

Adresser les elements dans les cadres (en binaire) → taille en 2m

Ü RAM de taille 2n+m

Sinon, portion de RAM non adressable ou cadres fictifs non utilisables. . .

Fragmentation

Tous les processus ne sont pas de taille k × 2m

Ü Entre 0 et 2m − 1 octets perdus par processus !(moyenne = 1

2cadre = 2m−1 octets)

Info32b Systemes d’Exploitation Thomas Lavergne 18/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Problemes I

Nombre de cadres

Adresser les cadres (en binaire) → 2n cadres

Taille des cadres/pages

Adresser les elements dans les cadres (en binaire) → taille en 2m

Ü RAM de taille 2n+m

Sinon, portion de RAM non adressable ou cadres fictifs non utilisables. . .

Fragmentation

Tous les processus ne sont pas de taille k × 2m

Ü Entre 0 et 2m − 1 octets perdus par processus !(moyenne = 1

2cadre = 2m−1 octets)

Info32b Systemes d’Exploitation Thomas Lavergne 18/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Problemes I

Nombre de cadres

Adresser les cadres (en binaire) → 2n cadres

Taille des cadres/pages

Adresser les elements dans les cadres (en binaire) → taille en 2m

Ü RAM de taille 2n+m

Sinon, portion de RAM non adressable ou cadres fictifs non utilisables. . .

Fragmentation

Tous les processus ne sont pas de taille k × 2m

Ü Entre 0 et 2m − 1 octets perdus par processus !(moyenne = 1

2cadre = 2m−1 octets)

Info32b Systemes d’Exploitation Thomas Lavergne 18/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Problemes II

Adressage

Determiner l’adresse physique a partir de l’adresse logique

RAM

Processus :0 1 2 3

0 1 23

Info32b Systemes d’Exploitation Thomas Lavergne 19/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Problemes II

Adressage

Determiner l’adresse physique a partir de l’adresse logique

Adresse logique

Numero de page (n bits) + decalage (m bits)

Table des pages

Chaque processus maintient une liste :numero de page ↔ numero de cadre

C’est la table des pages

Info32b Systemes d’Exploitation Thomas Lavergne 19/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination : resolution d’adresse

UC

table des pages

page cadre

00 0201 B202 1A03 3B04 3C. . . . . .

RAM

adresse logique

numero de page decalage

numero de cadre decalage

adresse physique

Info32b Systemes d’Exploitation Thomas Lavergne 20/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination : resolution d’adresse

UC

table des pages

page cadre

00 0201 B202 1A03 3B04 3C. . . . . .

RAM

adresse logique

numero de page decalage

numero de cadre decalage

adresse physique

Info32b Systemes d’Exploitation Thomas Lavergne 20/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination : resolution d’adresse

UC

table des pages

page cadre

00 0201 B202 1A03 3B04 3C. . . . . .

RAM

adresse logique

numero de page decalage

numero de cadre decalage

adresse physique

Info32b Systemes d’Exploitation Thomas Lavergne 20/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination : resolution d’adresse

UC

table des pages

page cadre

00 0201 B202 1A03 3B04 3C. . . . . .

RAM

adresse logique

numero de page decalage

numero de cadre decalage

adresse physique

Info32b Systemes d’Exploitation Thomas Lavergne 20/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination : resolution d’adresse

UC

table des pages

page cadre

00 0201 B202 1A03 3B04 3C. . . . . .

RAM

adresse logique

numero de page decalage

numero de cadre

decalage

adresse physique

Info32b Systemes d’Exploitation Thomas Lavergne 20/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination : resolution d’adresse

UC

table des pages

page cadre

00 0201 B202 1A03 3B04 3C. . . . . .

RAM

adresse logique

numero de page decalage

numero de cadre decalage

adresse physique

Info32b Systemes d’Exploitation Thomas Lavergne 20/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination : resolution d’adresse

UC

table des pages

page cadre

00 0201 B202 1A03 3B04 3C. . . . . .

RAM

adresse logique

numero de page decalage

numero de cadre decalage

adresse physique

Info32b Systemes d’Exploitation Thomas Lavergne 20/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination : resolution d’adresse

Memory Management Unit

En pratique, gere au niveau materiel : c’est la MMU

3 L’OS charge la table des pages du processus dans la MMU

Ü Pas de calcul d’adresse au niveau de l’OS

Allocation des cadres

Ne pas allouer le meme cadre a deux processus differents

3 L’OS doit savoir quel processus utilise quel cadre

Ü Table des cadres de page libresnum. cadre num. proc. libre

0 42 11 37 12 - 0

. . . . . . . . .

Info32b Systemes d’Exploitation Thomas Lavergne 21/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination : resolution d’adresse

Memory Management Unit

En pratique, gere au niveau materiel : c’est la MMU

3 L’OS charge la table des pages du processus dans la MMU

Ü Pas de calcul d’adresse au niveau de l’OS

Allocation des cadres

Ne pas allouer le meme cadre a deux processus differents

3 L’OS doit savoir quel processus utilise quel cadre

Ü Table des cadres de page libresnum. cadre num. proc. libre

0 42 11 37 12 - 0

. . . . . . . . .

Info32b Systemes d’Exploitation Thomas Lavergne 21/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination hierarchique

Probleme

Grand espace d’adressage (ex : 32 bits)

Trop de pages (ex : n = 20, m = 12)

Grande table des pages → place memoire perdue220 lignes de 20 bits = 2,5 Mo par processus

Allocation et commutation plus couteuse en temps

Pages trop grosses (ex : n = 10, m = 22)

Fragmentation = 2m−1 → place memoire perdue221 octets = 2 Mo par processus

Pagination a 2 niveaux (ou plus)

Paginer la table des pages (et ne charger que les tables utiles)

Reduire la fragmentation due aux pages

Reduire l’espace memoire utilise par le systeme d’adressage

Info32b Systemes d’Exploitation Thomas Lavergne 22/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination hierarchique

Probleme

Grand espace d’adressage (ex : 32 bits)

Trop de pages (ex : n = 20, m = 12)

Grande table des pages → place memoire perdue220 lignes de 20 bits = 2,5 Mo par processus

Allocation et commutation plus couteuse en temps

Pages trop grosses (ex : n = 10, m = 22)

Fragmentation = 2m−1 → place memoire perdue221 octets = 2 Mo par processus

Pagination a 2 niveaux (ou plus)

Paginer la table des pages (et ne charger que les tables utiles)

Reduire la fragmentation due aux pages

Reduire l’espace memoire utilise par le systeme d’adressage

Info32b Systemes d’Exploitation Thomas Lavergne 22/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination hierarchique

Probleme

Grand espace d’adressage (ex : 32 bits)

Trop de pages (ex : n = 20, m = 12)

Grande table des pages → place memoire perdue220 lignes de 20 bits = 2,5 Mo par processus

Allocation et commutation plus couteuse en temps

Pages trop grosses (ex : n = 10, m = 22)

Fragmentation = 2m−1 → place memoire perdue221 octets = 2 Mo par processus

Pagination a 2 niveaux (ou plus)

Paginer la table des pages (et ne charger que les tables utiles)

Reduire la fragmentation due aux pages

Reduire l’espace memoire utilise par le systeme d’adressage

Info32b Systemes d’Exploitation Thomas Lavergne 22/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination a deux niveaux

UC

RAM

adresse logique

table page decalage

Repertoirede pages

n° adresse T.P.

Table despages n°X

page cadre

cadre decal.

adresse physique

Info32b Systemes d’Exploitation Thomas Lavergne 23/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination a deux niveaux

UC

RAM

adresse logique

table page decalage

Repertoirede pages

n° adresse T.P.

Table despages n°X

page cadre

cadre decal.

adresse physique

Info32b Systemes d’Exploitation Thomas Lavergne 23/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination a deux niveaux

UC

RAM

adresse logique

table page decalage

Repertoirede pages

n° adresse T.P.

Table despages n°X

page cadre

cadre decal.

adresse physique

Info32b Systemes d’Exploitation Thomas Lavergne 23/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination a deux niveaux

UC

RAM

adresse logique

table page decalage

Repertoirede pages

n° adresse T.P.

Table despages n°X

page cadre

cadre decal.

adresse physique

Info32b Systemes d’Exploitation Thomas Lavergne 23/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination a deux niveaux

UC

RAM

adresse logique

table page decalage

Repertoirede pages

n° adresse T.P.

Table despages n°X

page cadre

cadre decal.

adresse physique

Info32b Systemes d’Exploitation Thomas Lavergne 23/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination a deux niveaux

UC

RAM

adresse logique

table page decalage

Repertoirede pages

n° adresse T.P.

Table despages n°X

page cadre

cadre

decal.

adresse physique

Info32b Systemes d’Exploitation Thomas Lavergne 23/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination a deux niveaux

UC

RAM

adresse logique

table page decalage

Repertoirede pages

n° adresse T.P.

Table despages n°X

page cadre

cadre decal.

adresse physique

Info32b Systemes d’Exploitation Thomas Lavergne 23/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination a deux niveaux

UC

RAM

adresse logique

table page decalage

Repertoirede pages

n° adresse T.P.

Table despages n°X

page cadre

cadre decal.

adresse physique

Info32b Systemes d’Exploitation Thomas Lavergne 23/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination a deux niveaux

Exemple

Adresses sur 32 bits et cadres de 4 Ko → m=12

Pagination a 1 niveau

Table des pages = 2n lignes de n bits (ici, n = 20)

Total = 220 × 20÷ 8 = 2,5 Mo par processus

Pagination a 2 niveaux

n1 = 10, n2= 10, m = 12

Repertoire = 210 lignes de 32 bits = 4 Ko

1 table de pages = 210 lignes de 20 bits = 2,5 Ko

Total = entre 6,5 Ko et 2,5 Mo par processus

Info32b Systemes d’Exploitation Thomas Lavergne 24/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination a deux niveaux

Exemple

Adresses sur 32 bits et cadres de 4 Ko → m=12

Pagination a 1 niveau

Table des pages =

2n lignes de n bits (ici, n = 20)

Total = 220 × 20÷ 8 = 2,5 Mo par processus

Pagination a 2 niveaux

n1 = 10, n2= 10, m = 12

Repertoire = 210 lignes de 32 bits = 4 Ko

1 table de pages = 210 lignes de 20 bits = 2,5 Ko

Total = entre 6,5 Ko et 2,5 Mo par processus

Info32b Systemes d’Exploitation Thomas Lavergne 24/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination a deux niveaux

Exemple

Adresses sur 32 bits et cadres de 4 Ko → m=12

Pagination a 1 niveau

Table des pages = 2n lignes de n bits (ici, n = 20)

Total = 220 × 20÷ 8 = 2,5 Mo par processus

Pagination a 2 niveaux

n1 = 10, n2= 10, m = 12

Repertoire = 210 lignes de 32 bits = 4 Ko

1 table de pages = 210 lignes de 20 bits = 2,5 Ko

Total = entre 6,5 Ko et 2,5 Mo par processus

Info32b Systemes d’Exploitation Thomas Lavergne 24/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination a deux niveaux

Exemple

Adresses sur 32 bits et cadres de 4 Ko → m=12

Pagination a 1 niveau

Table des pages = 2n lignes de n bits (ici, n = 20)

Total = 220 × 20÷ 8 = 2,5 Mo par processus

Pagination a 2 niveaux

n1 = 10, n2= 10, m = 12

Repertoire = 210 lignes de 32 bits = 4 Ko

1 table de pages = 210 lignes de 20 bits = 2,5 Ko

Total = entre 6,5 Ko et 2,5 Mo par processus

Info32b Systemes d’Exploitation Thomas Lavergne 24/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination a deux niveaux

Exemple

Adresses sur 32 bits et cadres de 4 Ko → m=12

Pagination a 1 niveau

Table des pages = 2n lignes de n bits (ici, n = 20)

Total = 220 × 20÷ 8 = 2,5 Mo par processus

Pagination a 2 niveaux

n1 = 10, n2= 10, m = 12

Repertoire =

210 lignes de 32 bits = 4 Ko

1 table de pages = 210 lignes de 20 bits = 2,5 Ko

Total = entre 6,5 Ko et 2,5 Mo par processus

Info32b Systemes d’Exploitation Thomas Lavergne 24/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination a deux niveaux

Exemple

Adresses sur 32 bits et cadres de 4 Ko → m=12

Pagination a 1 niveau

Table des pages = 2n lignes de n bits (ici, n = 20)

Total = 220 × 20÷ 8 = 2,5 Mo par processus

Pagination a 2 niveaux

n1 = 10, n2= 10, m = 12

Repertoire = 210 lignes de 32 bits = 4 Ko

1 table de pages =

210 lignes de 20 bits = 2,5 Ko

Total = entre 6,5 Ko et 2,5 Mo par processus

Info32b Systemes d’Exploitation Thomas Lavergne 24/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination a deux niveaux

Exemple

Adresses sur 32 bits et cadres de 4 Ko → m=12

Pagination a 1 niveau

Table des pages = 2n lignes de n bits (ici, n = 20)

Total = 220 × 20÷ 8 = 2,5 Mo par processus

Pagination a 2 niveaux

n1 = 10, n2= 10, m = 12

Repertoire = 210 lignes de 32 bits = 4 Ko

1 table de pages = 210 lignes de 20 bits = 2,5 Ko

Total = entre 6,5 Ko et 2,5 Mo par processus

Info32b Systemes d’Exploitation Thomas Lavergne 24/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination a deux niveaux

Exemple

Adresses sur 32 bits et cadres de 4 Ko → m=12

Pagination a 1 niveau

Table des pages = 2n lignes de n bits (ici, n = 20)

Total = 220 × 20÷ 8 = 2,5 Mo par processus

Pagination a 2 niveaux

n1 = 10, n2= 10, m = 12

Repertoire = 210 lignes de 32 bits = 4 Ko

1 table de pages = 210 lignes de 20 bits = 2,5 Ko

Total = entre 6,5 Ko et 2,5 Mo par processus

Info32b Systemes d’Exploitation Thomas Lavergne 24/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination a deux niveaux

Quelques formules

Adresse physique sur k bits

Adresse logique sur k = n1 + n2 + m bits

Info32b Systemes d’Exploitation Thomas Lavergne 25/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination a deux niveaux

Quelques formules

Adresse physique sur k bits

Adresse logique sur k = n1 + n2 + m bits

Ü Taille de la RAM = ?

Info32b Systemes d’Exploitation Thomas Lavergne 25/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination a deux niveaux

Quelques formules

Adresse physique sur k bits

Adresse logique sur k = n1 + n2 + m bits

Ü Taille de la RAM = 2k octets

Info32b Systemes d’Exploitation Thomas Lavergne 25/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination a deux niveaux

Quelques formules

Adresse physique sur k bits

Adresse logique sur k = n1 + n2 + m bits

Ü Taille de la RAM = 2k octets

Ü Nombre de cadres = ?

Info32b Systemes d’Exploitation Thomas Lavergne 25/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination a deux niveaux

Quelques formules

Adresse physique sur k bits

Adresse logique sur k = n1 + n2 + m bits

Ü Taille de la RAM = 2k octets

Ü Nombre de cadres = 2n1+n2 cadres

Info32b Systemes d’Exploitation Thomas Lavergne 25/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination a deux niveaux

Quelques formules

Adresse physique sur k bits

Adresse logique sur k = n1 + n2 + m bits

Ü Taille de la RAM = 2k octets

Ü Nombre de cadres = 2n1+n2 cadres

Ü Taille d’un cadre = ?

Info32b Systemes d’Exploitation Thomas Lavergne 25/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination a deux niveaux

Quelques formules

Adresse physique sur k bits

Adresse logique sur k = n1 + n2 + m bits

Ü Taille de la RAM = 2k octets

Ü Nombre de cadres = 2n1+n2 cadres

Ü Taille d’un cadre = 2m octets

Info32b Systemes d’Exploitation Thomas Lavergne 25/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination a deux niveaux

Quelques formules

Adresse physique sur k bits

Adresse logique sur k = n1 + n2 + m bits

Ü Taille de la RAM = 2k octets

Ü Nombre de cadres = 2n1+n2 cadres

Ü Taille d’un cadre = 2m octets

Ü Taille du repertoire = ?

Info32b Systemes d’Exploitation Thomas Lavergne 25/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination a deux niveaux

Quelques formules

Adresse physique sur k bits

Adresse logique sur k = n1 + n2 + m bits

Ü Taille de la RAM = 2k octets

Ü Nombre de cadres = 2n1+n2 cadres

Ü Taille d’un cadre = 2m octets

Ü Taille du repertoire = 2n1 × k bits

Info32b Systemes d’Exploitation Thomas Lavergne 25/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination a deux niveaux

Quelques formules

Adresse physique sur k bits

Adresse logique sur k = n1 + n2 + m bits

Ü Taille de la RAM = 2k octets

Ü Nombre de cadres = 2n1+n2 cadres

Ü Taille d’un cadre = 2m octets

Ü Taille du repertoire = 2n1 × k bits

Ü Taille d’une table de pages = ?

Info32b Systemes d’Exploitation Thomas Lavergne 25/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination a deux niveaux

Quelques formules

Adresse physique sur k bits

Adresse logique sur k = n1 + n2 + m bits

Ü Taille de la RAM = 2k octets

Ü Nombre de cadres = 2n1+n2 cadres

Ü Taille d’un cadre = 2m octets

Ü Taille du repertoire = 2n1 × k bits

Ü Taille d’une table de pages = 2n2 × (n1 + n2) bitsou 2n2 × (k −m). . .

Info32b Systemes d’Exploitation Thomas Lavergne 25/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination a deux niveaux

Quelques formules

Adresse physique sur k bits

Adresse logique sur k = n1 + n2 + m bits

Ü Taille de la RAM = 2k octets

Ü Nombre de cadres = 2n1+n2 cadres

Ü Taille d’un cadre = 2m octets

Ü Taille du repertoire = 2n1 × k bits

Ü Taille d’une table de pages = 2n2 × (n1 + n2) bitsou 2n2 × (k −m). . .

Ü Nombre de tables de pages = ?

Info32b Systemes d’Exploitation Thomas Lavergne 25/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination a deux niveaux

Quelques formules

Adresse physique sur k bits

Adresse logique sur k = n1 + n2 + m bits

Ü Taille de la RAM = 2k octets

Ü Nombre de cadres = 2n1+n2 cadres

Ü Taille d’un cadre = 2m octets

Ü Taille du repertoire = 2n1 × k bits

Ü Taille d’une table de pages = 2n2 × (n1 + n2) bitsou 2n2 × (k −m). . .

Ü Nombre de tables de pages = 2n1 tables

Info32b Systemes d’Exploitation Thomas Lavergne 25/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Allocation memoire Pagination Pagination hierarchique

Pagination a deux niveaux

Remarque

Pagination a 3 niveaux sur les processeurs 64 bits

Implementation

Table des pages en RAM

Tous les calculs sont effectues au niveau materiel dans laMMU

Registre d’adresse de la table des pagesTable des cadres libres

Cache materiel (TLB = Translation Lookaside Buffer)stocke les couples (page,cadre)

Info32b Systemes d’Exploitation Thomas Lavergne 26/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe Pagination a la demande Allocation

Plan

1 Fonctionnement de la memoire

2 Pagination

3 Memoire virtuellePrincipePagination a la demandeAllocation

4 Conclusion

Info32b Systemes d’Exploitation Thomas Lavergne 27/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe Pagination a la demande Allocation

Memoire virtuelle

Probleme

Nombre et taille des processus

Entre 200 et 500 processus en parallele sur un PC

Gros processus : Eclipse = 250 Mo, donnees d’un jeu ≥ 1 Go

→ Somme des tailles des processus ≥ Capacite RAM

Portions de code inutilisees

Traitement d’erreur → rarement utilise

Donnees du jeu → pas tout en meme temps

Donnees d’un tableau → pas tout en meme temps

Bibliotheque → tres variable !

→ ne charger que les pages utiles ! (laisser le reste sur le disque. . . )

Info32b Systemes d’Exploitation Thomas Lavergne 28/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe Pagination a la demande Allocation

Memoire virtuelle

Probleme

Nombre et taille des processus

Entre 200 et 500 processus en parallele sur un PC

Gros processus : Eclipse = 250 Mo, donnees d’un jeu ≥ 1 Go

→ Somme des tailles des processus ≥ Capacite RAM

Portions de code inutilisees

Traitement d’erreur → rarement utilise

Donnees du jeu → pas tout en meme temps

Donnees d’un tableau → pas tout en meme temps

Bibliotheque → tres variable !

→ ne charger que les pages utiles ! (laisser le reste sur le disque. . . )

Info32b Systemes d’Exploitation Thomas Lavergne 28/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe Pagination a la demande Allocation

Schema de principe

Memoire virtuelle

Chaque processus peut adresser plus d’espace qu’il n’aeffectivement en memoire physique

Espace de stockage(disque)

pagepage pagepage

pagepage pagepage

pagepage pagepage

pagepage pagepage

Memoirephysique(RAM)

Memoirevirtuelle

=espace

adressable(par processus)

page 0

page 1

page 4 page 0

page 1

page 4

pagesnon

utiliseespage 2

page 3

page 5

. . .

Info32b Systemes d’Exploitation Thomas Lavergne 29/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe Pagination a la demande Allocation

Schema de principe

Memoire virtuelle

Chaque processus peut adresser plus d’espace qu’il n’aeffectivement en memoire physique

Espace de stockage(disque)

pagepage pagepage

pagepage pagepage

pagepage pagepage

pagepage pagepage

Memoirephysique(RAM)

Memoirevirtuelle

=espace

adressable(par processus)

page 0

page 1

page 4

pagesutilisees

page 0

page 1

page 4

pagesnon

utiliseespage 2

page 3

page 5

. . .

Info32b Systemes d’Exploitation Thomas Lavergne 29/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe Pagination a la demande Allocation

Schema de principe

Memoire virtuelle

Chaque processus peut adresser plus d’espace qu’il n’aeffectivement en memoire physique

Espace de stockage(disque)

pagepage pagepage

pagepage pagepage

pagepage pagepage

pagepage pagepage

Memoirephysique(RAM)

Memoirevirtuelle

=espace

adressable(par processus)

page 0

page 1

page 4

pagesutilisees

page 0

page 1

page 4

pagesnon

utiliseespage 2

page 3

page 5

. . .

Info32b Systemes d’Exploitation Thomas Lavergne 29/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe Pagination a la demande Allocation

Schema de principe

Memoire virtuelle

Chaque processus peut adresser plus d’espace qu’il n’aeffectivement en memoire physique

Espace de stockage(disque)

pagepage pagepage

pagepage pagepage

pagepage pagepage

pagepage pagepage

Memoirephysique(RAM)

Memoirevirtuelle

=espace

adressable(par processus)

page 0

page 1

page 4 page 0

page 1

page 4

pagesnon

utiliseespage 2

page 3

page 5

. . .

Info32b Systemes d’Exploitation Thomas Lavergne 29/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe Pagination a la demande Allocation

Schema de principe

Memoire virtuelle

Chaque processus peut adresser plus d’espace qu’il n’aeffectivement en memoire physique

Espace de stockage(disque)

pagepage pagepage

pagepage pagepage

pagepage pagepage

pagepage pagepage

Memoirephysique(RAM)

Memoirevirtuelle

=espace

adressable(par processus)

page 0

page 1

page 4 page 0

page 1

page 4

pagesnon

utiliseespage 2

page 3

page 5

. . .

Info32b Systemes d’Exploitation Thomas Lavergne 29/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe Pagination a la demande Allocation

Schema de principe

Memoire virtuelle

Chaque processus peut adresser plus d’espace qu’il n’aeffectivement en memoire physique

Avantages

Possibilite de mettre plus de processus en paralleles

Le programmeur ne se preoccupe plus de la memoire

Pagination a la demande

Table des pages : bit de validite (0=page sur le disque)

L’OS charge les pages manquantes depuis le disque vers laRAM

Info32b Systemes d’Exploitation Thomas Lavergne 30/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe Pagination a la demande Allocation

Schema de principe

Memoire virtuelle

Chaque processus peut adresser plus d’espace qu’il n’aeffectivement en memoire physique

Avantages

Possibilite de mettre plus de processus en paralleles

Le programmeur ne se preoccupe plus de la memoire

Pagination a la demande

Table des pages : bit de validite (0=page sur le disque)

L’OS charge les pages manquantes depuis le disque vers laRAM

Info32b Systemes d’Exploitation Thomas Lavergne 30/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe Pagination a la demande Allocation

Pagination a la demande

. . .

ldr r0, @a

ldr r1, @b

add r2, r0, r1

str r2, @c

. . .

Processus

1. reference

Table

despages

OS

2. deroutementDisque

3. requete disque

4. allocation UC aun autre processus

5. fin d’E/S→ interruption

disponible

Memoirephysique(RAM)

6. chargementpage manquante

1n° cadre

7. mise ajour table(s)

8. instructionrelancee

Info32b Systemes d’Exploitation Thomas Lavergne 31/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe Pagination a la demande Allocation

Pagination a la demande

. . .

ldr r0, @a

ldr r1, @b

add r2, r0, r1

str r2, @c

. . .

Processus

1. reference

Table

despages

OS

2. deroutementDisque

3. requete disque

4. allocation UC aun autre processus

5. fin d’E/S→ interruption

disponible

Memoirephysique(RAM)

6. chargementpage manquante

1n° cadre

7. mise ajour table(s)

8. instructionrelancee

Info32b Systemes d’Exploitation Thomas Lavergne 31/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe Pagination a la demande Allocation

Pagination a la demande

. . .

ldr r0, @a

ldr r1, @b

add r2, r0, r1

str r2, @c

. . .

Processus

1. reference

Table

despages

– 0

defautde page

OS

2. deroutementDisque

3. requete disque

4. allocation UC aun autre processus

5. fin d’E/S→ interruption

disponible

Memoirephysique(RAM)

6. chargementpage manquante

1n° cadre

7. mise ajour table(s)

8. instructionrelancee

Info32b Systemes d’Exploitation Thomas Lavergne 31/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe Pagination a la demande Allocation

Pagination a la demande

. . .

ldr r0, @a

ldr r1, @b

add r2, r0, r1

str r2, @c

. . .

Processus

1. reference

Table

despages

– 0

defautde page

OS

2. deroutement

Disque

3. requete disque

4. allocation UC aun autre processus

5. fin d’E/S→ interruption

disponible

Memoirephysique(RAM)

6. chargementpage manquante

1n° cadre

7. mise ajour table(s)

8. instructionrelancee

Info32b Systemes d’Exploitation Thomas Lavergne 31/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe Pagination a la demande Allocation

Pagination a la demande

. . .

ldr r0, @a

ldr r1, @b

add r2, r0, r1

str r2, @c

. . .

Processus

1. reference

Table

despages

– 0

defautde page

OS

2. deroutementDisque

3. requete disque

4. allocation UC aun autre processus

5. fin d’E/S→ interruption

disponible

Memoirephysique(RAM)

6. chargementpage manquante

1n° cadre

7. mise ajour table(s)

8. instructionrelancee

Info32b Systemes d’Exploitation Thomas Lavergne 31/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe Pagination a la demande Allocation

Pagination a la demande

. . .

ldr r0, @a

ldr r1, @b

add r2, r0, r1

str r2, @c

. . .

Processus

1. reference

Table

despages

– 0

defautde page

OS

2. deroutementDisque

3. requete disque

4. allocation UC aun autre processus

5. fin d’E/S→ interruption

disponible

Memoirephysique(RAM)

6. chargementpage manquante

1n° cadre

7. mise ajour table(s)

8. instructionrelancee

Info32b Systemes d’Exploitation Thomas Lavergne 31/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe Pagination a la demande Allocation

Pagination a la demande

. . .

ldr r0, @a

ldr r1, @b

add r2, r0, r1

str r2, @c

. . .

Processus

1. reference

Table

despages

OS

2. deroutementDisque

3. requete disque

4. allocation UC aun autre processus

5. fin d’E/S→ interruption

disponible

Memoirephysique(RAM)

6. chargementpage manquante

1n° cadre

7. mise ajour table(s)

8. instructionrelancee

Info32b Systemes d’Exploitation Thomas Lavergne 31/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe Pagination a la demande Allocation

Pagination a la demande

. . .

ldr r0, @a

ldr r1, @b

add r2, r0, r1

str r2, @c

. . .

Processus

1. reference

Table

despages

OS

2. deroutementDisque

3. requete disque

4. allocation UC aun autre processus

5. fin d’E/S→ interruption

disponible

Memoirephysique(RAM)

6. chargementpage manquante

1n° cadre

7. mise ajour table(s)

8. instructionrelancee

Info32b Systemes d’Exploitation Thomas Lavergne 31/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe Pagination a la demande Allocation

Pagination a la demande

. . .

ldr r0, @a

ldr r1, @b

add r2, r0, r1

str r2, @c

. . .

Processus

1. reference

Table

despages

OS

2. deroutementDisque

3. requete disque

4. allocation UC aun autre processus

5. fin d’E/S→ interruption

disponible

Memoirephysique(RAM)

6. chargementpage manquante

1n° cadre

7. mise ajour table(s)

8. instructionrelancee

Info32b Systemes d’Exploitation Thomas Lavergne 31/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe Pagination a la demande Allocation

Pagination a la demande

. . .

ldr r0, @a

ldr r1, @b

add r2, r0, r1

str r2, @c

. . .

Processus

1. reference

Table

despages

OS

2. deroutementDisque

3. requete disque

4. allocation UC aun autre processus

5. fin d’E/S→ interruption

disponible

Memoirephysique(RAM)

6. chargementpage manquante

1n° cadre

7. mise ajour table(s)

8. instructionrelancee

Info32b Systemes d’Exploitation Thomas Lavergne 31/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe Pagination a la demande Allocation

Temps d’acces

Cout des defauts de page

p = probabilite d’avoir un defaut de page

M = temps d’acces a la memoire

D = temps de traitement du defaut de page (acces disque)

Temps d’acces = (1− p)×M + p × D = M + p(D −M)

Propriete

Le temps d’acces est proportionnel a la probabilite d’avoir undefaut de page

Acces disque

En pratique, M est 1000 fois plus petit que D.

Info32b Systemes d’Exploitation Thomas Lavergne 32/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe Pagination a la demande Allocation

Allocation

Probleme

Combien de cadres (RAM) allouer a chaque processus

Proprietes

Plus de cadre par processus → moins de processus →ralentissement

Moins de cadre par processus → plus de defauts →ralentissement

Politiques d’allocation

Allocation equitable

Allocation proportionnelle

Allocation basee sur la priorite

Info32b Systemes d’Exploitation Thomas Lavergne 33/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe Pagination a la demande Allocation

Allocation equitable

Donnees

N cadres disponibles en RAM

P processus

Allocation equitable

Chaque processus recoit N/P cadres

Le reste sert de tamponLors du remplacement de page, charger et relancer sans supprimerl’ancienne page → reduction du nombre de defauts

Inconvenient

Tous les processus n’ont pas besoin de la meme quantite dememoire. . .

Info32b Systemes d’Exploitation Thomas Lavergne 34/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe Pagination a la demande Allocation

Allocation equitable

Donnees

N cadres disponibles en RAM

P processus

Allocation equitable

Chaque processus recoit N/P cadres

Le reste sert de tamponLors du remplacement de page, charger et relancer sans supprimerl’ancienne page → reduction du nombre de defauts

Inconvenient

Tous les processus n’ont pas besoin de la meme quantite dememoire. . .

Info32b Systemes d’Exploitation Thomas Lavergne 34/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe Pagination a la demande Allocation

Allocation proportionnelle

Donnees

N cadres disponibles en RAM

P processus

∀i ∈ [1,P], Mi la taille de Pi (en memoire virtuelle)

Allocation proportionnelle

On garde generalement un tampon de T pages

Pi recoit (N − T )× Mi∑i Mi

cadres

Inconvenient

Les petits processus font plus de defauts de pages en pratique. . .car ils utilisent simultanement une plus grande part de leur code que les grosprocessus.

Info32b Systemes d’Exploitation Thomas Lavergne 35/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe Pagination a la demande Allocation

Allocation proportionnelle

Donnees

N cadres disponibles en RAM

P processus

∀i ∈ [1,P], Mi la taille de Pi (en memoire virtuelle)

Allocation proportionnelle

On garde generalement un tampon de T pages

Pi recoit (N − T )× Mi∑i Mi

cadres

Inconvenient

Les petits processus font plus de defauts de pages en pratique. . .car ils utilisent simultanement une plus grande part de leur code que les grosprocessus.

Info32b Systemes d’Exploitation Thomas Lavergne 35/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Principe Pagination a la demande Allocation

Allocation basee sur la priorite

Donnees

N cadres disponibles en RAM

P processus

∀i ∈ [1,P], prioi la priorite de Pi

Allocation basee sur la priorite

On garde generalement un tampon de T pages

Pi recoit (N − T )× prioi∑i prioi

cadres

Info32b Systemes d’Exploitation Thomas Lavergne 36/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Plan

1 Fonctionnement de la memoire

2 Pagination

3 Memoire virtuelle

4 Conclusion

Info32b Systemes d’Exploitation Thomas Lavergne 37/38

Fonctionnement de la memoire Pagination Memoire virtuelle Conclusion

Synthese

Ce qu’il faut retenir

Notion d’adresse

Liaison d’adresse & resolution

Allocation memoire

Fragmentation

Pagination simple et double niveau

Memory Management Unit

Memoire virtuelle

Deroutement

Politiques d’allocation

. . . et savoir faire les calculs !

Info32b Systemes d’Exploitation Thomas Lavergne 38/38

top related