Les Huge pages ou comment améliorer les performances de votre système

Magazine
Marque
GNU/Linux Magazine
Numéro
128
Mois de parution
juin 2010


Résumé
Le Kernel Corner propose ce mois-ci un périple autour du mécanisme de pagination, mécanisme qui autorise la mise en oeuvre d'une mémoire virtuelle par notre système d'exploitation. Cette brève se penche plus particulièrement sur une spécificité de ce mécanisme : les Huge pages. Après quelques rappels techniques, nous exposons les bénéfices qui peuvent découler de l'utilisation de telles pages. Nous présentons différents moyens pour les employer et introduisons enfin les travaux en cours dans ce domaine dont devrait profiter prochainement Linux. Bien que les huge pages ne soient pas l'apanage d'une architecture en particulier, nous articulons notre discours sur la plateforme x86.

L'architecture x86 propose deux mécanismes évolués pour adresser les données en mémoire : la segmentation et la pagination (toutes deux constituent la MMU – Memory Management Unit). Alors que la segmentation est obligatoire, la pagination reste optionnelle. Contrairement à l'unité de segmentation, celle de pagination est présente sur la plupart des types d'architectures. Comme Linux est un noyau multi-plateforme, l'unité de segmentation est seulement utilisée dans son mode basique (le mode flat – un seul segment de mémoire est utilisé, cf. Kernel Corner du GLMF 112). Ceci permet de se passer facilement de cette unité pour n'utiliser que le seul mécanisme de pagination. Le sujet de cette brève est directement lié au mécanisme de pagination, c'est pourquoi nous commençons par le présenter. Les bénéfices liés à l'utilisation des Huge pages sont alors expliqués et différentes façons pour les employer sont données. Enfin nous abordons le futur des Huge...

Cet article est réservé aux abonnés. Il vous reste 96% à découvrir.
S'abonner à Connect
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez chaque semaine un nouvel article premium
  • Consultez les nouveaux articles en avant-première
Je m'abonne


Article rédigé par

Par le(s) même(s) auteur(s)

Fuddly : introduction de l’outil et développement d’un protocole

Magazine
Marque
MISC
Numéro
103
Mois de parution
mai 2019
Spécialité(s)
Résumé

Cet article présente Fuddly, un framework de fuzzing et de manipulation de données, écrit en python sous GPLv3, qui fournit de nombreuses briques que l’on retrouve dans d’autres framework de fuzzing, mais qui se différencie par la flexibilité de représentation des données et la diversité des altérations qu’il rend possible.

L'Infrastructure Linux Gadget USB

Magazine
Marque
Open Silicium
Numéro
14
Mois de parution
mars 2015
Spécialité(s)
Résumé

L'infrastructure Gadget USB du noyau Linux facilite la création de périphériques USB, en proposant un cadre et un certain nombre de primitives qui permettent d'une part d'abstraire les contrôleurs matériels de périphériques USB, et d'autre part d'en utiliser les ressources et fonctionnalités afin de créer n'importe quelle fonction USB désirée : qu'elle réponde aux standards (tels que « Mass Storage », « CDC Eth »…), qu'elle soit l'incarnation de vos besoins particuliers, ou bien encore qu'elle soit une combinaison des deux.

Les derniers articles Premiums

Les derniers articles Premium

Game & Watch : utilisons judicieusement la mémoire

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Au terme de l'article précédent [1] concernant la transformation de la console Nintendo Game & Watch en plateforme de développement, nous nous sommes heurtés à un problème : les 128 Ko de flash intégrés au microcontrôleur STM32 sont une ressource précieuse, car en quantité réduite. Mais heureusement pour nous, le STM32H7B0 dispose d'une mémoire vive de taille conséquente (~ 1,2 Mo) et se trouve être connecté à une flash externe QSPI offrant autant d'espace. Pour pouvoir développer des codes plus étoffés, nous devons apprendre à utiliser ces deux ressources.

Raspberry Pi Pico : PIO, DMA et mémoire flash

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Le microcontrôleur RP2040 équipant la Pico est une petite merveille et malgré l'absence de connectivité wifi ou Bluetooth, l'étendue des fonctionnalités intégrées reste très impressionnante. Nous avons abordé le sujet du sous-système PIO dans un précédent article [1], mais celui-ci n'était qu'une découverte de la fonctionnalité. Il est temps à présent de pousser plus loin nos expérimentations en mêlant plusieurs ressources à notre disposition : PIO, DMA et accès à la flash QSPI.

Programmation des PIO de la Raspberry Pi Pico

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

La carte Pico de Raspberry Pi est appréciable à bien des égards. Ses ressources, son prix, ses deux cœurs ARM... Mais ce morceau de silicium qu'est le RP2040 renferme une fonctionnalité unique : des blocs PIO permettant de créer librement des périphériques supplémentaires qu'il s'agisse d'éléments standardisés comme SPI, UART ou i2c, ou des choses totalement exotiques et très spécifiques à un projet ou un environnement donné. Voyons ensemble comment prendre en main cette ressource et explorer le monde fantastique des huit machines à états de la Pico !

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous