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

Solaris Discussion :

Qu'est-ce que c'est que la mémoire kernel ? (ou virtuelle)


Sujet :

Solaris

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    ingénieur calcul
    Inscrit en
    Décembre 2007
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur calcul
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 363
    Par défaut Qu'est-ce que c'est que la mémoire kernel ? (ou virtuelle)
    Bonjour,
    ma question concerne une machine sun fire 68000 sous sunOS 5.8; je voudrais savoir comment faire pour convertir une adresse kernel virtuelle qui vaut ADDR en une adresse physique que je note addr.
    S'il est possible par la même de me faire savoir qu'est ce qu'on appelle comme ça, ça m'intéresse; moi je ne connais comme mémoire "virtuelle" que celle qui est en fait sur disque, dans un fichier de pagination ou de swap, mais je ne vois pas ce que le qualificatif "kernel" vient faire par ici.
    Merci de m'éclairer,
    David

  2. #2
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Par défaut
    Peux-tu préciser comment tu obtient ADDR ?

    La mémoire virtuelle n'est pas l'espace de pagination ou swap, c'est un abus de langage propagé par un éditeur de logiciel dont je tairais le nom.

    La mémoire virtuelle est l'espace mémoire adressable par un processus. Sa taille est de 4 Go en 32 bits et de bien plus en 64 bits. Elle peut correspondre à de la mémoire physique, à de la mémoire cache ou à rien du tout quand elle n'est pas allouée ou quand elle est allouée sous d'autres OS que Solaris qui aiment prendre des risques.
    C'est le noyau (kernel) qui a pour charge de gérer la mémoire virtuelle.

  3. #3
    Membre éclairé
    Homme Profil pro
    ingénieur calcul
    Inscrit en
    Décembre 2007
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur calcul
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 363
    Par défaut
    Bonjour, je suis bien content que quelqu'un se penche sur mon problème, parce que ça me coince complètement; j'obtiens ADDR de la façon suivante :
    $ ps -o user,pid,addr,args -p $$
    et ça me donne :
    USER PID ADDR CMD
    moi 1234 30029089570 /bin/ksh
    Il est bien évident que l'adresse varie légèrement d'une fois sur l'autre, mais elle reste toujours de l'ordre de 30 Gigas comme ici, ce qui est je crois supérieur à la quantité réelle de mémoire physique. Alors tant que j'y suis dans les questions, sais tu me dire comment faire pour convertir cette adresse virtuelle en adresse physique. (un bon vieux N° de case mémoire qui rapellerait le temps où il n'y en avait que 16K)(j'ai pas connu moins)
    Merci encore,
    David

  4. #4
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Par défaut
    Pourquoi veux-tu convertir cette adresse virtuelle en adresse physique ?

    Ca n'a pas beaucoup d'intérêt. Les différentes pages mémoire de ton programme peuvent être placées n'importe où dans la RAM, elles ne sont pas forcément contigües et ne sont même pas forcément en RAM du tout.
    Leur emplacement peut varier durant la durée de vie du programme.

  5. #5
    Membre éclairé
    Homme Profil pro
    ingénieur calcul
    Inscrit en
    Décembre 2007
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur calcul
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 363
    Par défaut
    Ouhlàlà en effet, c'est presque malsain, enfin, ça va être délicat en tous cas. (je viens de te reposer presque une question qui porte sur à peu près la même chose dans un autre fil de discussion)
    Je voudrais convertir cette adresse virtuelle en adresse physique pour pouvoir aller lire ce que contient la structure proc qui s'y tient, pour la raison hilarante que j'ai dévoilée ici : http://www.developpez.net/forums/d65...e/#post3865014 , je ne sais pas si ça t'aura beaucoup fait rire, mais moi ça me fait apprendre plein de choses.
    Bonne soirée,
    David

  6. #6
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Par défaut
    Sans vouloir te vexer, je crains que tes ambitions ne soient trop élevées par rapport à la connaissance et la compréhension que tu sembles avoir du noyau Unix.

    Pourquoi n'essaie-tu pas quelque chose de plus simple ?

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/08/2012, 14h30
  2. Réponses: 36
    Dernier message: 19/12/2008, 19h17
  3. Réponses: 16
    Dernier message: 06/04/2007, 13h36
  4. Qu'est ce que c'est : Le GateA20 ?
    Par le mage tophinus dans le forum x86 16-bits
    Réponses: 5
    Dernier message: 24/02/2003, 15h09
  5. Qu'est-ce que c'est que Nessus, ça fait quoi exactement ?
    Par PeterT dans le forum Développement
    Réponses: 3
    Dernier message: 24/07/2002, 11h23

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