2. Chorus supports both semaphores and mutexes. Is this strictly necessary? Would it not be sufficient to support only semaphores?
3. What is the function of a mapper? 9. Briefly describe what and MpPushOut are used for.
4. Chorus supports both RPC and an asynchronous send. What is the essential difference between these two?