Skip to content

Exercice 3 semaine 12 - clarification? #117

@qdeconinck

Description

@qdeconinck

Dans l'exercice suivant:

Lorsque l'on utilise l'appel système shmat(2)_ avec NULL comme deuxième argument, le système d'exploitation choisit l'adresse à laquelle le segment de mémoire va être attaché. Cela pose des difficultés si l'on veut stocker des pointeurs en mémoire partagée. Un étudiant propose de d'abord allouer la zone mémoire avec malloc(3)_ et d'ensuite attacher le segment de mémoire à cet endroit. Il a réalisé un test avec un processus père et son fils et les deux segments de mémoire partagée se retrouvent à la même adresse. Il en conclut que cela permet de résoudre le problème. Qu'en pensez-vous ?

La partie suivante n'est pas claire:

Un étudiant propose de d'abord allouer la zone mémoire avec malloc(3)_ et d'ensuite attacher le segment de mémoire à cet endroit.

Quel problème veut-on illustrer? La plupart des étudiants de mon TP avaient compris que la zone mémoire partagée allait shadow la zone mémoire réservée par le malloc(3)_. Ne voulait-on pas plutôt partager le pointeur retourné par malloc(3)_ dans la zone mémoire partagée pour discuter des problèmes avec les adresses virtuelles entre les processus? Dans ce cas-ci, je propose de modifier après la précédente phrase avec un texte du genre

..la zone mémoire avec malloc(3)_ et d'ensuite attacher le segment de mémoire. Il écrit ensuite l'adresse retournée par malloc(3)_ dans la zone de mémoire partagée attachée.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions