[PDF] Gestion de la mémoire Telecom-ParisTech BCI Informatique Pagination





Previous PDF Next PDF



Pagination (1/3) : la mémoire

Telecom-ParisTech BCI Informatique La première étape de cette virtualisation est la pagination : ... Pagination (3/3) : allocation des pages.



La mémoire virtuelle - Traduction dadresses et pagination à la

La mémoire virtuelle. Traduction d'adresses et pagination à la demande. Address Translation & Demand Paging. Guillaume Salagnac. Insa de Lyon – Informatique.



Gestion de la mémoire

Pagination (Paging). L'espace adresse logique d'un processus n'est pas contigu. La mémoire physique est découpée en blocs de taille fixe appelés cadres de.



Smart card introduction

La segmentation est visible au programmeur mais la pagination ne l'est pas. • Le segment est une unité logique de protection et partage tandis que la page ne l 



PROCEDURES POUR LA MISE EN FORME INFORMATIQUE DU

PROCEDURES INFORMATIQUES / MISE EN FORME D'UN MEMOIRE / 3e ANNEE SEM. PAGINATION EN TETE _ OPTION 2 / CONSERVER LE CURSEUR DANS L'EN-TÊTE > MENU >.



Styles et Index dans LibreOffice Writer

4- Conception de la pagination. Il faut penser son document : Page 6/10 - http://blogs.lyceecfadumene.fr/informatique. Page de garde. Remerciements.



Gestion de la mémoire

Telecom-ParisTech BCI Informatique Pagination et mémoire virtuelle. Annexe. ... La première étape de cette virtualisation est la pagination :.



8 – PAGINATION MÉMOIRE

Le principe de la pagination réside dans la division de la mémoire en zones de tailles fixes appelées "pages". L'espace de travail d'un processus est divisé 



Pagination de la mémoire

Pagination de la mémoire. Question 1 : NPV référencées. 4. 0. 1. 2. 0. 1. 0. 3. 1. 4. 1. 3. 0. B2 B2 B2 B2 B2 B2. 1. B3 B3 B3 B3 B3 B3 B3. B1 B1. 2.



TD3 : Syst`eme de gestion mémoire 1 Traduction dadresses 2

Pagination : schéma simplifié. Instruction réexécutée. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. L2 Informatique - 2015/2016. 1. Emilie MORVANT 

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 253 253 Gestiondelamémoire Plan+1.Qu'e t-cequelamémoire?-Définitions,exemples2.Allocationcontiguëenmémoire-Partitionsdetaillefixe,detaillevariable3.PaginationetmémoirevirtuelleAnnexe.Lapile:utilisationdesargumentspassésàmain.

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 254 254 Définitions - Mémoire : juxtaposition de cellules ou mots-mémoire ou cases-mémoire à m bits (Binary digIT). Chaque cellule peut coder 2m informations différentes. - Octet (byte) : cellule à h uit bi ts. (1 Kilo -octet = 210octets, 1 Mega-octet = 220octets). - Mot : cellule à 16, 32, 64 bits. - Temps d'accès à la mémoire (principale) : 20 à 100 ns. Généralités : Sur une ma chine c lassique, rien ne disti ngue, en mémoire, une instruction d'une donnée (architecture Von Neumann). Exemple de protections logicielles : - données accessibles en lecture/écriture - programme accessible en lecture seule Evolution : -Sur les machines dotées des processeurs les plus récents, ce type d'architecture est remis en cause. En effet, ces processeurs sont équipés de mémoire appelées caches et ces caches sont souvent distincts pour les données et les instructions. On parle dans ce cas de "Harvard type cache ». -Sur certains calculateurs spécialisés (systèmes embarqués, processeurs de traitement du si gnal, ...) les progra mmes et les données sont rangés dans des mémoires différentes : programme en mémoire morte ROM (read only memory), données en mémoire vive RAM (random access memory). Pourquoi la mémoire ? Le processeur va chercher les informations dont il a besoin, c'est-à-dire les instructions et les données, dans la mémoire. Il ne va jamais les chercher sur le disque ! Ce dernier sert de support d'archivage aux informations, en effet la mémoire s'efface lorsque on coupe l'alimentation électrique de la machine.

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 255 255 Lamémoire,ressourceduS.E•La mémoire estunassemblagedecellulesrepé réesp arleurnuméro,ouadre e.•Gestionnairedemémoire:gèrel'allocationdel'espacemémoireausystèmeetauxprocessusutilisateurs.•n=largeurdubusd'adresses•m =largeu rdu busdedonnées

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 256 256 struct noalign { char c; double d; int i; char c2[3]; } le sizeo f(noalign) va donner une valeur en octets q ui dépend fortement de l'arachitecture et du compilateur. On pourrait croire que sizeof(noalign) = 1 + 8 + 4 + 3*1 = 16 . Or la taille observée est sizeof(noalign) = 24 . Ceci met en évidence un phénomène d'alignement mémoire. En effet, le compilateur rajoute des bits dits de " padding » pour aligner les données avec des multiples de 2,4,8... selon les caractéristiques du processeur cible, de la largeur du bus d'adresse et de la largeur du bus de données. Par exemple dans ce cas la structure noalign ressemble en réalité à ceci : struct noalign { char c; char pad1[7]; double d; int i; char c2[3]; char pad2; } On remarque que pad1 permet à d de débuter à une adresse multiple de 8 et pad2 complète la structure pour atteindre 24 (multiple de 8) Par contre la structure suivante qui contient les mêmes membres mais dans un ordre différent est bien alignée avec des multiples de 8 : struct align { double d; int i; char c2[3]; char c; } Et donc le sizeof(align) = 16

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 257 257 Mémoire:alignement•Cons équencedel'accès32bits:alloca tionmémoi red'untableaudestructuressurunemachinealignantsur32bits(letableauestimplantéàpartirdel'adresse0x100: struct S{ char c; int i; } struct S Tab[10]; •Ici,sizeof(S)renvoielavaleur8etnonpas5!

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 258 258 La part ie du système d'explo itation qui s'occupe de gérer la mémoire s'attache à atteindre les objectifs suivants : • protection : dans un système multi utilisateurs, plusieurs processus, appartenant à des utilisateurs différents, vont se trouver simultanément en mémoire. Il faut éviter que l'un aille modifier, ou détruire, les informations appartenant à un autre. • réallocation : chaque processus voit son propre espace d'adressage, numéroté à partir de l'adresse 0. Cet espace est physiquement implanté à partir d'une adresse quelconque. • partage : permettre d'écrire dans la même zone de données, d'exécuter le même code. • organisation logique et physique : comme on le verra, à un instant donné, seule une partie du programme et des données peut se trouver en mémoire si la taille de cette dernière est trop faible pour abriter l'ensemble de l'application.

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 259 259 Gestiondelamémoire:objectifs•protection:pa rdéfaut,unp rocessusnedoitpaspouvoiraccéderàl'espaced'adressaged'unautre,•partage:s'il sledemandent,pl usieursp rocessuspeuventpartagerunezonemémoirecommune,•réallocation:lesadressesvuesparleprocessus(adressesrelativesouvirt uelles) sontdifférentesdesadressesd'implantation(adressesabsolues),•organisationlogique:notiondepartitions,segmentation(cf.Intel),pagination,mémoirevirtuelle,•organisationphysique:unehiérarchiedemémoiremettantenoeuvre lescachesmatérie ls,lamémoire elle-même,lecachedisque,le(s)disque(s)(quiestunsupportpermanent,contrairementauxprécédents).

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 260 260 Un accès à la mémoire ne veut pas forcément dire un accès à la mémoire RAM, comme on pourrait le croire. Les processeurs étant de plus en plus rapides, les mémoires leur semblent de plus en plus lentes, pour la simple raison que les performances de ces dernières progressent beaucoup plus lentement que les leurs. Pour pallier ce défaut, les constructeurs implantent de la mémoire sur les "chips" c'est à dire sur les processeurs eux-mêmes. Ces mémoires sont appelées "caches". Elles contiennent un sous-ensemble de la mémoire RAM. Ces caches s'appellent "on chip caches", primary caches ou caches primaires. Il existe également des caches secondaires, qui ne sont pas sur le processeur lui-même, mais auxquels on fait accès par un bus dédié, plus rapide que celui permettant les accès à la mémoire classique.

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 261 261 Hiérarchiedesmémoires •Duplusrapideetpluspetit(niveauxbas)aupluslentetplusvolumineux(niveauxhauts):•Quandlacapacitédécroît,lecoûtdubitaugmente.•Onf aitac cèsauxdisq ueslocauxparlebus,l'ac cès auxdisquesdistantssefaitparleréseau.•Remarque:àuninstantdonné,uneinformationpeutêtreprésenteàplu ieur niveauxdelahiérarchie.

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 262 262 Gestiondelamémoire 1.Qu'est-cequelamémoire?-Définitions,exemples+2.Allocationcontiguëenmémoire-Partition detaillefixe,detaillevariable3.Paginationetmémoirevirtuelle

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 263 263 Problèmesliésàlagestiondelamémoireenpartitions: • Fragmentation interne : -Un processus n'utilise pas la totalité de la partition. • Fragmentation externe : -Certaines partitions ne sont pas utilisées, car trop petites pour tous les travaux éligibles. • Comment choisir a priori la taille des partitions ?

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 264 264 Allocationcontiguë:lespartitions•Commentpartagerlamémoireentrelesdifférentsprocessus?L'espacemémoireestallouédynamiquement,defaçoncontiguë,lorsdel'implantationdesprocessusenmémoire:onnesaitpasdécouperl'espaced'adressaged'unprogrammeenplusieurspartiesdisjointes:•Sur l'exemple,J ob_5peutêtreimplantéàdeux adressesdifférentes(laquellechoisir?),maisonnepeutpa chargerJob_4quidemandeunespacemémoirede125Ko.•Remarque:l'isolationspatialeinduiteparlepartitionnementpermetlaprotectiondesaccèsmémoire.

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 265 265 Politiquesdeplacementdespartitions•Siplusieurspartitionssontsusceptiblesd'accueillirleprocessusàcharger(partitionslibres),plusieurspolitiquesdeplacementsontpossibles:-FirstFit:onplaceleprocessusdanslapremièrepartitionlibredontlatailleestsuffisante-BestFit:onplaceleprocessusdanslapartitiondontlatailleestlaplusprochedelasienne.-WorstFit:onplaceleprocessusdanslapartitiondontlatailleestlaplusgrande.•BestFitvaconduireàlacréationdenombreusespartitionslibresminusculesnon-réutilisables,onutilisegénéralementWorstFitenclassantlespartitionslibresparordredetaillesdécroissantes,puisplaceleprocessusdanslapremièrepartitionlibredontlatailleestsuffisante•Danslecasoùiln'existeaucunepartitionlibreassezgrande,onpeutfairedugarbagecollectingouramasse-miettes(cf.plusloin).

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 266 266 Le garbage collecting est appelé ramasse miettes en français. Il est utilisé par des logiciels (emacs, écrit en Lisp), par des langages (Java, Lisp), pour gérer leur propre espace mémoire. La défragmentation d'un disque s'apparente à du garbage collecting..

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 267 267 Gestiondelafragmentation:leramasse-miettesgarbagecollecting- •Coûtdel'opération?•Onpeutégalementfaireducompactage(regroupementdesseulstrousvoisins)

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 268 268 Limitesdel'allocationcontigüe. Knuth a démontré que, quelle que soit la strat égie adoptée, on n'arrive jamais à recouvrir parfaitement l'espace libre par des blocs occupés. Sa démonstration montre que la proportion de blocs libres (trous) sera d'un tiers par rapport au nombre de blocs occupés. Il répartit les blocs occupés en trois catégories : - ceux qui ont deux voisins libres, - ceux qui ont deux voisins occupés, - ceux qui ont un voisin de chaque nature.

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 269 269 RègledeKnuth1- •Soit:-N:nombredeblocsoccupés,-M:nombredeblocslibres,•Lesdifférentstypesdeblocsoccupés:-Typea:blocadjacentàdeuxblocslibres,-Typeb:blocadjacentàunblococcupéetunlibre,-Typec:blocadjacentàdeuxblocsoccupés,•Si:-Na:nombredeblocsdetypea-Nb:nombredeblocsdetypeb,-Nc:nombredeblocsdetypec•Alors:N=Na+Nb+Nc•et:M=Na+Nb/2+ε/2(ε>0ou<0selonlesbords)

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 270 270 RègledeKnuth2-•Onnote:-p:proba(onnetrouvepasdetroudebonnetaille),-1-p:proba(ontrouveuntroudebonnetaille).•Ona:-proba(Maugmentede1)=proba(onlibèreunbloc"c")=Nc/N-proba(Mbaissede1)=proba(ontrouveuntroudebonnetaille)+proba(onlibèreunbloc"a")=1-p+(Na/N)•Al'équilibre:proba(Maugmentede1)=proba(Mbaissede1)donc:-Nc/N=(Na/N)+1-p-puisqueN-2M~Nc-NaonaM=N/2*p-sip~1alorsM~N/2ouencoreN=2*MNote:~ signifie ici " proche de »•Conclusion:àl'équilibre,unblocsurtroisestlibre,c'est-à-direinoccupé!

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 271 271 Gestiondelamémoire1.Qu'est-cequelamémoire?-Définitions,exemples2.Allocationcontigüeenmémoire-Partitionsdetaillefixe,detaillevariable+3.Paginationetmémoirevirtuelle

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 272 272 Pagination (1/3) : la mémoire •Lamémoireestuneress ourcedetaill efinie,le système d'exploitationvaendonner unereprésentation"logique»,lavirtualiser,pourqu'elleapparaissecommeuneressourcedisponiblesanslimitation.•Lapremièreétapedecettevirtualisationestlapagination:Lamémoireestdiviséeensous-ensemblesdemêmetaille ,appeléspage phy ique (frameenanglais)•Dansunespacemémoirepaginé,lesadressessontstructuréesenpaires:adresseenmémoirephysique(adressephysique):(NPPHI,DEP)oùNPPHIestlenumérodepage(frame)etDEPledéplacement,enoctets,danscettepage.Parexemple,silatailledespagesestde1Ko:adressephysique2026=(1,1001)

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 273 273 Pagination (2/3) : les processus •L'espacemémoireallouéauxprocessusestluiaussidiviséenpages,appeléespage logique (pageenanglais),numérotéesde0àNprocpourchaqueprocessus.•Parexemple,soittroisprocessusPi,PjetPk,etdespagesde1Ko:ProcessusPiPjPkEspaced'adressagenécessaire(enKilooctets)835•Représentationdel'espaced'adressagedecestroisprocessus:•Danschaqueprocessus,lesadressessontstructuréesenpaires:adresseenmémoireprogramme(adresselogique):(NPL,DEP)oùNPLestlenumérodepagelogiqueetDEPledéplacementdanslapage,enoctets,danslapage.

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 274 274 Pagination (3/3) : allocation des pages •Danscetexemple,latailledespagesphysiquesestde1Ko(1024octets),lespagesphysiqueslibressontreprésentéesengrisé.•Onconstatequeleplusgrandbloclibrefait2Ko(pagephysiques16et 17contiguës) .En allocationcontiguë,sionv oulaitmaintenantchargerenmémoirelesprocessusPj(3Ko)ouPk(5Ko)ilfaudraitfairedugarbagecollecting.•Lapaginationvalevercettecontraintedecontiguïté:Dansunespac epaginé ,auxalgorithmesdeplacementsesubstituentdesalgorithmesd eremplacement:lespageslogiquessontchargéesaufuretàmesuredesbesoinssurlespagesphysiqueslibres,mêmesicesdernièresnesontpascontigües.

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 275 275 La table de pages (1/3) : rôle •CommentretrouveruneinformationsetrouvantdansunepagelogiquenumérotéeNPLquiaétéchargéesurunepagephysiqueNPPHI?•Onutiliseunetable,appeléetabledepage .Ilyaunetabledepagesparprocessus.•SoitTPcettetable,àchaquechargementd'unepagelogiqueNPLsurunepagephysiqueNPPHI,onfait:TP[NPL]=NPPHIOnaura doncpour leprocessusPKprécédent:

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 276 276 La table de pages (2/3) : exemple Soitlavariableiquiauneadresseenmémoireprogramme(adresselogique)1028:ondit qu' elleestdansl'espaced'adressagedePK.Onvoi tbienquel'exécutionde i=4neprovoquepasd'écrituredelavaleur4àl'adressephysique1028,c'est-à-diredanslapagephysique1enmémoire;eneffet,1028esticiuneadresseenmémoireprogramme(adresselogique).Enréalité, lapage logique1deP Kestchargéesurl apagephysique23!L'adressephysiqueseradon cdifférentedel'adresselogique.

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 277 277 La table de pages (3/3) : exemple •L'utilisationdelatabledepagepermetlatraductiondesadresseslogiquesenadressesphysiques:•Remarque:chaqueprocessusvoitsonpropreespaced'adressagenumérotéàpartirde0,maischaqueespaceestappliquésurunespacephysiquedifférent->i olationetprotectionauniveaudelapage(cf.Android,...)

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 278 278 Adresses virtuelles (1/4) •Lapagina tionpermetlavirtuali ationdel' espaced'adressage:1. ellepermetde chargeruneapplicationde façonnoncontigüeenmémoire,2. mais,deplus,elleautorisel'exécutiond'uneapplicationmême ilatailledel'e pacedi ponibleenmémoirephy iquee tinféri eureàcellerequi eparl'application:3. onnecha rgeenmémo irephysiquequ'uns ous-ensembledespagesphysiquesdel'application,lerestedespagesphysiquespeuventêtreécritessurunautresupportcommeundisqued ur.Latable depage sindiquel'emplacementexact:c'estàdiresiunepageestenmémoirephysiqueousurunautresupportdisque.

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 279 279 Adresses virtuelles (2/4) •Exempledescénario:§ soitunprocessusPk(7Ko),unemémoireàpagesphysiquesde1Koetundisquedontlesblocsfont1Ko.Pkoccupe7blocssurledisque:n1àn7.§ Ilreste5pagesphysiquesdisponiblesenmémoire:5,11,16,20et23.§ Enco ursd'exécutionde Pk,laconfigurationpeutêtrelasuivante:•Onremarquequ'unélémentaétéajoutédanslesentréesdelatabledepagesquiperme tdedéterminerl'emplacementd'unepagelogique:un indicateur devalidité(1:pa geenmémoire,d oncl'entréedonneunnumé rodepagephysi que,0:nu mérodeblocdisqueoùsetrouvelapage)

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 280 280 Adresses virtuelles (3/4) : bilan •Commeonvient delev oir,lamémoirerequiseparun processuspeutêtre upérieureàcelledelamémoi redi ponibleL'espaced'adressaged'u nprocessusétantpotentiellementplusgrandquel'espaced'ad ressagedela mémoirephysique,o nparledoncd'espaced'adres sagevirtueletd'adressesvirtuellespourlesprocessus.:adre evirtuelle:(Numérodepagevirtuelle,déplacementdan lapage)

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 281 281 Adresses virtuelles (4/4) : bilan •L'accèsàuneinformationenmémoiresefaitcommesuit:1. découpagedesonadressee nnuméro depagevi rtuelle(NPV)etdéplacement,2. accèsàl'entrée TP[NPV]delatab ledep agesTPduprocessus:a. indicateurdevaliditéV=1èpassagedepagelogiqueenpagephysique,accèsàl'informationpartraductiondel'adresselogiqueenadressephysique,b. indicateurdevaliditéV=0èpagesurled isque,défautdepage(pagefault)• action:re mplacerunedespagesvirtuell es(appeléeNPR)parNPV,recopierNPRsurdisquesielleaétémodifiée,mettreàjourTP[NPV]etTP[NPR].• accèsàl'informationpartraductiond'adresse

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 282 282 Virtualisation de la mémoire : illustration •L'espaced'adressaged'unprocessusestdiviséenpagesvirtuelles:• danslaplupartdescas,seulunsous-ensembledecespagesesteffectivementenmémoire,• latabledepagesindique,pourchaquepagevirtuelleutilisée,sielleest,ounon,présenteenmémoire•Surcetexemple,seules3pagesparmi6sontprésentesenmémoire.

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 283 283 Pagination et mémoire virtuelle •SoitMlatailledelamémoiredisponiblesurlamachine.SoitTlatailledel'application:• SiTM,onparledemémoirevirtuelle,deuxcassontalorspossibles:o Mestlatailledelamémoirelibreàcetinstant,o Mestlatailledetotaledelamémoire(applicationplusgrandequelamémoirephysique!)•Lamémoirevirtuelledonnel'illu ionàl'utili ateur(auproce u )qu'ildi po ed'une paced'adre ageillimité(enfait,limitéparlatailledudi que).

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 284 284 Mémoire virtuelle : Point de vue utilisateur •Lamémoirevirtuellepermetd'exécuter:• simultanémentplusieursprocessusdontlasommedesespacesd'adressageestsupérieureàlatailledelamémoirephysiques• uneapplicationdontlatailleestsupérieureàlatailledelamémoirephysique,•Latailled'uneapplicationestdonclimitéeparcelled'uneadresse:• nbitsd'adresses->232octetsd'espaced'adressage• enpratiqueunparamètresystèmelimitecettetaille

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 285 285 Passage de l'adresse virtuelle à l'adresse physique : - l'adresse d'une information est divisée en deux champs : numéro de page virtuelle et déplacement dans cette page (ici appelés p et w) - le contenu de l'entrée p de la table de pages (appelée TP) donne le numéro de page physique p' où est chargée p. Dans cette entrée, c'est à dire dans TP[p] figurent également les droits d'accès à la page en lecture, écriture et destruction, ainsi que des indications nécessaires à la pagination. Ces indications sont données par des bits, citons le bi t V (valid) qu i indique si p' est bien un numéro d e page en 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é. Lorsqu'on ne trouve pas la page que l'on cherche en mémoire, on parle de défaut de page (page fault, en anglais).

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 286 286 Traduction d'une adresse virtuelle en adresse physique •Principe:•Exemple:lesadressesvirtuellesetphysiquesontsur32bits,lespagesfont1Koctets.Lapagevirtuelle4estimplantéesurlapagephysique9.Voiciles3étapesdelatraduction:

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 287 287 En allocation par partition, les stratégies sont des stratégies de placement, ici on utilise des stratégies de REMPLACEMENT, les tailles de toutes les partitions (ici des pages) étant égales. Les principales stratégies sont les suivantes : • Moins Récemment Utilisée (MRU) / Least Recently Used (LRU) : On suppose que le futur ressemblera au passé. Implique que l'on conserve une trace des dates d'accès aux pages. • Moins Fréquemmen t Utilisée (MFU) / Least Frequently Used (LFU) : On suppose que le futur ressemblera au passé. Implique que l'on conserve une trace du nombre d'accès aux pages. Problème des pages récemment chargées. • La Plus Ancienne / First In First Out (FIFO) : Implique que l'on conserve une trace de l'ordre de chargement.

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 288 288 Stratégiesderemplacement•Ce sstratégiespermettentdechoisirquellep agevirt uelledoitêtreremplacéeparlapagevirtuellecourante:-LeastRecentlyUsed (LRU),lapagelamoin srécemmentutilisée.C'estl'algorithmeleplusutilisé:leshiérarchiesdemémoiressontgéréesLRU.-LeastFrequentlyUsed (LFU),lapagel amoinsfréquemmentutilisée.-FirstInFirstOut(FIFO),laplusancienne.

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 289 289 Exemple-1: partage de code (1/5) •Contexte:• Tailledespages:1Koctets,algorithmederemplacement:LRU,• Unetabledepageparrégion(code,donnéesetpile)pourchaqueprocessus,• Ilreste6pag eslib res(P1à P6)enmémoire. Onne 'intére equ'àlage tiondelarégiondecodede proce u .

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 290 290 Exemple-1: partage de code (2/5) •Scénario:• Unprocessus,leprocessusA,exécuteunprogrammedontlatailleest3Koctets.3pagesenmémoire(P1,P2,P3)parmices6pag eslibressontutilisées pourrangerceprogramme.1. lestroispremièresentréesdelatabledepagesdeApointentdoncversP1,P2etP3.• CeprocessusAfaitappelàfork()etcréeleprocessusB:1. lestroispremièresentréesdelatabledepagesdelarégiondecodedeBp oint ent alorsverslamêmespagesmémoirequecellesutiliséesparA:P1,P2etP3(partagedecode)commeillustréci-après.

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 291 291 Exemple-1: partage de code (3/5) Etatdes tablesdepagesdesprocessusAetB:•Remarques:Cepartagedesexécutablesestmisenoeuvresystématiquement(ilestfacileàfaire:lespagesn'étantpasmodifiées,iln'yapasdeproblèmedeconcurrence):1. iln'yaqu'unseulexemplaired'unprogrammeenmémoire,l'espacequiluiestallouéestpartagépartou lesprocessusquil'utilisent2. iln'ya qu'unse ulexemplaireenmémoired'unebibliothèquedynamique:cf .labibliot hèqued'en tréessorties(gaindeplace!)

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 292 292 Exemple-1: partage de code (4/5) •LeprocessusBfaitmaintenantappelàexec()pourchargerunfichierdontlatailleest4Koctet .C'estmaintenantquevasefairel'allocationenmémoiredespagesdecodepourleprocessusB:LestroispremièresentréesdesatabledepagessontactualiséesetpointentversP4,P5etP6,lestroisdernièrespageslibresenmémoire,Auchargementdelaquatrièmepagedufichier,ilyn'yplusdepagelibre,onappliquedoncLRUsur lest roispagesdéj àallouéese nmémoirepourleprocessusB.

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 293 293 Exemple-1: partage de code (5/5) •EtatdestablesdepagesdesprocessusAetBaprèschargementdel'exécutabletraitéparleprocessusB:•Remarques:1. L'algorithmeLRUtravaillesur lesdatesd'accè auxinformation setrouvantdanslespages,nonpassurlesdatesdechargementdespagesenmémoire,lapageLRUauraitpuêtreuneautrequelapage0.2. Lapagevirtuelleremplacéen'estrecopiéesurdisqueavantsonremplacementquesielleaétémodifiée.

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 294 294 Exemple-2: allocation d'un tableau (1/3) •Contexte:1. L'algorithmederemplacementestLRU,latailledespagesestde4Koctets,2. Onsupposequ'ilreste3pageslibresenmémoire:P10,P20etP30,3. Onnes'intéressequ'auxpagesdedonnées,4. Onneprendpasencomptelesindicesdeboucles:onsupposequ'ilssontimplantésdansdesregistres.5. LetableauTabn'estplusenmémoireavantl'exécutiondelaboucleduprogrammeci-dessous.long Tab[4096]; /* sizeof(long) = 4 octets */ ...for (i=0; i<4096; j++)Tab[i]=0;

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 295 295 Exemple-2: allocation d'un tableau (2/3) •DescriptionduchargementdutableauTabenmémoireetévolutiondelatabledepageslorsdel'exécutiondelaboucle:1. Ilfaut4pagespourimplanterletableau,eneffet:4096(212) motsde4octets=16Ko=4pages.2. Lorsdesréféren cesàTab[0], Tab[1024], Tab[2048], onchargerespectivementlespages0,1et2dutableausurlespagesphysiquesP10,P20etP30,3. LorsdelaréférenceàTab[3072],iln'yaplusdepagelibre.Lapremièrepagedutableau(rangésurlapagemémoireP10)estlapageLRU.Soncontenuestdoncrecopiéesurledisqueparcequ'elleaétémodifiée,etlapageP10estutiliséepourstockerlesvaleurssuivantesdeTab•EtatdelatabledepagesaprèschargementdudernierKodutableau:0(entréepour1/4)Numéroblocdisqueoùsetr ouvelap remièrepagedutableau.1(entréepour2/4)P202(entréepour¾)P303(entréepour4/4)P10......

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 296 296 Exemple-2: allocation d'un tableau (3/3) •Sionremplacelaboucleprécédenteparcesinstructions:for (i=0; i<4096; j++){if (i %1024 == 0) Tab[0]=0;Tab[i]=0;}•Achaquechangementdepage,onfaitaccèsàlapremièrepage.Ellen'estdoncplusLRUlorsduchargementdelaquatrièmepage.C'estladeuxièmequiestmaintenantLRU:•Etatdelatabledepagesaprèschargementcompletdutableau:0(entréepour1/4)P101(entréepour2/4)Numéroblocdisque oùsetrouve ladeuxièmepagedutableau.2(entréepour¾)P303(entréepour4/4)P10......

Ge tiondelamémoire _______________________________________ © Telecom-ParisTech BCI Informatique 297 297 Aproposdes"fautes»surlesaccèsmémoire•Défautdesegmentation(Segmentationfault):Ils'agit d'uneréférenceversuneadresse dont l'a ccèsestinterditdanslemode(lecture,écriture)demandé:• l'accèsdemandénesefaitpas.Suroccurrencedecette"faute»,les ystèmere çoituneinterruption ,qu'iltraiteenenvoyantle signalSIG SEGVauprocessus;pardéfaut,celaprovoquelaterminaisonduprocessusfautif(saufs'ilachan géle comportementassociéà SIGSEGVenutilisantlafonctionsignal).•Défautdepage(pagefault):Ils'agitd'uneréférenceàuneadressedontlemoded'accèsdemandéestautorisé,maisquisetrouvedansunepagequin'estpasprésenteenmémoire:• Ilfautallercherchercettepagesurledisque.• Unefoislapagechargéeenmémoireetfaitelamiseàjourdelatabledepage,onrecommencel'exécutiondel'instruction.

quotesdbs_dbs48.pdfusesText_48
[PDF] pagination mémoire fin d'étude

[PDF] pagination mémoire master

[PDF] pagination mémoire word

[PDF] pagination word 2007

[PDF] pagne noir de bernard dadié pdf

[PDF] pagne noir résumé

[PDF] paht

[PDF] pain d'antan recette

[PDF] pair impair

[PDF] Pair ou impair

[PDF] paire de chromosome 11 drépanocytose

[PDF] Paire ou impair

[PDF] Paix de Dieu et Treve de Dieu

[PDF] Paix et Guerre

[PDF] Palais bourbon