Segmentation

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Segmentation as PDF for free.

More details

  • Words: 672
  • Pages: 7
Gestion de la Mémoire •Segmentation pure •Segments paginés

1

Segmentation n

n

La segmentation est un schéma de gestion de la mémoire basée sur la vue qu’un utilisateur peut avoir d’un programme. Un programme est composé de segments. Un segment est une unité logique représentant l’un des éléments suivants: n n n n n n n n

n

programme principal, procédure, fonction, méthode, objet, variables locales, variables globales, pile, etc…

La segmentation permet d’avoir deux dimensions dans l’espace d’adressage (numéro de segment et une adresse à l’intérieur de celui-ci) n

Les données ou bien la pile peuvent changer de taille plus facilement sans que cela affecte d’autres segments. 2

1

Comment un utilisateur voit un programme ?

3

Les segments comme unités d’alloc mémoire 0 3

0 1

2 3

1 2

espace usager

mémoire physique

Étant donné que les segments sont plus petits que les programmes entiers, cette technique implique moins de fragmentation (qui est externe dans ce cas) 4

2

Segmentation

Mémoire segment ée exploitée par les tables d’un compilateur et permettant à chaque table de croître ou de diminuer indépendamment des autres. 5

Mécanisme pour la segmentation n n

Un tableau contient l’adresse de début de tous les segments dans un processus Chaque adresse dans un segment est ajoutée à l ’adresse de début du segment par la MMU

0 3

segment courant

Adr de 3 Adr de 2 Adr de 1 Adr de 0

1 2

tableau de segments mémoire physique

6

3

Détails n n

L’adresse logique consiste en une paire: n où décalage est l’adresse dans le segment (qui à son tour est constitué d’un numéro de page et d’un mot dans la page)

7

Implementation de la Segmentation pure

(a)-(d) Evolution de la fragmentation externe (e) Compactage de la mémoire 8

4

A chaque référence mémoire l’algorithme suivant est exécuté Récupérer descripteur de segment

Le num éro de segment permet de retrouver le descripteur de segment.

sinon

? Trap

Si oui Défaut de segment

Vérifier si table des Pages du segment En mémoire.

La localiser

Examiner l’entrée dans la table des pages, de la page virtuelle demandée ( est-elle en mémoire ? )

sinon

? Si oui

Trap

Extraire de la table des pages, l’adresse de base de la page

Défaut de page

Ajouter le déplacement

Le déplacement est ajoutée à l’adresse de base pour obtenir l’adresse du mot en mémoire.

Lire/écrire

9

Schéma du matériel de segmentation Adresse logique comporte deux champs: , Table des Segments – Chaque entrée de la table comporte: – base – pointe sur l’adresse physique de début du segment dans la mémoire physique. – limit – précise la longueur du segment.

10

5

Architecture de la Segmentation n

Translation n n

n

Protection n

n

read/write/execute privilèges

Partage. n n

n

dynamique Basé sur la table des segments

Segments partagé Même numéro de segment

Allocation. n

first fit/best fit, etc…

n

fragmentation externe

11

Exemple de Segmentation

12

6

Partage de segments: le segment 0 est partagé

P.ex: DLL utilisé par plusieurs usagers

13

Comparaison entre la pagination et la segmentation

Considérations

Pagination

Segmentation

Le programme doit-il Connaître la technique utilisée ?

Non

Oui

Combien y a-t-il d’espace d’adressage linéaires ?

1

Plusieurs

L’espace total d’adressage peut il dépasser la taille de la mémoire ?

Oui

Oui

Les proc édures et les données peuvent-elles être séparées et protégées séparément ?

Non

oui

Peut-on traiter facilement des tables dont la taille varient ?

Non

Oui

Le partage de procédures entre utilisateur est-il simplifié ?

Non

Oui

Pourquoi cette technique a-t-elle été inventée ?

Pour obtenir un grand espace d’adressage linéaire sans avoir à acheter de la mémoire

Pour permettre la séparation des programmes et des données dans des espaces d’adressage logiquement indépendants et pour faciliter le partage et la protection.

Avantages

Taille des pages constantes Non-conservation en mémoire de l’intégralité d’un segment si seule une partie de celui -ci est utilisée.

Facilité de programmation Modularité n protection - partage

n

n

n

n

14

7

Related Documents

Segmentation
May 2020 10
Segmentation
October 2019 18
Segmentation
November 2019 19
Segmentation
December 2019 34
Segmentation
November 2019 18
Segmentation
May 2020 8