SysV semaphores
E701316
SysV semaphores are a classic UNIX System V inter-process communication mechanism that provides counting semaphores for synchronizing access to shared resources among multiple processes.
Statements (48)
| Predicate | Object |
|---|---|
| instanceOf |
UNIX System V IPC primitive
ⓘ
counting semaphore mechanism ⓘ inter-process communication mechanism ⓘ |
| advantage | support for sets of semaphores under one identifier ⓘ |
| availableOn |
BSD-derived systems with System V IPC support
ⓘ
Linux NERFINISHED ⓘ UNIX System V NERFINISHED ⓘ |
| canBe | persistent until explicitly removed ⓘ |
| configuredVia | kernel parameters ⓘ |
| contrastedWith |
POSIX named semaphores
ⓘ
POSIX unnamed semaphores ⓘ |
| controlledBy | kernel ⓘ |
| definedIn |
<sys/sem.h>
ⓘ
POSIX.1 System Interfaces (XSI) extension NERFINISHED ⓘ |
| disadvantage |
complex API
ⓘ
system-wide kernel-managed resources ⓘ |
| doesNotSupport | network-transparent synchronization ⓘ |
| hasLimit |
maximum number of semaphore operations per semop call
ⓘ
maximum number of semaphore sets ⓘ maximum number of semaphores per set ⓘ |
| hasMetadata |
creation time
ⓘ
last operation time ⓘ ownership information ⓘ permission bits ⓘ |
| identifiedBy |
IPC key
ⓘ
semaphore set identifier ⓘ |
| introducedIn | UNIX System V NERFINISHED ⓘ |
| modeledAs | array of semaphore values ⓘ |
| operatedBy |
semctl
ⓘ
semget ⓘ semop ⓘ |
| relatedTo |
System V message queues
NERFINISHED
ⓘ
System V shared memory NERFINISHED ⓘ |
| removedBy | semctl IPC_RMID ⓘ |
| supports |
counting semaphores
ⓘ
semaphore sets ⓘ |
| supportsOperation |
P operation (decrement / wait)
ⓘ
V operation (increment / signal) ⓘ atomic semaphore operations ⓘ blocking wait ⓘ non-blocking wait ⓘ undo on process exit (SEM_UNDO) ⓘ |
| synchronizes | multiple processes on the same host ⓘ |
| usedFor |
controlling concurrent access to critical sections
ⓘ
inter-process synchronization ⓘ synchronizing access to shared resources ⓘ |
| usedIn |
legacy UNIX applications
ⓘ
multi-process server software ⓘ |
Referenced by (1)
Full triples — surface form annotated when it differs from this entity's canonical label.