Source: http://eavr.u-strasbg.fr/~christophe/cours/fip2/sujet_tp_comm_shmem.pdf