Forum INFOMATH
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le deal à ne pas rater :
LEGO Icons 10331 – Le martin-pêcheur
35 €
Voir le deal

Pool mémoire

4 participants

Page 2 sur 2 Précédent  1, 2

Aller en bas

Pool mémoire - Page 2 Empty Pool mémoire

Message par Timon Jeu 20 Mar - 2:04

Rappel du premier message :

Bonjour,
Je vous propose un sujet sur lequel je me suis penché récemment et qui s'avère intéressant bien que simple.
Il s'agit de créer un pool mémoire. Qu'est-ce donc ?
C'est une large zone de mémoire qu'on alloue dans laquelle on va procéder nous-même aux allocations pour un type de donnée précis.
Il faut donc d'abord avoir un type de donnée que l'on va avoir à allouer plusieurs fois. Exemple :
Code:
typedef
struct
{
  int valeur;
}
Donnee;
Que faire précisément ?
- Allouer un gros bloc de mémoire
- Le préparer pour qu'il soit prêt à accueillir plusieurs objets de type 'Donnee'
- Construire une fonction qui y "alloue" un objet de type 'Donnee' et qui renvoie son adresse ou NULL s'il n'y a plus de place dans le pool
- Construire une fonction qui "libère" un objet
- Enfin, construire une fonction qui libère le bloc de mémoire
Bien entendu, on peut produire quelques variantes mais c'est l'idée générale.

Maintenant, à votre avis, en quoi est-ce utile ?

Timon
Entier Naturel
Entier Naturel

Masculin
Nombre de messages : 61
Localisation : France
Réputation : 0
Points : 6162
Date d'inscription : 14/01/2008

Feuille de personnage
Capacité linguistique:
Pool mémoire - Page 2 Left_bar_bleue1000/1000Pool mémoire - Page 2 Empty_bar_bleue  (1000/1000)

http://tm.timon.free.fr

Revenir en haut Aller en bas


Pool mémoire - Page 2 Empty Re: Pool mémoire

Message par Timon Jeu 27 Mar - 19:56

Prenons une forme simple du pool.
C'est un simple tableau d'objets Donnee. Il est déjà désigné en tant que tel.
On va "distribuer" ses éléments au fur et à mesure sans jamais en donner plus d'un à la fois.
C'est pour quoi il n'y a pas de risque de fragmentation : le nombre d'éléments qu'on peut allouer en tout dans le pool à tout instant reste le même et les "allocations" ne peuvent pas se faire n'importe où.

Timon
Entier Naturel
Entier Naturel

Masculin
Nombre de messages : 61
Localisation : France
Réputation : 0
Points : 6162
Date d'inscription : 14/01/2008

Feuille de personnage
Capacité linguistique:
Pool mémoire - Page 2 Left_bar_bleue1000/1000Pool mémoire - Page 2 Empty_bar_bleue  (1000/1000)

http://tm.timon.free.fr

Revenir en haut Aller en bas

Pool mémoire - Page 2 Empty Re: Pool mémoire

Message par Timon Dim 30 Mar - 14:06

A vrai dire, je ne vois pas ce qui ne vous paraît pas clair. Neutral

Timon
Entier Naturel
Entier Naturel

Masculin
Nombre de messages : 61
Localisation : France
Réputation : 0
Points : 6162
Date d'inscription : 14/01/2008

Feuille de personnage
Capacité linguistique:
Pool mémoire - Page 2 Left_bar_bleue1000/1000Pool mémoire - Page 2 Empty_bar_bleue  (1000/1000)

http://tm.timon.free.fr

Revenir en haut Aller en bas

Pool mémoire - Page 2 Empty Re: Pool mémoire

Message par Napoléon Dim 30 Mar - 22:07

Je pense qu'il faut présenter l'information autrement... hélas j'ai pas le temps. Sinon, j'aurais fait plus d'effort pour reformuler l'énoncé sans paraphraser le texte biensûr.
Napoléon
Napoléon
Admin
Admin

Masculin
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7872
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
Pool mémoire - Page 2 Left_bar_bleue999/1000Pool mémoire - Page 2 Empty_bar_bleue  (999/1000)

https://infomath.1fr1.net

Revenir en haut Aller en bas

Pool mémoire - Page 2 Empty Re: Pool mémoire

Message par manianis Lun 31 Mar - 0:32

Wikipedia a écrit:Memory pools allow dynamic memory allocation comparable to malloc or C++'s operator new. As those implementations suffer from fragmentation because of variable block sizes, it can be impossible to use them in a real time system due to performance. A more efficient solution is preallocating a number of memory blocks with the same size called the memory pool.

Pourtant c'est clair.

manianis
Nombre Réel
Nombre Réel

Masculin
Nombre de messages : 975
Localisation : Tunisie
Réputation : 4
Points : 6255
Date d'inscription : 11/10/2007

Feuille de personnage
Capacité linguistique:
Pool mémoire - Page 2 Left_bar_bleue999/1000Pool mémoire - Page 2 Empty_bar_bleue  (999/1000)

http://manianis.sitesled.com/

Revenir en haut Aller en bas

Pool mémoire - Page 2 Empty Re: Pool mémoire

Message par Napoléon Lun 31 Mar - 10:20

C'est du texte concentré qui présente des idées très importante. Ca ne peut pas être décrit en quelques mots. Si j'aurais l'occasion de présenter ça un ensemble de personnes (des étudiants par exemple) j'aurai procédé autrement.
Napoléon
Napoléon
Admin
Admin

Masculin
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7872
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
Pool mémoire - Page 2 Left_bar_bleue999/1000Pool mémoire - Page 2 Empty_bar_bleue  (999/1000)

https://infomath.1fr1.net

Revenir en haut Aller en bas

Pool mémoire - Page 2 Empty Re: Pool mémoire

Message par manianis Mar 1 Avr - 13:42

nabiL a écrit:C'est du texte concentré qui présente des idées très importante. Ca ne peut pas être décrit en quelques mots. Si j'aurais l'occasion de présenter ça un ensemble de personnes (des étudiants par exemple) j'aurai procédé autrement.

Vous avez raison c'est un texte encyclopédique mais çà indique du moins l'utilité des pools tout en expliquant les inconvénients de leurs soeurs malloc et new.

manianis
Nombre Réel
Nombre Réel

Masculin
Nombre de messages : 975
Localisation : Tunisie
Réputation : 4
Points : 6255
Date d'inscription : 11/10/2007

Feuille de personnage
Capacité linguistique:
Pool mémoire - Page 2 Left_bar_bleue999/1000Pool mémoire - Page 2 Empty_bar_bleue  (999/1000)

http://manianis.sitesled.com/

Revenir en haut Aller en bas

Pool mémoire - Page 2 Empty Re: Pool mémoire

Message par Timon Mar 1 Avr - 13:47

nabiL a écrit:Si j'aurais l'occasion de présenter ça un ensemble de personnes (des étudiants par exemple) j'aurai procédé autrement.
C'est un fait, si j'avais voulu écrire un article sur ce sujet, je n'aurais pas non plus pris cette approche mais, à l'origine, je voulais en faire un exercice... Smile

Timon
Entier Naturel
Entier Naturel

Masculin
Nombre de messages : 61
Localisation : France
Réputation : 0
Points : 6162
Date d'inscription : 14/01/2008

Feuille de personnage
Capacité linguistique:
Pool mémoire - Page 2 Left_bar_bleue1000/1000Pool mémoire - Page 2 Empty_bar_bleue  (1000/1000)

http://tm.timon.free.fr

Revenir en haut Aller en bas

Pool mémoire - Page 2 Empty Re: Pool mémoire

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 2 sur 2 Précédent  1, 2

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum