Systèmes d'Exploitation Didier Verna EPITA Généralités Allocation contigüe Monoprogrammation Multiprogrammation Pagination Segmentation Systèmes
Previous PDF | Next PDF |
[PDF] Gestion de la mémoire
Syst`emes d'exploitation - Mırian Halfeld-Ferrari – p 1/71 Système de gestion de la mémoire (Memory manager): partie du SE qui gère la hiérarchie de seulement du comportement de la pagination pour ce processus, mais aussi du
[PDF] Systèmes dExploitation - Gestion de la mémoire - LRDE - Epita
Systèmes d'Exploitation Didier Verna EPITA Généralités Allocation contigüe Monoprogrammation Multiprogrammation Pagination Segmentation Systèmes
[PDF] Systèmes dexploitation
12 5 6 Pagination Pour réaliser une mémoire virtuelle, il faut avoir suffisamment de mémoire secondaire (disque) pour y stocker le programme tout entier et ses
[PDF] Systèmes dExploitation - ENSIN6U3 - Gestion de la - Academie pro
Systèmes d'Exploitation - ENSIN6U3 Allocation non-contiguë : la pagination Pour limiter les E/S, le système sauvegarde uniquement les zones de la
[PDF] Mémoire vive : pagination et segmentation Organisation de la
l'une est destinée au syst`eme d'exploitation et contient ▷ une pile d'interruption syst`eme, Mémoire virtuelle Pagination : une abstraction au niveau matériel
[PDF] La gestion de la mémoire - Cours Tech Info
Le gestionnaire de mémoire est un sous-ensemble du système d'exploitation La pagination consiste à diviser la mémoire et les processus en blocs de
[PDF] Gestion de la mémoire
Le gestionnaire de mémoire est un sous-ensemble du système d'exploitation Son rôle est de Monoprogrammation sans va-et-vient ni pagination L' approche
[PDF] LA GESTION DE LA MEMOIRE - Technologue pro
Systèmes d'exploitation – Gestion de la mémoire Gestion sans recouvrement ni pagination Gestion avec recouvrement, avec pagination ou segmentation
[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] telecharger livre larousse grammaire gratuit 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
[PDF] sommaire paginé rapport de stage
[PDF] grammaire grec moderne pdf
Systèmes
d"ExploitationDidier Verna
EPITAGénéralités
Allocation
contigüeMonoprogrammation
Multiprogrammation
Pagination
SegmentationSystèmes d"Exploitation
Gestion de la mémoire
Didier Verna
didier@lrde.epita.fr http://www.lrde.epita.fr/˜didier 1/24Systèmes
d"ExploitationDidier Verna
EPITAGénéralités
Allocation
contigüeMonoprogrammation
Multiprogrammation
Pagination
SegmentationTable des matières
1Généralités2Allocation contigüeMonoprogrammation
Multiprogrammation
3Pagination4Segmentation2/24
Systèmes
d"ExploitationDidier Verna
EPITAGénéralités
Allocation
contigüeMonoprogrammation
Multiprogrammation
Pagination
SegmentationNiveaux d"adressage
Adresse symbolique: manipulée au niveau du
programmeAdresse logique: générée par le CPUAdresse physique: emplacement mémoire réelMMU(Memory Management Unit) : dispositif de liaison
d"adresse 4/24Systèmes
d"ExploitationDidier Verna
EPITAGénéralités
Allocation
contigüeMonoprogrammation
Multiprogrammation
Pagination
SegmentationLiaison d"adresse
Problème
IAdresses symboliques=)adresses physiques
IÀ quel moment fabriquer une adresse physique?Solutions ICompilation :" Code absolu »
Adresse de chargement connue.
Exemple :command.com.I
Chargement :" Code translatable »
Adressage relatif.I
Exécution :" Code dynamique »
L"emplacement du programme peut varier dans le
temps. Nécessite un matériel spécial. 5/24Systèmes
d"ExploitationDidier Verna
EPITAGénéralités
Allocation
contigüeMonoprogrammation
Multiprogrammation
Pagination
SegmentationTechniques de haut niveau
Recouvrements :(overlays) charger un processus partranches de code indépendantes. Niveau utilisateur.Chargement dynamique :charger le code nécessaire
uniquement quand on en a besoin. Niveau utilisateur.Édition de liens dynamique :bibliothèques partagées.Swapping: déplacement de processus entre mémoire et mémoire auxiliaire (disques). Coûteux en commutation. 6/24Systèmes
d"ExploitationDidier Verna
EPITAGénéralités
Allocation
contigüeMonoprogrammationMultiprogrammation
Pagination
SegmentationMonoprogrammation
Mainframes, Palm et systèmes embarqués, MS-DOSRAMRAMRAM RAM
ROM ROM
RAMUser Program
User Program
Operating SystemOperating System
Operating SystemDevice Drivers
0xFF..
0x00(BIOS)
8/24Systèmes
d"ExploitationDidier Verna
EPITAGénéralités
Allocation
contigüeMonoprogrammationMultiprogrammation
Pagination
SegmentationMultiprogrammation & partitions fixes
" OS/MFT » sur OS/360Operating SystemPartition 1Partition 2Partition 3Partition 4Operating System
Partition 1Partition 2Partition 3Partition 4
9/24Systèmes
d"ExploitationDidier Verna
EPITAGénéralités
Allocation
contigüeMonoprogrammationMultiprogrammation
Pagination
SegmentationLocalisation et protection
Modification du code :(OS/MFT, édition de liens) nécessite de connaître les mots à modifier. Ne résoudpas le problème de protection.=)Blocs de 2kB protégés par un code de 4 bits (PSW).Par MMU:(CDC 6600, Intel 8088)adresse
logiqueadresse physiqueDidier Verna
EPITAGénéralités
Allocation
contigüeMonoprogrammationMultiprogrammation
Pagination
SegmentationMultiprogrammation & partitions dynamiquesPrincipe
IUne partition mémoire par processus
IAllocation / libération de la mémoire en fonction de l"ordonnancementIIdem pour le swappingImplémentations
I Bitmap :1 bit par zone mémoire (kB) indiquant si la zone est libre ou occupée. Attention à la taille des zonesAvantages : simple, taille du bitmap connue
Inconvénients : lentI
Listes chaînées :zone libre / occupée, adresse de début et longueur. Tri par adresse, taille, listes distinctes de processus, trous. Listes doublement chaînées. 11/24Systèmes
d"ExploitationDidier Verna
EPITAGénéralités
Allocation
contigüeMonoprogrammationMultiprogrammation
Pagination
SegmentationPolitiques d"allocations
First-Fit :premier trou suffisant. Rapide.Next-Fit :idem, mais recherche à partir del"emplacement précédent. Un peu moins bon.Best-Fit :trou le plus petit possible. Moins performant.Worst-Fit :trou le plus grand. Bof.Quick-Fit :maintient de listes par tailles fréquentes.
Rapide pour la recherche, lent pour la désallocation.Remarque :attention aux politiques de tri des listes.12/24
Systèmes
d"ExploitationDidier Verna
EPITAGénéralités
Allocation
contigüeMonoprogrammationMultiprogrammation
Pagination
SegmentationFragmentation
Apparition de zones inoccupées dans la mémoireTypes IFragmentation externe: espace suffisant pour
l"allocation d"un nouveau processus, mais non contiguI Fragmentation interne: allocation volontaire de zones inoccupées pour diminuer le travail de gestion de la mémoireCompactage I Défragmentation de la mémoire par translation des processus (code dynamique) IStratégies de compactage difficiles à trouver, lenteur13/24Systèmes
d"ExploitationDidier Verna
EPITAGénéralités
Allocation
contigüeMonoprogrammation
MultiprogrammationPagination
SegmentationPagination
Allocation de zones de mémoire non contigües pour un même processusCadres de page: mémoire physique découpée en
zones de taille fixeAdresse logique: numéro de page + déplacement dans la pageTable de pages: liaison entre numéro de page et cadre de page (une table par processus)Taille des pages: puissance de 2 15/24Systèmes
d"ExploitationDidier Verna
EPITAGénéralités
Allocation
contigüeMonoprogrammation
MultiprogrammationPagination
SegmentationMMUpour la paginationpdmémoiref d
table de pagesadresse logiqueUCadresse
physique16/24Systèmes
d"ExploitationDidier Verna
EPITAGénéralités
Allocation
contigüeMonoprogrammation
MultiprogrammationPagination
SegmentationCaractéristiques
Pas de fragmentation externe, mais fragmentation
internePetites pages=)moins de fragmentationGrandes pages=)commutation moins coûteuseImpossible par définition d"accéder à une page interdite
Mécanismes de contrôle : pages (in)valides, en lecture, écriture, exécutionetc.Implémentation du partage de la mémoire plus facileTaille moyenne des pages : 2 - 4 Ko
17/24Systèmes
d"ExploitationDidier Verna
EPITAGénéralités
Allocation
contigüeMonoprogrammation
MultiprogrammationPagination
SegmentationSupport matériel
La pagination doit être rapide (ns)Registres dédiés :possible seulement pour des petites tables (ex. DEC PDP-11 : adresse 16 bits, pages de 8ko=)8 entrées).Mémoire principale :un unique registre " PTBR » (Page Table Base Register). Surcharge de commutation de contexte faible, mais temps d"accès double.Registres associatifs :" TLB» (Translation Look-Aside Buffers). Fonctionne comme un cache de la table de pages (ex. Motorola 68030 : TLBà 22 entrées, i486 : 32 entrées, taux de présence de 98%).I Gestion logicielle des TLB:par le système au lieu duMMU(Architectures RISC : Sparc, MIPS, Alpha).
Acceptable pour des TLBassez grands (64 entrées).Simplifie le MMU.18/24
Systèmes
d"ExploitationDidier Verna
EPITAGénéralités
Allocation
contigüeMonoprogrammation
MultiprogrammationPagination
SegmentationPagination à plusieurs niveaux
Exemple (courant) : adressage sur 32 bits + pages de 4 Ko. Une table de page contient alors 1 million d"entrées, soit 4Mo de mémoire!!À éviter
I allouer autant d"espace en contigu Icharger l"intégralité des tables de page en mémoirePagination de la table de page ISPARC: pagination 32 bits à trois niveaux
IMotorola 68030: pagination à quatre niveauxProblème: trois ou quatre indirections à chaque fois
que l"on doit récupérer un octet. 19/24Systèmes
d"ExploitationDidier Verna
EPITAGénéralités
Allocation
contigüeMonoprogrammation
MultiprogrammationPagination
SegmentationTable de pages inversée
Autre solution au problème de la taille des tables de pagesPrincipe I Une unique table de pages pour tout le système, indexée par les cadres de page IChaque entrée contient un numéro de processus et un numéro de page virtuelleProblèmes I Liaison d"adresse plus compliquée (parcours de la table).=)TLB, tables de hash par adresse virtuelle. IPartage de pages plus difficile à implémenter au niveau système.Utilisation actuelle: IBM, HP, de plus en plus d"architectures 64 bits. 20/24Systèmes
d"ExploitationDidier Verna
EPITAGénéralités
Allocation
contigüeMonoprogrammation
Multiprogrammation
PaginationSegmentationSegmentation
Segmentationvs.Pagination
I Pagination :obtenir un espace d"adresselinéaireaussi grand que souhaité.=)Dimension 1 ISegmentation :obtenirplusieursespaces d"adressage distincts (segments).=)Dimension 2 (ex. compilateur + pile, source, table de symboles, ASTetc.)Principe ISegment = unitélogique(niveau utilisateur)
ITaille variable, mais indépendante des autres segments IFacilité de partage (ex. bibliothèques partagées) IFacilité de protection (ex. lecture, écriture. exécution)Implémentation I Table de segments :idée analogue à la paginationIAdresse logique: nom du segment + déplacement
ISegmentation et pagination combinée22/24
Systèmes
d"ExploitationDidier Verna
EPITAGénéralités
Allocation
contigüeMonoprogrammation
Multiprogrammation
PaginationSegmentationSegmentation et Pagination
Exemple : Intel Pentium16K segments de 4 Go par processus, dont : I8K segments privés (une table de descripteurs locale " LDT » par processus) I8K segments partageables (une table de descripteurs globale " GDT)Sélecteur de segment (16 bits) + offset (32 bits)=) " Adresse linéaire » (32 bits)Base Address LimitOther fieldsDescriptor
+RingG/L DTIndex113 2Offset32
32 bits linear address
23/24Systèmes
d"ExploitationDidier Verna
EPITAGénéralités
Allocation
contigüeMonoprogrammation
Multiprogrammation
PaginationSegmentationIntel Pentium (suite)
Pagination :Pagination à 2 niveaux.
Pages de 4Ko.Directory Page Offset10 10 12Protection :4 anneaux différents.
Progression en
profondeur par portes / guichets. 2103Syscalls
DLLsUserland
Kernel
24/24quotesdbs_dbs8.pdfusesText_14