Obtention d’une clef unique : KEY

 

 

 

Le problème pour faire communiquer différents processus entre eux, c'est qu'ils ont besoin d'avoir une information commune qui va leur permettre de s'identifier et de se mettre en relation (De la même façon que pour appeler quelqu'un, il faut connaître son numéro de téléphone). Ainsi, si vous voulez partager de la mémoire entre deux processus, il faut que ces processus sachent où trouver cette mémoire partager. Pour résoudre ce problème, ces deux processus pourront utiliser comme information d'identification une clef unique à partir de laquelle la communication pourra se faire.

L'obtention de cette clef unique se fera de la façon suivante:

On obtient une clef unique d’identification à partir d’un chemin d'accès et d'un numéro de projet, grâce à la fonction suivante:

#include <sys/types.h>
#include <sys/ipc.h>
key_t ftok (char *chemin, char proj);

Celle-ci combine le numéro d'i-node du chemin précisé avec le numéro de projet, afin d'obtenir une clef unique de 32 bits cohérente pour plusieurs applicatifs clients/serveurs.