Gestion de la mémoire
Ceux qui déplacent un processus entre le disque et la mémoire pendant sont exécution. Modèle de mémoire fusionné (mélange de pagination et segmentation).
Smart card introduction
Comme pour la pagination la segmentation utilise un numéro de segment
Systèmes dExploitation - Gestion de la mémoire
Pagination. Segmentation Swapping : déplacement de processus entre mémoire ... Impossible par définition d'accéder à une page interdite.
Méthodologie et Outils
9 févr. 2021 Page : unité mémoire transférée entre disque et mémoire principale. ... Différence entre la pagination et la segmentation. 43. Pagination.
Chapitre 4
Base = 32 bits : @linéaire du 1er octet du segment Segmentation et Pagination : des mécanismes ... Base : nieme CPU = nieme entrée de init_tss.
Chapitre 5
Chaque adresse logique est constituée d'un segment et d'un offset. Adressage linéaire Différence entre Page manipulée par l'OS et Page physique.
Gestion de la mémoire Exercice 1 :
Utilisation combinée des techniques de pagination et de segmentation : l'espace Quelle est la différence principale entre un algorithme de remplacement ...
TD n°6 : Gestion de la mémoire
2) L'adresse virtuelle (4200) est-elle valide ? Rappel. : Les adresses sont données sous la forme (n°segment:deplacement). Exercice 3 – Pagination. Dans un
La gestion de la mémoire
7 déc. 2005 Allocation de la mémoire contiguë. Allocation non-contiguë : la pagination. Segmentation. Le partage de la mémoire entre processus. Moniteur.
CHAPITRE IV : GESTION DE LA MEMOIRE
Un aspect important de la pagination est la séparation nette entre la vue de En segmentation la conversion d'une adresse logique en une adresse physique ...
Overview
In this tutorial, we’ll discuss the two most popular non-contiguous memory allocation techniques: segmented paging and paged segmentation.We’ll explore the way both methods work, their advantages and disadvantages. Finally, we’ll present the core difference between them.
Motivation
The optimal use of a computer’s memory capacity has been the subject of extensive studies. With the advancement of computers, programs are also getting more complex and require more memory for execution. In any machine, we need to share memory between multiple programs. However, it can cause the processing to be slow as the CPU needs to load data i...
Introduction to Segmented Paging
To reduce the size of the page table in RAM, we use a strategy that combines both segmentation and paging.But before going into the details of the combined strategy, first, let’s discuss the problems with paging. Paging allows jobs and processes to be stored as a discontinuous space in memory. Thus, it solves the problem of external fragmentation. ...
Introduction to Paged Segmentation
In segmentation, we divide each process into segments.Each segment has a different size. Segments are loaded in the logical address memory space, which is a set of segments with various lengths. Each segment has a name and a length. To execute a segment, its logical address is loaded to the physical memory space. Generally, we refer to a segment by...
Quelle est la différence entre pagination et segmentation ?
Le matériel décide la taille de page. La taille du segment est spécifiée par l’utilisateur. La pagination implique une table de pages qui contient l’adresse de base de chaque page. La segmentation implique la table de segments qui contient le numéro de segment et le décalage (longueur du segment).
Quelle est la différence entre une page et un segment ?
Une page a une taille de bloc fixe. Un segment est de taille variable. La pagination peut entraîner une fragmentation interne. La segmentation peut conduire à une fragmentation externe. L’adresse spécifiée par l’utilisateur est divisée par le CPU en un numéro de page + un décalage.
Qu'est-ce que le numéro de segment et le décalage dans l'espace de mémoire physique ?
Le numéro de segment et le décalage génèrent conjointement l’adresse du segment dans l’espace de mémoire physique. QCM Architecture des ordinateurs – Partie 1 QCM en architecture des ordinateurs avec la correction pour la préparation des concours, des tests, aux examens et aux certifications.
Past day
Pr. R. BOUDOUR
M2 SEMFRQŃHSPV MYMQŃpV G·MUŃOLPHŃPXUH
Cours 3.1
Gestion Mémoire Virtuelle
Année 2020-2021
des SciencesTerminologie
Multi-programmation(plusieurs tâches en mémoire) ĺorganisation Mémoire contiguë :Ensemble du code objet stocké en un seul bloc dans un espace mémoire donnéMémoire non contiguë :Le code objet est réparti en blocs séparés (surtout utilisé en
mémoire virtuelle) Technique non préemptive : Une tâche reste en mémoire jusqu'à sa terminaison Technique préemptive : Le système peut redistribuer l'espace mémoire à une ou plusieurs autres tâches Partition fixe : La mémoire est partagée en blocs de taille définie Partition variable : La taille des blocs est ajustée selon les besoins Page : unité mémoire transférée entre disque et mémoire principale. Défaut de page : Quand un programme accède à un emplacement mémoire virtuelle absent de la mémoire principale Translation G·MGUHVVH Le processus de recherche G·XQH adresse physique qui correspond à une adresse virtuelle 2Terminologie
Adresse logique ou adresse virtuelle (virtual
address)Adresse générée par la CPU.
Adresse physique
$GUHVVH YXH SMU O·XQLPp GH PpPRLUHB 3Terminologie
...Mémoire : grand tableau de mots (octets), chacun possédant sa propre adresse....La CPU (processeur) extrait les instructions de la mémoire HQ IRQŃPLRQ GH OM YMOHXU G·XQ ŃRPSPHXU G·LQVPUXŃPLRQVB
...Système de gestion de la mémoire (Memory manager): partie du SE qui gère la hiérarchie de stockage
"Suivre les parties de la mémoire qui sont utilisées ou non utilisées. "Allouer/libérer espace mémoire aux processus. "Contrôler le swappingentre la mémoire principale et le disque. 4Introduction
...La mémoire est une ressource importante qui doit être gérée avec attention....0rPH VL OM TXMQPLPp GH PpPRLUH G·XQ RUGLQMPHXU M NHMXŃRXS MXJPHQPp OM PMLOOH GHV SURJUMPPHV V·HVP MŃŃUXH MXVVLB
...La situation idéale serait de donner à chaque programmeur une mémoire : "infiniment grande, "infiniment rapide, "non volatile "et, de plus, bon marché. La technologie ne fournit pas de telles mémoires....Hiérarchisation de la mémoire: les ordinateurs ont une petite quantité de mémoire très rapide, chère et volatile (mémoire RAM) et beaucoup de gigabytesde mémoire plus lente, bon marché et non volatile.
...IH 6( M OH U{OH GH ŃRRUGRQQHU O·XPLOLVMPLRQ GHV GLIIpUHQPHV PpPRLUHV 56Introduction
7Introduction
Mémoire centrale est coûteuse, et de taille limitée. Programmes gourmands en mémoire et qui ne "tiennent pas" toujours en MC. On veut Augmenter le nombre de processus en MC ? P1 P2 P3 P4 MCTrouver un emplacement pour le processus P4 ?
Il faut bien gérer la Mémoirecentrale pour éviter ce genre de situations.Avant la mémoire virtuelle : exemple
8(Q G·MXPUHV PHUPHV
Avec mémoire virtuelle
Le principe de mémoire virtuelle a été inventé à la fin des années 1950 pour pallier à ce problème. Les ordinateurs travaillent avec des adresses virtuelles ne correspondant pas à l'espace physique. Les données peuvent être ainsi dans la RAM mais aussi sur le disque dur de l'ordinateur, voire dans la RAM ou sur le disque dur d'une autre machine sur le réseau local. La RAM est donc utilisée seulement pour stocker les données les plus utilisées.9(Q G·MXPUHV PHUPHV
Objectif : Offrir à l·XPLOLVMPHXU MX[ XPLOLVMPHXUV XQ HVSMŃH G·MGUHVVMJH plus grand que la capacité réelle de la mémoire (physique) sans pour autant augmenter (de beaucoup) le temps d·MŃŃqV j OM 0FB 2IIULU OM ŃMSMŃLPp GX GLVTXH GXU MYHŃ OH PHPSV G·MŃŃqV GH OM G5$0BExemple : la MC (espace physique) = 64 Ko,
Si 4 utilisateurs de 64Ko chacun = total 256 Ko : ImpossibleSolution :
partager
divisant en morceaux (de tailles fixes ou de tailles variables) et mettre tout en mémoire secondaire (MS : de grande taille et de faible coût exemple disque dur) Les morceaux (proget données) sont chargés de la06 YHUV OM 0F j OM GHPMQGH ORUVTX·RQ en a besoin)
(similaire au cache)10(Q G·MXPUHV PHUPHV
11Définitions
Organisation de la MV
12 En général, la mémoire virtuelle et la mémoire physique sontVPUXŃPXUpHV HQ XQLPpV G·MOORŃMPLRQV :
Pagination
pages pour mémoire virtuelle
cadres ou frames pour la mémoire physique
taille G·XQH SMJH HVP pJMOH j ŃHOOH G·XQ cadreSegmentation
Entités sont des segments
IRUVTX·XQ processus est en cours G·H[pŃXPLRQ seule une partie deVRQ HVSMŃH G·MGUHVVMJH HVP HQ PpPRLUH
La mémoire virtuelle permet :
G·MXJPHQPHU OH PMX[ GH PXOPLSURJUMPPMPLRQ
de mettre en place des mécanismes de protection de la mémoirede partager la mémoire entre processus
13Mémoire virtuelle
MMU (Memory Management Unit) :
Dispositif matériel qui fait la conversion des adresses virtuelles en adresses physiques Le programme utilisateur ne perçoit jamais les adresses physiques ; il traite des adresses logiques. En pratique, la MMU peut être une puce externe au processeur située entre le processeur et la RAM ou être intégrée directement dans la puce qui contient le processeur. 14 MMU MMU La MMU a été intégrée aux microprocesseurs, à partir du80386 pour la gamme Intel x86, à partir du 68030 pour
la gamme Motorola 680x0. L'unité de gestion mémoire fait désormais partie intégrante de tous les microprocesseurs récents. 15 Le système programme la MMU en déclarant une zone mémoire précise comme appartenant à un programme précis (une zone exécutable de la mémoire). L'utilisation de translation d'adresse est souvent utilisée conjointement à la protection mémoire afin que les variables du programme commencent à l'adresse 0. Si une tentative d'accès à la mémoire hors plage est détectée, une interruption est levée par la MMU. Celle-ci est interceptée par le processeur et cela a généralement pour effet de stopper le programme, qui reçoit par exemple: un signal de violation de segmentationMMU : Fonctionnement
16 17 Les adresses virtuelles, générées par les compilateurs et les éditeurs de liens, sont des couples composés d'un numéro de page et d'un déplacement relatif au début de la page. Les adresses virtuelles référencées par l'instruction en cours d'exécution doivent être converties en adresses physiques. Cette conversion d'adresse est effectuée par le MMU, qui sont des circuits matériels de gestion. Nous allons considérer la page : l'unité de transfert. Le MMU vérifie si l'adresse virtuelle reçue correspond à une adresse en mémoire physique. Si c'est le cas, le MMU transmet sur le bus de la mémoire l'adresse réelle, sinon il se produit un défaut de page.MMU : Fonctionnement
18 Un défaut de page provoque un déroutement (ou TRAP) dont le rôle est de ramener à partir du disque la page manquante référencée. La correspondance entre les pages et les cases est mémorisée dans une table appelée Table de pages (TP). Le nombre d'entrées dans cette table est égal au nombre de pages virtuelles. La Table de pages d'un processus doit être en totalité ou en partie en mémoire centrale lors de l'exécution du processus. Elle est nécessaire pour la conversion des adresses virtuelles en adresses physiquesMMU : Fonctionnement
Exemple
19 La MMU reçoit, en entrée une adresse virtuelle et envoie en sortie l'adresse physique ou provoque un déroutement. Dans l'exemple ci-dessous, l'adresse virtuelle est codée sur 16 bits. Les 4 bits de poids fort indiquent le numéro de page, comprise entre0 et 15. Les autres bits donnent le déplacement dans la page, entre
0 et 4095.
Le MMU examine l'entrée dans la Table de pages correspondant au numéro de page, dans ce cas 2. Si le bit de présence est à 0, la page n'est pas en mémoire alors le MMU provoque un déroutement. Sinon, il détermine l'adresse physique en recopiant dans les 3 bits de poids le plus fort le numéro de case (110) correspondant au numéro de page (0010), et dans les 12 bits de poids le plus faible de l'adresse virtuelle. L'adresse virtuelle 8196 (0010 0000 0000 0100) est convertie alors en adresse physique 24580 (1100 0000 000 0100) comme le montre la figure.Opérations MMU
20Exemple
FRQVPUXŃPLRQ G·XQH MGUHVVH
21Correspondance AV-AP
22Implémentation de la MV
23La mémoire virtuelle (MV) est implémentée sous deux formes principales :
Segmentation
Pagination
MV : La segmentation
...Segmentation : plusieurs espaces d·MGUHVVMJH Division logique : segment code, segment donnée, segment pile, "BVisible du programmeur
les adresses dans le segment vont de 0 à adrMax(émiettement externe) ramasse miette (compacter la MC)
PMLOOH G·XQ VHJPHQP YMULH HQ ŃRXUV GH Oexécution (donnée, pile)permet une meilleure protection : A chaque segment est associé GHV NLPV GH ŃRQPU{OH G·MŃŃqV
...Une adresse segmentée se compose : numéro segment, déplacement dans le segment (s,d) 24Segmentation pure
25Segmentation
26MV : Pagination
I·HVSMŃH PpPRLUH GH ŃOMTXH SURJUMPPH HVP GLYLVp en unités appelées pages. La MC est divisée en cadres. Une page a une correspondance à un cadre (même taille) adresses virtuelles. fait la correspondance entre les adresses virtuelles 27MV : Pagination
28Page offsetVirtual page number
Virtual address
Page offsetPhysical page number
Physical address
Physical page numberValid
If 0 then page is not
present in memoryPage table register
Page table
201218
31 30 29 28 27 15 14 13 12 11 10 9 8 3 2 1 0
29 28 2715 14 13 12 11 10 9 8 3 2 1 0
Le début de la Table des pages est pointé par un registre : "Page Table Register»MV : Pagination
29Structure de la table des pages
En général, chaque entrée de la table des pages comporte plusieurs champs :Le bit de présence
Le bit de référence
Les bits de protection
Le bit de modification
Le numéro de cadre correspondant à la page 30Exemple :
adresse virtuelle sur 16 bits
4 bits de poids forts indiquent le numéro de page les autres bits donnent le déplacement dans la page : 0 à 4095Table à un seul niveau
Numéro de page virtuelleDéplacement dans la page4 12 bits
0 max 31Table à un seul niveau
IH 008 H[MPLQH O·HQPUpH GMQV OM PMNOH GHV SMJHV ŃRUUHVSRQGMQP MX numéro de page : 6L OH NLP GH SUpVHQŃH HVP j 0 IM SMJH Q·HVP SMV HQ PpPRLUH GRQŃ GpURXPHPHQP 6LQRQ OH 008 GpPHUPLQH O·MGUHVVH SO\VLTXH HQ UHŃRSLMQP GMQV OHV NLPV GH SRLGV IRUP OH numéro de cadre (110) correspondant à (0010) $LQVL O·MGUHVVH YLUPXHOOH 81E6 0010 00000000 0100 HVP convertie en adresse physique 24580 (110 00000000 0100) Numéro de page physiqueDéplacement dans la page 32La table des pages occupe un grand espace
Il y a 220pages en MS, Taille de la page 212 = 4 Ko La table des pages doit contenir 220 entrées si NPP est sur 8 bits + @MS sur 20 bits + qqbits = 32 bits = 4 octetsTP occupe : 4* 220 octets = 4 Mo en MC
Table à un seul niveau
NPV sur 20 bitsDéplacement sur 12 bits
Solution :utilisation de plusieurs niveaux de tables de pages et stocker seulement quelques tables de pages en MC 33Table à plusieurs niveaux
3RXU pYLPHU G·MYRLU GHV PMNOHV PURS JUMQGHV HQ mémoire, nombreux ordinateurs utilisent des tables de pages à plusieurs niveauxcharger uniquement quelques tables
Exemple : table à deux niveaux (Cas Intel)
adresse : 32 bits
1 table de 1erniveau
1024 tables de 2èmeniveau
une adresse virtuelle sera composée de trois champsun pointeur sur la table de 1erniveau
un pointeur sur une table de 2èmeniveau
un déplacement dans la page
34Table à deux niveaux
35Segmentation paginée x86
Le processeur 80x86 utilise la segmentation paginée pour gérer la mémoire : La mémoire physique est divisée en pages de 4 Ko Le nombre maximum de segments par processus est de 16K IM PMLOOH G·XQ VHJPHQP SHXP MOOHU ÓXVTX·j 4 *RIM ŃRQYHUVLRQ G·MGUHVVH
adresse logique vers adresse linéaire
adresse linéaire vers adresse physique
36Segmentation paginée
Sélecteur
index13 1 2 bits
Niveau de
protection 0 à 30 = GDT1 = LDT
Ex : 7210= 00000000010010002ŃRUUHVSRQG j O·HQPUpH E de GDT : GDT + 9 37Segmentation paginée x86
7UMQVOMPLRQ G·MGUHVVH ORJLTXH YHUV MGUHVVH OLQpMLUH 38Segmentation paginée x86
Adresse linéaire vers adresse physique
39Une adresse linéaire (32 bits) se décompose de la façon suivante pour la partie pagination de la MMU (80x86) :
bits 22-31 :I·LQGH[ GH5 GMQV OM PMNOH GH SUHPLHU QLYHMX RZ HVP VPRŃNpH O·MGUHVVH GH GpNXP GH OM PMNOH GH VHŃRQG niveau en RAM ; bits 12-21 :I·LQGH[ GMQV OM PMNOH 3$*( GH VHŃRQG QLYHMX RZ HVP VPRŃNpH O·MGUHVVH GH GpNXP GH OM SMJH HQ 5$0 bits 0-11 :Le déplacement (OFFSET) dans la page10 bits10 bits12 bits
DIRPAGEOFFSET
Segmentation paginée x86
quotesdbs_dbs44.pdfusesText_44[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
[PDF] sommaire paginé word