shared memory linux implementation