[PDF] Chapitre 5 Chaque adresse logique est constitué





Previous PDF Next PDF



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

Chapitre 5Chapitre 5

Gestion de la Mémoire

1

ère

partie: Point de vue processeur PrPr

éésentationsentation

La mémoire peut être adressée de 3 points de vuePoint de vue processeur Comment le processeur adresse la mémoire physique

Point de vue kernel

Comment le kernel gère la mémoire pour son propre usage

Point de vue des processus

Comment la mémoire est allouée aux processusAllocation différéeGestion des erreurs

Adressage x86Adressage x86

3 formes d"adressage dans les CPUs x86

Adressage logique

Spécifie l"adresse d"un opérande et/ou d"une instructionChaque adresse logique est constituée d"un segment et d"un offset

Adressage linéaire

Un entier 32bits non signé permettant d"adresser n"importe quelle zone mémoire

Adressage physique

Adresse la cellule mémoireCorrespond aux signaux électriques

Segmentation

Unit

Paging

Unit Adresse logique Adresse linéaire Adresse physique

Mode rMode r

ééel, mode protel, mode prot

ééggéé

Mode réel

Introduit dans le 80286CPUs précédent n"avaient qu"un unique mode, équivalent

à réelAdressage de la mémoire par segments de 20 bits =>1MB maxPas de protection mémoireMode du processeur au boot pour compatibilité

Mode protégé

Introduit dans le 80286Permet la gestion hardware de la protection mémoireAjout d"un mécanisme de pagination dans le 80386Introduit les niveaux de privilège ou

rings

0 a tous les pouvoirs3 très limité

Segmentation hardwareSegmentation hardware

Une adresse logique est constituée

D"un identificateur de segmentD"un offset représentant une adresse relative dans ce segment

Identificateur (

Segment Selector

): 16 bits Offset : 32 bitsLe processeur contient des registres pour obtenir l"identificateur de segment

6 registres disponiblesCS, SS, DS, ES, FS et GSSi plus de segments, sauvegardes des valeurs en mémoire

Registres de segmentRegistres de segment

3 registres ont un rôle spécifiqueCS : Code Segment

Pointe vers un segment contenant des instructionsContient un champs de 2 bits qui indique le

Current

Privilege Level (CPL)

SS : Stack Segment

Pointe vers un segment contenant la pile courante du programme

DS : Data Segment

Pointe vers un segment contenant les données statiques du programme Les 3 autres registres peuvent faire référence à des segments arbitraires

Segments descriptorsSegments descriptors

Chaque segments est décrit par 8 octetsChamps du

Segment Descriptor

Base : 32 bits contenant l"adresse linéaire de début de segmentG : granularité, si 0 le segment est exprimé en octets, sinon en

multiples de 4KoLimit : 20 bits indiquant la longueur du segment en octetsS : Si 0, segment contenant des données critiques pour le kernelType : 4 bits caractérisant le type du segment et ses droits

d"accèsDPL : Descriptor Privilege Level, 2 bits indiquant le niveau de

privilège minimal pour accéder à ce segmentSegment-Present : Indique si le segment est en mémoire

principale

DescriptorDescriptor

TablesTables

Les segments descriptors sont stockés dans des tables

Global Descriptor Table

UniqueAdresse en mémoire contenue dans le registre gdtr

Local Descriptor Table

Chaque processus en a uneAdresse en mémoire contenue dans le registre ldtr Pour convertir une adresse logique en adresse linéaire, il faut passer par ces tables

Lecture du

Segment Selector

dans l"adresse logique

Lire le

Segment Descriptor

dans la table (GTD ou LDT) pour connaître l"adresse de début de segment Vérifier les droits d"accès Calculer l"adresse linéaire Registres non programmablesRegistres non programmables La conversion logique -> linéaire nécessite des accès mémoire

Trop coûteux en pratique

Utilisation de registres CPUs spéciaux

Un pour chacun des registres de segmentationNon programmablesContiennent le

Segment Descriptor

correspondant

Sont mis à jour quand un

Segment Selector

est chargé

Mais au fait, que contient un Segment Selector?

13 bits servant à identifier le segment descriptor correspondant

dans la GDT ou LDTUn indicateur TI (Table Indicator ) qui indique si le segment descriptor et dans la GDT ou LDT Un

Requestor Privilege Level

(2 bits) qui indique le niveau de privilège du CPU quand le segment descriptor est chargé

SchSch

ééma de translationma de translation

Examen du champs

TI pour savoir dans quelle table regarder

Utilisation du registre gdtr ou ldtr

Trouver le

segment descriptor correspondant dans la table

Ajout du champs

Base

à l"offset

Segment Selector

Offset

Adresse Logique

GDT ou LDT

Adresse linéaire

descriptorgdtr ou ldtr?

PaginationPagination

La pagination transforme les adresses linéaires en adresses physiquesPour des raisons d"efficacité, les adresses linéaires sont

groupées en intervalles de taille fixe: des pagesDes adresses contigus dans une page sont des adresses

physiques contigusDifférence entre Page manipulée par l"OS et Page physique (page frame ou page physique Une Page peut au cours de l"exécution changer de page physique Les structures de données assurant la conversion des adresses sont des tables de page Stockées en mémoireDoivent être initialisées par le kernel Les processeurs Intel peuvent fonctionner sans pagination

Registre pour activationSi désactivé, adresses linéaire sont interprétées comme physiques

Pagination des 80386Pagination des 80386

L"unité de Pagination des 80386 traite des pages physiques de

4KBUne adresse linéaire 32 bits est divisée en

Directory

: 10 bits de poids forts Table : 10 bits intermédiaires

Offset

: 12 bits de poids faible La conversion se fait en 2 étapes, en utilisant le

Page Directory

et le

Page Table

Le

Page Directory

contient l"adresse de

Page Table

La

Page Table

contient l"adresse des pages physiques

L"adresse physique du

Page Directory

est stockée dans le registre cr3

Taille maximale adressable:

10 bits pour le Page Directory donc 2

10 entrées possibles

Donc 1024x1024x4096=2

32
cellules mémoire

Exemple de paginationExemple de pagination

Directory

Table

Offset0

31
cr3

Page directory

Page table

Page

EntrEntr

éées des tableses des tables

Les entrées des répertoires et tables de pages ont les même entréesPresent : la page ou la table de page sont présents en mémoire

20 bits les plus significatifs de l"adresse physique de la page

Les pages sont des multiples de 4096Les 12 bits les moins significatifs sont toujours 0

Accessed

: Mis quand l"unité d"adressage accède à la page.

Remis à 0 par l"OS

Dirty : Applicable seulement aux entrées de la table de pages. Mis à 1 lors de l"écriture dans la page. Remis à 0 par l"OS

Read/Write

: Droits de lecture ou lecture/écriture

User/Supervisor

: Privilège requis pour accéder à la page ou à la table de pages

PCD et PWT

: contrôle le cache hardware

Page Size

: applicable seulement aux entrées du répertoire. Si mis, l"entrée correspond à une page physique de 4MB

Pagination Pagination

éétenduetendue

Les pentiums ont amené la pagination étendueLes pages physiques ont une taille de 4KB ou 4MBDans ce cas, l"adresse linéaire est divisée en 2 champs

Directory

: 10 bits les plus significatifs

Offset

: les 22 bits restants

Entrées dans le répertoire

Flag

Page Size

mis à 1 Les 10 bits de poids fort seulement sont nécessaires (multiples de 4MB)

Les deux paginations peuvent cohabiterUtilisés pour gérer des gros blocs de mémoire contigus

Exemple de pagination Exemple de pagination

éétenduetendue

Directory

Offset0

31
cr3

Page directory

Page (4MB)

Cache et TLBCache et TLB

Tous les processeurs modernes ont un ou plusieurs cachesL"unité de gestion de cache est située entre l"unitéde

pagination et la mémoire physiqueSur les x86, le cache peut être globalement désactivé ou

controlé Flag CD du registre cr0 pour activation/désactivation Flag NW pour Write-through ou Write-back Possibilité d"associer une politique de cache pour chaque page PCD cache activé/désactivé PWT

Write-through ou Write-back

Linux mets tous flags à 0 pour toutes les pages Cache activé avec write-back pour toutes les pages Un cache spécifique pour la pagination est disponible Translation Lookaside BufferGarde en cache les adresses linéaires récemment transformées

Pagination sous LinuxPagination sous Linux

Linux adopte un mécanisme de pagination à 3 niveaux Inspiré des processeurs AlphaIndispensable pour les machines 64 bits

3 types de tables

Page Global DirectoryPage Middle DirectoryPage Table L"adresse linéaire est découpée en 4 partiesChaque processus a sa propre

Page Global Directory

et ses propres

Page Tables

Quand un changement de processus intervient, Linux sauvegarde le contenu de cr3 et charge la nouvelle valeur L"unité de pagination utilise les bonnes tables Si Linux tourne sur un processeur qui n"a pas 3 niveaux de paginations (Pentium...), la Page Middle Directory est mise à 1 entrée

Exemple de pagination Exemple de pagination

àà3 niveaux3 niveaux

Middle Directory

Table

Offset0

31
cr3

Page Middle

Directory

Page table

Page

Global Directory

Page Global

Directory

Conclusion Conclusion

Segmentation et pagination sont 2 mécanismes

permettant d"atteindre le même objectif Séparer l"espace d"adressage physique des processus La segmentation assigne un espace linéaire différent à chaque processusLa pagination permet d"associer un espace linéaire à différents espaces physiquesLinux préfère la pagination La gestion des processus est plus facile sur un unique espace linéaireLa segmentation n"est pas disponible sur tous les processeursquotesdbs_dbs44.pdfusesText_44
[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

[PDF] sommaire paginé word