Io userei le pipe o le socket di tipo AF_UNIX (named pipe) o normali socket TCP o UDP.
Per scegliere terrei conto di alcuni fattori:
- se voglio poi portare il tutto sotto Windows eviterei del tutto le pipe
- vedrei se necessito di comunicazioni uni o bidirezionale, se è uni userei l'UDP (ma terrei conto delle eventuali perdite di pacchetti)
- valuterei la possibilità di scambiare i dati del GPS anche a macchine remote e quindi userei TCP o UDP