[PDF] [PDF] Systèmes dExploitation - Gestion de la mémoire - LRDE - Epita

Pagination Segmentation Systèmes d' Swapping : déplacement de processus entre mémoire Impossible par définition d'accéder à une page interdite



Previous PDF Next PDF





[PDF] Gestion de la mémoire

Contrôler le swapping entre la mémoire principale et le disque Syst`emes Différence principale par rapport aux partitions fixes: leur nombre, leur localisation Si les segments de données des processus doivent croître, par exemple par allocation seulement du comportement de la pagination pour ce processus, mais



[PDF] Mémoire vive : pagination et segmentation Organisation de la

pagination et segmentation Pagination Segmentation Mémoire paginée segmentée Mémoire virtuelle Répartition de la mémoire entre syst`eme et processus



[PDF] Adressage

Comme pour la pagination, la segmentation utilise un numéro de segment, Différence entre mémoire physique et mémoire logique – Le matériel est en 



[PDF] Chapitre 5

Adressage de la mémoire par segments de 20 bits =>1MB max Ajout d'un mécanisme de pagination dans le 80386 Introduit les niveaux de privilège ou Différence entre Page manipulée par l'OS et Page physique (page frame ou page 



[PDF] CHAPITRE IV : GESTION DE LA MEMOIRE - Dr Mourad LOUKAM

La segmentation rejoint la pagination pour consacrer un principe important dans les SE actuels, à savoir la séparation entre la vue de l'utilisateur de la mémoire 



[PDF] Module 7 Gestion de la mémoire

Pagination ▫ Segmentation et pagination combinées Définition des adresses logiques les références entre modules différents doivent être traduites



[PDF] Systèmes dExploitation - Gestion de la mémoire - LRDE - Epita

Pagination Segmentation Systèmes d' Swapping : déplacement de processus entre mémoire Impossible par définition d'accéder à une page interdite



[PDF] Mémoire virtuelle

d'unités appelées pages ou segments, qui peuvent être chargées séparément en mémoire Un schéma de la traduction d'adresses lors de la pagination pure est montré sur la Le MMU reçoit, en entrée une adresse virtuelle et envoie en sortie l'adre- Quelle est la différence principale entre un algorithme de rempla-



[PDF] 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

[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] 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

Systèmes

d"Exploitation

Didier Verna

EPITA

Généralités

Allocation

contigüe

Monoprogrammation

Multiprogrammation

Pagination

SegmentationSystèmes d"Exploitation

Gestion de la mémoire

Didier Verna

didier@lrde.epita.fr http://www.lrde.epita.fr/˜didier 1/24

Systèmes

d"Exploitation

Didier Verna

EPITA

Généralités

Allocation

contigüe

Monoprogrammation

Multiprogrammation

Pagination

SegmentationTable des matières

1Généralités2Allocation contigüeMonoprogrammation

Multiprogrammation

3Pagination4Segmentation2/24

Systèmes

d"Exploitation

Didier Verna

EPITAGénéralités

Allocation

contigüe

Monoprogrammation

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/24

Systèmes

d"Exploitation

Didier Verna

EPITAGénéralités

Allocation

contigüe

Monoprogrammation

Multiprogrammation

Pagination

SegmentationLiaison d"adresse

Problème

I

Adresses symboliques=)adresses physiques

IÀ quel moment fabriquer une adresse physique?Solutions I

Compilation :" 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/24

Systèmes

d"Exploitation

Didier Verna

EPITAGénéralités

Allocation

contigüe

Monoprogrammation

Multiprogrammation

Pagination

SegmentationTechniques de haut niveau

Recouvrements :(overlays) charger un processus par

tranches 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/24

Systèmes

d"Exploitation

Didier Verna

EPITA

Généralités

Allocation

contigüeMonoprogrammation

Multiprogrammation

Pagination

SegmentationMonoprogrammation

Mainframes, Palm et systèmes embarqués, MS-DOSRAM

RAMRAM RAM

ROM ROM

RAM

User Program

User Program

Operating SystemOperating System

Operating SystemDevice Drivers

0xFF..

0x00(BIOS)

8/24

Systèmes

d"Exploitation

Didier Verna

EPITA

Généralités

Allocation

contigüe

MonoprogrammationMultiprogrammation

Pagination

SegmentationMultiprogrammation & partitions fixes

" OS/MFT » sur OS/360Operating SystemPartition 1Partition 2Partition 3Partition 4

Operating System

Partition 1Partition 2Partition 3Partition 4

9/24

Systèmes

d"Exploitation

Didier Verna

EPITA

Généralités

Allocation

contigüe

MonoprogrammationMultiprogrammation

Pagination

SegmentationLocalisation et protection

Modification du code :(OS/MFT, édition de liens) nécessite de connaître les mots à modifier. Ne résoud

pas 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 physiqueSystèmes d"Exploitation

Didier Verna

EPITA

Généralités

Allocation

contigüe

MonoprogrammationMultiprogrammation

Pagination

SegmentationMultiprogrammation & partitions dynamiques

Principe

I

Une partition mémoire par processus

IAllocation / libération de la mémoire en fonction de l"ordonnancement

IIdem 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 zones

Avantages : 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/24

Systèmes

d"Exploitation

Didier Verna

EPITA

Généralités

Allocation

contigüe

MonoprogrammationMultiprogrammation

Pagination

SegmentationPolitiques d"allocations

First-Fit :premier trou suffisant. Rapide.Next-Fit :idem, mais recherche à partir de

l"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"Exploitation

Didier Verna

EPITA

Généralités

Allocation

contigüe

MonoprogrammationMultiprogrammation

Pagination

SegmentationFragmentation

Apparition de zones inoccupées dans la mémoireTypes I

Fragmentation 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/24

Systèmes

d"Exploitation

Didier Verna

EPITA

Généralités

Allocation

contigüe

Monoprogrammation

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/24

Systèmes

d"Exploitation

Didier Verna

EPITA

Généralités

Allocation

contigüe

Monoprogrammation

MultiprogrammationPagination

SegmentationMMUpour la paginationpdmémoiref d

table de pagesadresse logique

UCadresse

physique16/24

Systèmes

d"Exploitation

Didier Verna

EPITA

Généralités

Allocation

contigüe

Monoprogrammation

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 facile

Taille moyenne des pages : 2 - 4 Ko

17/24

Systèmes

d"Exploitation

Didier Verna

EPITA

Généralités

Allocation

contigüe

Monoprogrammation

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 du

MMU(Architectures RISC : Sparc, MIPS, Alpha).

Acceptable pour des TLBassez grands (64 entrées).

Simplifie le MMU.18/24

Systèmes

d"Exploitation

Didier Verna

EPITA

Généralités

Allocation

contigüe

Monoprogrammation

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 4

Mo 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 I

SPARC: 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/24

Systèmes

d"Exploitation

Didier Verna

EPITA

Généralités

Allocation

contigüe

Monoprogrammation

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/24

Systèmes

d"Exploitation

Didier Verna

EPITA

Généralités

Allocation

contigüe

Monoprogrammation

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 I

Segment = 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 pagination

IAdresse logique: nom du segment + déplacement

ISegmentation et pagination combinée22/24

Systèmes

d"Exploitation

Didier Verna

EPITAquotesdbs_dbs44.pdfusesText_44