La mémoire virtuelle - Traduction dadresses et pagination à la
Address Translation & Demand Paging une mémoire pour moi tout seul : «mémoire virtuelle» ... pagination (en VO paging) = une unique taille de bloc.
Pagination (1/3) : la mémoire
Exemple : les adresses virtuelles et physique sont sur 32 bits les pages font 1K octets. La page virtuelle 4 est implantée sur la page physique 9. Voici les 3
Mémoire virtuelle
Elle est nécessaire pour la conversion des adresses virtuelles en adresses phy- siques. Page 5. 10.2. PAGINATION PURE. 5. Disque. Mémoire.
Gestion de la mémoire
Principe de la mémoire virtuelle: la taille de l'ensemble formé par le seulement du comportement de la pagination pour ce processus mais.
Module 8 – La mémoire virtuelle
Mémoire Virtuelle. ? Pagination sur demande. ? Problèmes de performance. ? Remplacement de pages: algorithmes. ? Allocation de cadres de mémoire.
Séance 7 Mémoire virtuelle et pagination
Objectifs. Comprendre la mémoire virtuelle. Mécanisme de pagination à la demande. Principe du défaut de page. Algorithmes de remplacement de page.
Cours 4: Gestion de la mémoire
20 oct. 2015 1 Mémoire virtuelle (premiers pas). 2 Mémoire virtuelle (moderne). Pagination. Algorithmes d'échange. 3 Appels syst`emes.
Travaux Dirigés
15 déc. 2016 considéré utilise une pagination à deux niveaux où les entrées du de la table ... contenant son code est disposée dans sa mémoire virtuelle.
620 Mémoire virtuelle - INF3173 Principes des systèmes dexploitation
Mémoire virtuelle sans pagination (historique). • Alias: swapping de processus Les pages virtuelles de l'espace mémoire utilisable d'un processus.
1. Introduction
Pagination. La pagination est l'une des deux techniques (qui peuvent être combinée) de la mémoire virtuelle. Le principe est de diviser l'espace d'adressage
Module 8 – La mémoire virtuelle
mémoire le bit M (modified ou dirty bit) qui indique si la page a été modifiée - pour trouver l'information cherchée on concatène la partie déplacement dans la page au numéro de page physique trouvé
8 – PAGINATION MÉMOIRE
aucune page n'est chargée décrire les actions de gestion de mémoire sous la forme d'une suite composée des opérations précédentes Donner la table des pages finale 2 SEGMENTATION PAGINÉE On considère une mémoire segmentée paginée La taille des pages est de 512 mots
Gestion de la mémoire par pages
par pagination • Mémoire virtuelle divisée en zones de taille fixe appelées pages – Taille typique d ’une page: 4 Koctets – Taille mémoire virtuelle : 32 ou 64 bits d ’adresse • Mémoire physique divisée en blocs de même taille que les pages appelés les cases • Une page peut être chargée dans n’importe quelle case
Searches related to pagination mémoire virtuelle PDF
La pagination consiste à diviser l'adressage de la mémoire en deux couches : • La couche logicielle utilise un espace d'adressage plus grand que la mémoire physique effectivement disponible (l'espace des adresses linéaires autrement appelé mémoire virtuelle ou mémoire linéaire) Par exemple l'allocateur de mémoire
Quelle est la différence entre la pagination et la segmentation à la mémoire virtuelle ?
De la pagination et segmentation à la mémoire virtuelle Un processus est constitué de morceaux (pages ou segments) ne nécessitant pas d’occuper une région contiguë de la mémoire principale Références à la mémoire sont converties en adresses physiques au moment de l’exécution
Qu'est-ce que la pagination de mémoire ?
Pouvant être définie comme l’action qui consiste à numéroter chaque page du rapport de stage, les unes après les autres, la pagination de mémoire facilite le repérage d’une partie, d’un chapitre, d’un titre ou d’un paragraphe contenus dans le rapport de stage proprement dit, qui est un document hiérarchisé.
Comment fonctionne la mémoire virtuelle?
L’implantation de la mémoire virtuelle gère automatiquement deux niveaux de hiérarchie de mémoire, la mémoire physique (RAM) et la mémoire secondaire (le disque).
Où se trouve la pagination ?
La pagination est indiquée en haut de la page à droite. Le chiffre se place seul, sans point, ni tiret, ni parenthèses. La première page de l'introduction constitue la page 1, mais sa pagination est invisible. Le développement, la conclusion, la bibliographie et les annexes sont paginés et visibles.
La mémoire virtuelle
Traduction d"adresses et pagination à la demandeAddress Translation & Demand Paging
Guillaume Salagnac
Insa de Lyon - Informatique
Résumé des épisodes précédents : noyau vs userlandProcessus 1HardwareProcessus 2KernelArchitectureVM2VM1
Le processus vu comme une "machine virtuelle»
un processeur pour moi tout seul : "CPU virtuel» une mémoire pour moi tout seul : "mémoire vir tuelle» 2/42La mémoire virtuelle : intuition
Principe : chaque processus a sa propre mémoire une mémoire = un vaste tableau d" octets indices = adresses •contenu : complète liberté du programmeur décider où mettre quoi = allocation l"intér ieur du processus (cf chap .4)Implémentation :
combinaison de plusieurs technologies hiérarchie mémoire : cache ,RAM, disque •en principe, invisible pour le programmeurcoopération entre noyau et matérielFFF...FFF:01110101110010111010011111001100000...000:000...001:000...002:
3/42Problème n
o0 : la mémoire est trop lenteSeulement
deux technologies pour la mémoire viv eSRAM :1 bit = 6 tr ansistorsMémoire cache : ajouter une petite SRAM
dans le CPU garde une copie des données récemment accédéesCPUCacheDRAM capacité : quelques MioDRAM seulement utile sur
déf autde cache (en V O: cache miss) solution entièrement HW : complètement invisible pour le SW 4/42Problème n
o1 : la mémoire est trop petite un processus = 264adresses = 18446744073709551616 octets
= 17179869184 GioFFF...FFF:01110101110010111010011111001100000...000:000...001:000...002:VSDRAM
mémoire physique = quelques Gio 5/42Problème n
o2 : comment gérer l"espace disponible?Même si chaque processus n"a pas besoin de 2
64octets,
•il y a de nombreux processus simultanément •des dizaines? des centaines? des milliers? •combien d"espace occupe chacun? pour combien de temps? •qui manipulent des éléments hétérogènes 6/42Problème n
o3 : comment protéger chaque processus?Process 1code 1data 1code 2Process 2var 1data 2var 2Problème n
o4 : comment permettre la coopération?Process 1code 1data 1code 2Process 2var 1data 2var 2shared memory 7/42Solution : ajouter un niveau d"indirection
All problems in computer science can be solved by another level of indirectionDavid WheelerDéfinition : Indirection aka déréferencementProcessus 1 Accèsindirectà quelque chose, i.e. au travers d"uneréférenceExemples •pour joindre quelqu"un au téléphone, devoir pas- ser d"abord par un standard invoquer une méthode virtuelle en C++, Java...Processus 1
IndirectionProcessus NM
´emoire virtuelleM
´emoire physique8/42
Abstraction : adressage directCPUMemoryM-2:M-1:LOAD 1234011101011100101110010010010110011010000001011010100011000111000101011001101001111100110010100000 0101101010001100 011100010:1:1232:1233:1234:1235:1236:1237:1238:2:
la mémoire = tableau deMcases numérotées de 0 àM-1 une case = un octet (1B = 1 b yte ) = 8 bits un accès (i.e. lecture ou écriture) = un mot ( word ) = un paquet de plusieurs octets consécutifs en général 4 octets (= 32 bits) ou 8 octets (= 64 bits) 9/42Réalité : adressage virtuelCPUMainmemor y0:1:5328:5329:5330:5331:5332:5333:5334:M-2:M-1:LOAD1234 011101012:110010111001001001011001101000000101101010001100011100010101100110100111110011001010000001011010 1000110001110001 MemoryManagementUnit1010000001011010 1000110001110001 LOAD5330 VirtualAddressPhysicalAddress
Sur une architecture moderne :
CPU ne manipule que des
"adresses vir tuelles» (V A) composant supplémentaire :Memor yManagement Unit
(MMU) traduità la v oléechaque V Aen une
"adresse ph ysique» (P A) mem centrale = mem principale = mem physique = DRAM 10/42Virtualisation des adresses : remarques
Espace d"adressage virtuel
= V AS= {0,1,2,...,N-1} chaque processus dispose d"un VAS privéEspace d"adressage physique
= P AS= {0,1,2,...,M-1} une adresse pour chaque octet de (DRAM + périphériques) traduit les adresses virtuelles en adresses physiques sera reconfigurée par l"OS à chaque changement de conte xte11/42À retenir : pourquoi la mémoire virtuelle
Problème 1 : pas assez de mémoire vive
= utiliser la DRAM comme un cache pour les VAS Problème 2 : gestion des zones libres/occupées (en DRAM)Problème 3 :
isolation entre processus ,protection du no yauProblème 4 :
par tage de données entre processus 12/42 Plan1. La mémoire virtuelle : intuitions et motivation
2. Pagination et traduction d"adresses
3. Memory swapping : pagination à la demande
4. Gestion de la mémoire physique
5. Protection, Isolation et partage
13/42Pagination à la demande : principe
utiliser le disque pour "agrandir la mémoire vive» utiliser la DRAM comme un cache du disque CPUDRAMDiskVASPAS0123012336373839ABCABBACMMU 14/42Pagination à la demande : remarques
contenu des processus "alloué sur le disque» dans un fichier (ou plusieurs) appelé leswap file •données chargées en RAM seulement lorsque accédées latence disque trop importante pour faire attendre le CPUDRAM = 10x à 100x plus lent que SRAM/CPU
•disque = 1000x à 100 000x plus lent que DRAM avec la coopér ationdu matér iel •invisible pour le programmeur d"applicationUne unique taille de bloc : P=2 poctets (en général P=4Kio) parfois : "fr ames» en V O,soit "cadres» en VF 15/42Numérotation des pagesN-2.N-1.0.1.2.P-1.P.P⇁1.2P-1.2P.Virtual Address SpaceVirtual AddressN-P.Virtual Page nν0
Virtual Page nν1 Virt▷ Page nνX-1 M-2.M-1.0.1.2.P-1.P.P⇁1.2P-1.2P.Physical Address SpacePhysical AddressM-P.Physical Page nν0
Physical Page nν1
Phys▷ Page nνY-1VS
Numéro de page virtuelle
: VPN ∈ {0,1,...,X-1}où X = N÷PNuméro de page physique
: PPN ∈ {0,1,...,Y-1}où Y = M÷P 16/42Traduire des adresses = traduire des nº de pagesN-2:N-1:0:1:2:P-1:P:P+1:2P-1:2P:Virtual Address SpaceVAN-P:Virtual Page nº0
Virtual Page nº1 Virt. Page nºX-1 M-2:M-1:0:1:2:P-1:P:P+1:2P-1:2P:Physical Address SpacePAM-P:Physical Page nº0
Physical Page nº1
Phys. Page nºY-110X01VPN=⌊VA÷P⌋YPPN=⌊PA÷P⌋42}Physical Page nº42011101011100101110010010010110011010000001011010100011000101100110100000010110100111000101011001100011000101100111001100
Rôle de la Memory Management UnitN-2:À chaque accès mémoire, "traduire» leVPN en son PPN 17/42
Traduction d"adresses : principe
un Virtual Address Space = une "vue» sur la mémoire ph ysique en vérité chaque donnée est toujours bien stockée en DRAM mais visible depuis le CPU seulement à uneadresse vir tuelleAlgorithme de traduction VA7→PA (implémenté par la MMU)1)calculer VPN = ⌊VA÷P⌋etPO = V Amod P
autrement dit, VA = VPN×P + PO •PO =P ageOffset = position à l"intér ieurde la page 2) trouv erlePPN correspondant au VPN
dans un annuaire appelé laT ablede P agination
= Page TablePT 3 ) calculerP A= PPN ×P + PO
offset identique dans la page virtuelle et la page physique18/42Implémentation des calculs d"adresses
Taille de page = P = 2
pdonc :Exemple avec m=n=16 et p=10 :1011010010100110?
???????VirtualAddress(nbits) =1011010010100110????VirtualPageNumber (npbits) PageOffset(pbits) 0010100110011010?PhysicalPageNumber (mpbits) =0110100010100110?
???????PhysicalAddress(mbits) PageTable: VPN?→PPNPPO= VPO 19/42Implémentation de la table de pagination
PT = dictionnaire = "tab lede correspondances» = lookup table une clé = un nº de pages virtuelle VPN une valeur = un nº de page physique PPN + des métadonnées une paire clé+v aleur = uneP ageT ableEntr y
PTE PT elle-même stockée en mémoire principale beaucoup trop de PTE pour tenir en entier dans la MMU autrefois : tableau exhaustif. aujourd"hui : arbre de recherche consultation : implémentée en matériel par la MMURappel : 1 processus = 1 VAS = 1 PT
20/42Mémoire virtuelle paginée : à retenirCPUMMUPAS0123VAS0123VPNPPN012312VPNPPNØØPTVA=VPN.POPA=PPN.POAABBCD
1)CPU demande à accéder à une
adresse vir tuelle V A 2) MMU consulte le bon PTE (dans la PT) pour connaître le PPN 3)MMU tr ansmetla requête tr aduiteP Asur le
b ussystème 4) réponse tr ansmiseau CPU sans inter ventionde la MMU 21/42Plan
1. La mémoire virtuelle : intuitions et motivation
2. Pagination et traduction d"adresses
3. Memory swapping : pagination à la demande
4. Gestion de la mémoire physique
5. Protection, Isolation et partage
22/42Pagination à la demande : principe
utiliser le disque pour "agrandir la mémoire vive» utiliser la DRAM comme un cache du disque CPUDRAMDiskVASPAS0123012336373839ABCABBACMMU Problème : et si le programme accède à sa page n o2? et no3? 23/42Table de pagination : PTE valide vs PTE invalide
Page Virt. n
o3 : existe sur le disque maispas chargée en DRAM en VOswapped-outouuncachedPage Virt. n
o2 : n"existe pas du tout :adresses vir tuellesin utilisées en VOunallocatedouunmappedDu point de vue de la MMU :
page présente en DRAM = accès possible =PTE v alide
page absente de DRAM = accès impossible =PTE in valide
implem : un drapeau (booléen) dans le PTE : le"valid bit» 24/42Accès à une page virtuelle au PTE invalide
Quand un processus accède à une page invalide :MMU lève une interruption logicielle (trappe)
•CPU saute dans le noyau et exécute l"ISR associéeIdée : noter le n
ode secteur dans la PTE, à la place du PPN!Exemple :
PTE valide?n ode page physique ou n ode secteurPTE n o0vPP n o2PTE n o1vPP n o0PTE n o2iØ PTE n o3isecteur no38(en vrai c"est un peu plus compliqué, cfvm_area_structdans Linux mais l"idée est la même)25/42
Défaut de page : déroulement temporel
1.CPU demande une cer taineadresse vir tuelle
2.MMU trouv eun PTE in validedans la PT
3.MMU en voieune requête d"interr uption
4. OS vér ifieque la page vir tuelledemandée e xistebien 5.OS trouv eune page ph ysiquelibre
il faut parfois décharger ( swap out ) une autre page 6.OS charge (
swap in ) la page demandée depuis le disque •exécution d"un autre processus pour rentabiliser le CPU 7. lorsque page chargée : OS met à jour le PTE dans la PT 8.OS rend la main au processus d"or igine
accès mémoire ré-exécuté, cette fois avec succès •toujours "invisible» pour le programmeur 26/42quotesdbs_dbs13.pdfusesText_19
[PDF] conversion adresse logique adresse physique
[PDF] pagination et segmentation pdf
[PDF] pagination systeme d'exploitation
[PDF] telecharger un livre de grammaire pdf
[PDF] larousse conjugaison pdf
[PDF] telecharger larousse difficultés grammaticales pdf
[PDF] larousse grammaire francais
[PDF] larousse orthographe pdf
[PDF] larousse livre de bord orthographe pdf
[PDF] introduction grammaire generative
[PDF] chomsky théorie
[PDF] chomsky linguistique pdf
[PDF] aspects de la théorie syntaxique pdf
[PDF] grammaire grecque ancien