IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Autres systèmes Discussion :

RAM fragmenté ?


Sujet :

Autres systèmes

  1. #1
    Membre chevronné
    Avatar de cpcdos
    Homme Profil pro
    Ingé/concepteur chez Capgemini. Alstom APTIS. Concepteur de Felly autonomous vehicle software.
    Inscrit en
    Mai 2010
    Messages
    588
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingé/concepteur chez Capgemini. Alstom APTIS. Concepteur de Felly autonomous vehicle software.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 588
    Points : 1 770
    Points
    1 770
    Billets dans le blog
    1
    Par défaut RAM fragmenté ?
    Bonjour,

    Ma question paraît bête, pas plus importante pour moi, je ne souhaite pas non plus de code, mais votre théorie

    Imaginons une mémoire RAM 256mo très très fragmenté de données avec des zones désalloués de 2, 3 mo de vraiment partout jusqu’à sa capacité. Pas de mémoire virtuel mais RAM seulement.
    Si je crée un objet qui prend bien 20mo de RAM, et que linéairement parlant il est impossible d'allouer une zone de mémoire de manière linéaire, es-il possible de défragmenter une mémoire ram afin d'obtenir une zone de mémoire libre où il sera possible d'allouer linéairement ?

    Si oui, imaginons qu'on est accès au ring 0, aux données sans protections etc. (toute la ram sauf cette routine), si on défragmente, toutes les références, pointeurs que les programmes utilisent seront modifiés, c'est possible de modifier toutes les références d'objets pour que les variables, objets, instances... repointent l'adresse physique de la ram? Un boulo colossale ?

    Cordialement

  2. #2
    Membre confirmé Avatar de Julien698
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2013
    Messages
    237
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2013
    Messages : 237
    Points : 473
    Points
    473
    Par défaut
    Bonjour,

    Voici un lien qui t'explique comment vérifier la mémoire, et comment prendre les parties non utilisées avec des projets .NET :

    http://stackoverflow.com/questions/1...-fragmentation

  3. #3
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 227
    Points : 28 231
    Points
    28 231
    Par défaut
    Citation Envoyé par cpcdos Voir le message
    es-il possible de défragmenter une mémoire ram afin d'obtenir une zone de mémoire libre où il sera possible d'allouer linéairement ?
    Tout dépend de l'os sur lequel tu fonctionne. Si tu utilise un os qui virtualise la mémoire, c'est le cas de Windows par exemple, oui tu peux défragmenter celle-ci.

    Citation Envoyé par cpcdos Voir le message
    Si oui, imaginons qu'on est accès au ring 0, aux données sans protections etc. (toute la ram sauf cette routine), si on défragmente, toutes les références, pointeurs que les programmes utilisent seront modifiés, c'est possible de modifier toutes les références d'objets pour que les variables, objets, instances... repointent l'adresse physique de la ram? Un boulo colossale ?
    Oui, mais c'est l'os qui s'occupe de ça et c'est un boulot colossal. Le principe est que les variables, etc, ne sont pas stockées à des adresses absolues, mais à des adresses relatives par rapport à un index. Et la mémoire est gérée par bloc contiguë. Si tu déplace un bloc, tu viens mettre à jour l'index qui va pointé vers le nouvel emplacement du bloc. Les variables, elles, ni verront que du feu, elles n'ont pas changées d'adresse par rapport à leur index de référence.

  4. #4
    Membre chevronné
    Avatar de cpcdos
    Homme Profil pro
    Ingé/concepteur chez Capgemini. Alstom APTIS. Concepteur de Felly autonomous vehicle software.
    Inscrit en
    Mai 2010
    Messages
    588
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingé/concepteur chez Capgemini. Alstom APTIS. Concepteur de Felly autonomous vehicle software.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 588
    Points : 1 770
    Points
    1 770
    Billets dans le blog
    1
    Par défaut
    Bonjour, merci à vous deux pour ces informations

  5. #5
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 422
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 422
    Points : 20 585
    Points
    20 585
    Par défaut
    Citation Envoyé par cpcdos Voir le message
    Si oui, imaginons qu'on est accès au ring 0, aux données sans protections etc. (toute la ram sauf cette routine), si on défragmente, toutes les références, pointeurs que les programmes utilisent seront modifiés, c'est possible de modifier toutes les références d'objets pour que les variables, objets, instances... repointent l'adresse physique de la ram? Un boulo colossale ?
    sauf erreur de ma part le ring 0 du micro-processeur n'est pas destiné à géré les adresses de la RAM mais plutôt pour les device drivers...faire des recherches sur Internet.
    Segundo quel est ton but ? Je ne vois pas où tu veux en venir et comme le mentionne parfaitement bien Sevyc c'est du ressort de l'OS de gérer la mémoire , il peut déplacer des blocs au besoin
    Citation Envoyé par cpcdos Voir le message
    Imaginons une mémoire RAM 256mo très très fragmenté de données avec des zones désalloués de 2, 3 mo de vraiment partout jusqu’à sa capacité. Pas de mémoire virtuel mais RAM seulement.
    Si je crée un objet qui prend bien 20mo de RAM, et que linéairement parlant il est impossible d'allouer une zone de mémoire de manière linéaire, es-il possible de défragmenter une mémoire ram afin d'obtenir une zone de mémoire libre où il sera possible d'allouer linéairement ?
    ehhh mémoire virtuelle ou RAM pour moi c'est la même chose....du temps de MS-dos on pouvait créer un disque virtuel en RAM.
    Ou alors si le système informatique ne dispose pas assez de RAM il sera contraint d'écrire des données et code d'échange dans un fichier de swap, swap file comme pagefile.sys sous Windows.
    Ensuite si tu veux désallouer des zones mémoires il faut que les processus lancés soient renseignés des nouvelles adressent de réallocation.
    Donc je suppose qu'il y a une sorte de table de vecteurs pour ça.
    Sous Windows essayer de se procurer le livre de Jeffrey Richter "inside Windows NT" qui décrit tous les mécanismes de gestion de la mémoire

Discussions similaires

  1. [.COM] Réserver de la RAM fct 48h int 21h
    Par bulerias dans le forum x86 16-bits
    Réponses: 5
    Dernier message: 06/12/2010, 15h33
  2. Connaitre la taille de la RAM
    Par dway dans le forum Assembleur
    Réponses: 23
    Dernier message: 15/09/2004, 11h05
  3. Accès à la RAM
    Par Sub0 dans le forum MFC
    Réponses: 14
    Dernier message: 20/02/2003, 11h12
  4. recuperer la frequence du proc , la taille de la RAM , ..
    Par Cthulhu 22 dans le forum C++Builder
    Réponses: 5
    Dernier message: 05/09/2002, 13h18
  5. Adresse des polices de caractères dans la RAM video ?
    Par Anonymous dans le forum x86 16-bits
    Réponses: 5
    Dernier message: 27/05/2002, 18h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo