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

158
Fonctionnement de la m´ emoire Pagination emoire virtuelle Conclusion Syst` emes d’Exploitation Cours 5/13 : M´ emoire Thomas Lavergne & Nicolas Sabouret Universit´ e Paris-Sud Licence 3 - semestre S5 Info32b Syst` emes d’Exploitation Thomas Lavergne 1/38

Upload: others

Post on 27-Jun-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 2: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 3: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 4: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 5: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 6: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 7: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 8: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 9: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 10: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 11: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 12: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 13: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 14: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 15: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 16: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 17: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 18: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 19: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 20: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 21: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 22: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 23: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 24: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 25: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 26: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 27: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 28: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 29: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 30: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 31: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 32: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 33: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 34: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 35: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 36: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 37: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 38: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 39: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 40: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 41: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 42: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 43: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 44: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 45: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 46: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 47: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 48: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 49: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 50: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 51: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 52: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 53: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 54: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 55: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 56: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 57: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 58: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 59: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 60: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 61: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 62: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 63: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 64: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 65: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 66: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 67: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 68: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 69: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 70: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 71: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 72: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 73: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 74: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 75: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 76: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 77: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 78: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 79: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 80: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 81: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 82: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 83: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 84: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 85: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 86: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 87: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 88: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 89: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 90: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 91: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 92: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 93: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 94: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 95: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 96: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 97: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 98: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 99: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 100: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 101: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 102: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 103: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 104: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 105: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 106: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 107: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 108: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 109: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 110: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 111: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 112: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 113: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 114: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 115: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 116: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 117: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 118: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 119: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 120: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 121: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 122: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 123: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 124: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 125: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 126: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 127: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 128: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 129: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 130: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 131: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 132: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 133: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 134: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 135: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 136: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 137: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 138: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 139: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 140: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 141: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 142: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 143: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 144: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 145: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 146: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 147: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 148: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 149: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 150: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 151: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 152: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 153: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 154: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 155: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 156: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 157: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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

Page 158: Syst emes d’Exploitation Cours 5/13 : M emoire Thomas ... · Fonctionnement de la m emoirePaginationM emoire virtuelleConclusion Plan 1 Fonctionnement de la m emoire 2 Pagination

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