Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
813 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Allouer de gros blocs avec malloc

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Allouer de gros blocs avec malloc

n°1887964
ngkreator
Posté le 26-05-2009 à 12:03:05  profilanswer
 

Est-ce qu'il existe une méthode quelconque adopté par tout le monde pour allouer un gros bloc de mémoire (ordre du Go par ex) avec malloc.  
 
Concrètement est-ce qu'il est commun de faire simplement ça:

Code :
  1. char* bloc = malloc(1024*1024*1024);


 
J'ai du mal à croire que l'OS puisse allouer un bloc de 1 Go consécutif et pourtant ça marche. A moins que ça ne soit pas vraiment consécutif, c'est peut être juste le gestionnaire de mémoire de l'OS qui facilite les choses et qui gère des blocs dispersés sur la vraie mémoire.
 
Ma question est simple: quelle méthode pour allouer de gros bloc, un simple malloc?
 
Merci pour votre aide.


Message édité par ngkreator le 26-05-2009 à 12:03:55
mood
Publicité
Posté le 26-05-2009 à 12:03:05  profilanswer
 

n°1887968
theshockwa​ve
I work at a firm named Koslow
Posté le 26-05-2009 à 12:09:07  profilanswer
 

ton processus travaille sur de la mémoire virtuelle. Potentiellement (et même probablement), la mémoire que tu as allouée n'est pas contigüe dans ta machine.
Il y a un MMU dans les processeurs pour permettre de gérer ca :)
 
sinon, un bloc que tu considères gros aujourd'hui est aussi un bloc que tu trouveras raisonnable demain et petit après demain.


---------------
last.fm
n°1887972
Taz
bisounours-codeur
Posté le 26-05-2009 à 12:14:52  profilanswer
 

1G d'un coup, tu ne vois pas ça sur ton PC de jeu, maintenant sur une station de travail avec 16G de RAM, en usage scientifique par exemple, c'est très commun.
 
Et la mémoire virtuelle est là pour faire une allocation paresseuse, si bien que tu peux même demander plusieurs To alors que tu n'en utilises qu'une fraction.
 
C'est ce qui passe d'ailleurs quand tu fais une projection de fichier (mmap).

n°1888026
ngkreator
Posté le 26-05-2009 à 14:10:26  profilanswer
 

Ok donc j'ai pas à me soucier de tout ça alors, Windows le fera pour moi. Quel magnifique OS.


Message édité par ngkreator le 26-05-2009 à 14:10:57
n°1888148
Joel F
Real men use unique_ptr
Posté le 26-05-2009 à 18:46:30  profilanswer
 

c'ets pas l'OS c'ets la MMU du proc ... et linux marche pareil hein :E


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Allouer de gros blocs avec malloc

 

Sujets relatifs
Problème d'allocation mémoire sur gros vecteurSOS gros débutant
Problème de (gros...) debutantWebFTP pour gros fichiers
Malloc qui recouvre un espace alloué à la compilation ?[Résolu] Fonction retournant un tableau allouer dynamiquement
[C - Gros débutant] Probleme de variable ...programmation de GnomeCallerID gtk et c (gros probleme !)
Gros problème de sessioncherche programmeur (progiciel gestion gros oeuvre) benevole
Plus de sujets relatifs à : Allouer de gros blocs avec malloc


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR