Simple OS La Pagination

Slides:



Advertisements
Présentations similaires
Module Systèmes d’exploitation
Advertisements

GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes dexploitation Le matériel des ordinateurs Revue Pt II (Tanenbaum 1.4)
Le Concept du programme enregistré
UTILISATION DE LAPPLICATION e-SIN Gestion dune fiche par ARS, CClin, ARLIN, InVS.
TRAITEMENT PROGRAMME DE L’INFORMATION
ARCHITECTURE INTERNE d’un MICROPROCESSEUR
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes dexploitation Concepts des Systèmes dexploitation (Tanenbaum 1.5)
GEF 435 Principes des systèmes d’exploitation
– NAT et PAT.
Présentation de l’Architecture Windows NT
Gestion des partitions
Ref :
Le Concept du programme enregistré
Le jeu d ’instructions Introduction Un jeu d ’instruction classique
Mémoire & Processus Cours SE - SRC
Architecture Systèmes
Architecture de machines La mémoire
Architecture de machines La mémoire
Système d’exploitation : Assembleur
Système d’exploitation : Assembleur
Gestion de la communication par établissement sur le site ville
Système d’exploitation : Assembleur
ARCHITECTURE GLOBALE CAPTAGE Traitement DES des données GRANDEURS
ARCHITECTURE DES ORDINATEURS
Mémoire cache ou antémémoire
Système d’exploitation : Assembleur
Gestion de la Mémoire Bases Swapping Allocation Contigue Pagination
Architecture de base d’un ordinateur
Gestion des Périphériques
Les piles Djamal Rebaïne.
Synchronisation et communication entre processus
Les mémoires :. Mémoriser Enregistrer Conserver Restituer.
Architecture des Ordinateurs
Le Système Processeur David Saint-Mellion.
Allocation de mémoire Allocation de mémoire.
Architecture d ’un système à MICROPROCESSEUR
LES SYSTEMES AUTOMATISES
Chap. 2 - Structure d’un ordinateur
ΜP David Saint-Mellion.
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Gestion des transactions SQLServer.
L'Unité centrale (CPU) Le CPU doit être rapide (mesuré en temps de CPU) UNITE DE CONTROLE Générer les signaux de control/temps Contrôler le décodage/exécution.
Informatique 1. Les applications de l’informatique
Stocker plusieurs valeurs de même type dans une variable
SYSTÈME D’EXPLOITATION I
Outil de gestion des cartes grises
(Gestion de la mémoire)
ARCHITECTURE D’UN SYSTEME MICROPROGRAMME
SYSTÈME D’EXPLOITATION I
Les Machines RAM.
Fonctionnement d’une mémoire.
02/10/2013JC LP MD1 COURS_3. 02/10/2013JC LP MD2 Direct Memory Access DMA.
9 décembre 2014J.Callot L.Piedfort1 Chapitre_4 K60 Caches MMU.
Un programme Algorithme permettant au processeur de s'alimenter:
1 LE BUS PCI 8 ième partie: L ’espace de configuration Sommaire - Repère zHuitième partieL ’espace de configuration yQu ’est-ce? yEspace de configuration.
18/09/2013JC LP MD1 Cours_2. 18/09/2013JC LP MD2 Mapping de configuration.
Architecture et technologie des ordinateurs II
Les bases du protocole Modbus
Patricia Renault UPMC 2005/2006
Architecture et technologie des ordinateurs II
Chapitre 3 L’accès aux données.
Ordinateurs, Structure et Applications
ALLOCATION DU CPU et GESTION DES TRAVAUX.
Architecture d’un ordinateur
Initiation à l'informatique
ASR5 Système pour architectures multicœurs CSC5001 : Systèmes Hautes Performances Architecte de Services informatiques Répartis Gaël Thomas
Étapes pour la Programmation du 68HC11 I. Écriture du programme dans un fichier *.a11 II. Le programme est compilé (traduit en langage machine) III. Le.
Transcription de la présentation:

Simple OS La Pagination Benoit LAMOTTE D’après l’article Conception d’OS : mise en place de la pagination, Linux magazine n°65 page 42, David Decotigny & Thomas Petazzoni.

Sommaire Principe de la memoire virtuel Architecture x86 Simple OS Objectifs Traduction d’adresses Architecture x86 Petit rappel Adresse Linéaire Répertoire et table des pages Identity mapping Modification des tables de traduction d’adresses Simple OS Le mirroring Le fonctionnement : la mise en place de la pagination

Principe de la memoire virtuelle Objectifs Avant : Programmer en fonction de la mémoire disponible Après : Mémoire disponible « infinie »

Principe de la memoire virtuelle Objectifs Comment est-ce possible ? Utilisation des autres ressources. RAM utilisé pour stocker les données les plus utilisées.

Principe de la memoire virtuelle Traduction d’adresses Prise en charge par la MMU RAM Bus de données Bus de données CPU MMU Adresses fictives Adresses RAM Exception MMU

Principe de la memoire virtuelle Traduction d’adresses CPU MMU Adresse fictive Accès à une donnée Chargement d’un instruction Il existe une traduction en RAM? non oui Utilisation des données Exécution de l’instruction Bus de données Mémoire Accès à la RAM Exception OS Données/instruction sur le bus de données La donnée/instruction est stockée ailleurs ? oui non Transfert vers la RAM Signale accès invalide à l’application fautive Nouvelle traduction communiquée à la MMU

Architecture x86 Petit Rappel MMU gère la segmentation et la pagination Adresse logique -> adresse linéaire par la segmentation Adresse linéaire -> adresse physique par la pagination de la MMU

Architecture x86 Adresse linéaire Adresse Linéaire : 0xa811800c : 42*4MO + 24*4KO +12 31 22 21 12 11 Index PDE Index PTE Offset 24 12 Page physique 42 PT PD Offset 12 0x84 0x123000 P=1 PTE n° 24 PDE n° 42 0x504000 P=1 cr3 0x40100

Architecture x86 Répertoire et table des pages Tableau de 4ko 1024 entrées (PDE & PTE) de 4 octets Structure identique : Bit 31-12 : adresse en RAM Bit 2 : 0 si accessible qu’en mode superviseur Bit 1 : 0 accessible en lecture seule Bit 0 : bit « P » indique si présent en mémoire.

Architecture x86 Mise en place de la pagination Configuration de toutes les tables de traduction d’adresses (PD et PT). Initialisation du registre cr3. Positionnement du Bit 31 du registre cr1 à 1.

Architecture x86 Identity Mapping Configuration particulière des tables de traduction d’adresses. Adresses physique = adresse linéaire Il faut ensuite modifier la pagination.

Architecture x86 Modification des tables de traduction d’adresses Simple en pratique mais attention au TLB Modification du cr3 Utilisation de l’instruction invlpg.

Simple OS Le mirroring Permet de rendre le répertoire de pages et les tables des pages accessibles PT 0 PT 1023 0x80000000 PT 1023 PT 511 = PD 0x7fdff000 PT 511 = PD PT 0 0x7fc00000

Simple OS Le mirroring On a fait PDE[idxMirror]=addrPD Pour modifier le contenu de ième tables des pages il faut accéder à la page d’adresse linéaire : idxMirror*4Mo + ième*4Ko Pour modifier les entrer du répertoire des pages il faut accéder à la page d’adresse linéaire: idxMirror*4Mo + idxMirror*4Ko

Simple OS Le fonctionnement : la mise en place de la pagination Mise en place de l’identity mapping Mise en place du Mirroring Activation de la pagination 0x3fc00000 0x40000000 0x100000 0x200000 0xa0000 0x0 BIOS & VIDEO Kernel (initial) Desc. Page physique MIRRORING (4MO)

Questions ?