Cogent SRR Module
Synchronous message passing for Linux
The SRR Module is an open-source project maintained by Cogent, and distributed under the a GNU
General Public License (GPL). It provides synchronous message passing, asynchronous event notification
(proxies), and user-space interrupt handling for the Linux operating system. Synchronous message
passing is a fast, flexible, and robust IPC mechanism, particularly useful for building systems
composed of multiple co-operating processes.
The implementation of the SRR Module was inspired by the QNX® operating system. It allows one process
or thread to send a message to another process or thread. The first process waits until the second
process replies. This message-passing capability between processes has been used for over a decade
as a reliable way to create flexible, modular program architectures.
Other functions in addition to the basic send-receive-reply mechanism include proxies
(queued asynchronous events), timed delivery of proxies and signals, triggering of proxies between
tasks, and user-space interrupt handling. The addition of thread support allows proxies and synchronous
messages to be used as inter-thread synchronization and communication facilities. Proxies can also be
used to solve several common race conditions associated with signals. The SRR Module includes an API
library written in C and a QNX 4 compatibility layer.
The SRR Module is very stable and extremely fast, at approximately 80% of QNX 4's performance on the
same hardware.
Catalogue Entry
|