SystemesInformatiques icon indicating copy to clipboard operation
SystemesInformatiques copied to clipboard

Exercice 3 semaine 12 - clarification?

Open qdeconinck opened this issue 7 years ago • 0 comments

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.

qdeconinck avatar May 11 '17 08:05 qdeconinck