The kernel uses several data structures to describe the current status of all registered semaphores and to build a kind of network. They are responsible not only for managing the semaphores and their
9 For the sake of simplicity, we do not query for errors in our sample program.
characteristics (value, read, and write permissions, etc.), but also for associating semaphores with waiting processes by means of a waiting list.
Starting with kernel 2.6.19, the IPC mechanism is aware of namespaces (see Chapter 2 for more information about this concept). Managing IPC namespaces is, however, simple because they are not hierarchically related. A given task belongs to the namespace pointed at by task_struct->nsproxy->ipc_ns, and the initial default namespace is implemented by the static ipc_namespace instance init_ipc_ns. Each namespace carries essentially the following information:
Continue reading here: Info
Was this article helpful?