Linux Assemblycollection of fast libraries

Inter Process Communication (IPC) system calls

Allowing processes to exchange information and notify each other of events is one of an operating system’s most important jobs. The Linux kernel implements most of the historic Unix IPC mechanisms - including those defined and standardized by both System V and POSIX - as well as implementing a mechanism or two of its own. IPC mechanisms supported by Linux include pipes, named pipes, semaphores, message queues, shared memory, and futexes.


Tip: For detailed information about each system call please read: Linux man pages


PIPE22Create pipe
PIPE2293Create pipe
TEE276Duplicate pipe content
SPLICE275Splice data to/from a pipe
VMSPLICE278Splice user pages into a pipe

Shared memory

SHMGET29Allocates a System V shared memory segment
SHMCTL31System V shared memory control
SHMAT30Attach the System V shared memory segment to the address space of the calling process
SHMDT67Dettach the System V shared memory segment to the address space of the calling process


SEMGET64Get a System V semaphore set identifier
SEMCTL66System V semaphore control operations
SEMOP65System V semaphore operations
SEMTIMEDOP220System V semaphore operations


FUTEX202Fast user-space locking
SET_ROBUST_LIST273Set list of robust futexes
GET_ROBUST_LIST274Get list of robust futexes

Message queues

System V message queue

MSGGET68Get a System V message queue identifier
MSGCTL71System V message control operations
MSGSND69Send message to a System V message queue
MSGRCV70Receive messages from a System V message queue

POSIX message queue

MQ_OPEN240Open POSIX message queue
MQ_UNLINK241Remove a message queue
MQ_GETSETATTR245Get/set message queue attributes
MQ_TIMEDSEND242Send a message to a message queue
MQ_TIMEDRECEIVE243Receive a message from a message queue
MQ_NOTIFY244Register for notification when a message is available
Copyright 2012-2018 Jack Black. All rights reserved.