je ne connais pas vxWorks,
Mais habituellement, les variables globales sont utiles pour la communication entre threads, puisqu'ils partagent le segment data.
Les ipc sys V (semaphores, files de messages, memoire partagée) permettent de communiquer par d'autres moyens puisque les processus sont enfermés dans leurs espaces d'adressage. Alors etre contraint de mettre en global un IPC, ça me parait bizarre bizarre ...
Il y a peut-etre une spécificité de vxWorks que j'ignore ...