This chapter describes the ACE wrapper facades that encapsulate OS multiprocessing mechanisms with portable C++ classes. It illustrates the wide variation in multiprocessing facilities among popular operating systems and the techniques ACE uses to abstract portable concepts into useful classes. Finally, it shows how to apply these classes in a multiprocess version of our networked logging service.
OS support for multiprocessing is important for networked applications because it helps to
• Enable concurrency by allowing the OS to schedule and run separate processes on different CPUs
• Increase robustness by using MMU hardware to protect separate process address spaces from ...