Since the operating system is message-based, messages are among the most important of the resources available to the user. Unlike many popular real-time kernels, no semaphores or event flags are provided. All synchronization is provided via sending and receiving messages. This has deliberately been made very efficient, and the lack of other synchronization primitives should not be a problem. In fact, there are advantages to using only this mechanism. The operating system code is smaller and less intrusive on game space than it would be if it had to provide multiple facilities for thread synchronization. Also, since it is often the case that information must be transferred when threads synchronize, we get more usage out of a single operation.
Of course, messages are also useful in transferring information from one thread to another. In this operating system, they are also used to transfer information when a system event occurs.